>>
COMP9315 Course Welcome
• Lecturer
• Services
• Course Goals
• Pre-requisites
• Learning/Teaching
• Rough Schedule
• Textbooks
• Prac Work
• Assignments
• Quizzes
• Exam
• Assessment Summary
• Forum Etiquette
• General Etiquette
• Course Outline
COMP9315 21T1 ♢ Course Welcome ♢ [0/19]
∧ >>
COMP9315 21T1
DBMS Implementation
( Data structures and algorithms inside relational DBMSs )

Lecturer: John Shepherd
Web Site: http://www.cse.unsw.edu.au/~cs9315/
(If WebCMS unavailable, use http://www.cse.unsw.edu.au/~cs9315/21T1/)
COMP9315 21T1 ♢ Course Welcome ♢ [1/19]
<< ∧ >>
❖ Lecturer
Name:
John Shepherd
Office:
K17-410 (turn right from lift)
Email:
cs9315@cse.unsw.edu.au
Online:
Tuesday 2-4, Thursday 2-4
Research:
Information Extraction/Integration
Information Retrieval/Web Search
e-Learning Technologies
Multimedia Databases
Query Processing
COMP9315 21T1 ♢ Course Welcome ♢ [2/19]
<< ∧ >>
❖ Services
Email cs9315@cse.unsw.edu.au
• Technical issues (e.g. problems compiling PostgreSQL)
• Detailed assignment questions (shared-screen debugging)
Special consideration:
• https://student.unsw.edu.au/special-consideration
Educational Adjustments:
• https://student.unsw.edu.au/els
COMP9315 21T1 ♢ Course Welcome ♢ [3/19]
<< ∧ >>
❖ Course Goals
Introduce you to:
• architecture of relational DBMSs (e.g. PostgreSQL)
• algorithms/data-structures for data-intensive computing
• representation of relational database objects
• representation of relational operators (sel,proj,join)
• techniques for processing SQL queries
• techniques for managing concurrent transactions
• concepts in distributed and non-relational databases
Develop skills in:
• analysing the performance of data-intensive algorithms
• the use of C to implement data-intensive algorithms
COMP9315 21T1 ♢ Course Welcome ♢ [4/19]
<< ∧ >>
❖ Pre-requisites
We assume that you are already familiar with
• the C language and programming in C
(e.g. completed ≥ 1 programming course in C)
• developing applications on RDBMSs
(SQL, [relational algebra] e.g. an intro DB course)
• basic ideas about file organisation and file manipulation
(Unix open, close, lseek, read, write, flock)
• sorting algorithms, data structures for searching
(sorting, trees, hashing e.g. a data structures course)
If you don’t know this material very well, don’t take this course
PostgreSQL, Assignments and Exam all involve C programming.
COMP9315 21T1 ♢ Course Welcome ♢ [5/19]
<< ∧ >>
❖ Learning/Teaching
What’s available for you:
• Textbooks: describe some syllabus topics in detail
• Course Notes: describe syllabus topics in some detail
• Content videos: short videos covering one topic (4-5 / week)
• Slides: from Content Videos
• Readings: research papers on selected topics
• Online: live Q&A and problem-solving sessions (like a tute)
The onus is on you to make use of this material.
Online sessions are on Bb Collaborate (via Moodle), Tue 2-4, Thu 2-4
COMP9315 21T1 ♢ Course Welcome ♢ [6/19]
<< ∧ >>
❖ Learning/Teaching (cont)
Things that you need to do:
• Exercises: tutorial-like questions
• Prac work: lab-class-like exercises
• Assignments: large/important practical exercises
• On-line quizzes: for self-assessment
Dependencies:
• Exercises → Exam (theory part)
• Prac work → Assignments → Exam (prac part)
There are no tute/lab classes; use Forum, Email, Consults
• debugging is best done in person (can see full context)
COMP9315 21T1 ♢ Course Welcome ♢ [7/19]
<< ∧ >>
❖ Rough Schedule
Week 01
relational algebra, catalogs
Week 02
storage: disks, buffers, pages, tuples
Week 03
RA ops: scan, sort, projection
Week 04
selection: heaps, hashing, indexes
Week 05
selection: N-d matching, similarity
Week 06
no new content, no online sessions
Week 07
joins: naive, sort-merge, hash join
Week 08
query processing, optimisation
Week 09
transactions: concurrency, recovery
Week 10
database trends (guest lecture)
COMP9315 21T1 ♢ Course Welcome ♢ [8/19]
<< ∧ >>
❖ Textbooks
No official text book; several are suitable …

• Silberschatz, Korth, Sudarshan
”Database System Concepts”
• Elmasri, Navathe
”Database Systems: Models, languages, design …”
• Kifer, Bernstein, Lewis
”Database Systems: An algorithmic-oriented approach”
• Garcia-Molina, Ullman, Widom
”Database Systems: The Complete Book”
but not all cover all topics in detail
COMP9315 21T1 ♢ Course Welcome ♢ [9/19]
<< ∧ >>
❖ Prac Work
In this course, we use PostgreSQL v12 (compulsory)
Prac Work requires you to compile PostgreSQL from source code
• instructions explain how to do this on Linux at CSE
• also works easily on Linux and MacOS at home
• PostgreSQL docs describe how to compile for Windows
Make sure you do the first Prac Exercise when it becomes available.
Sort out any problems ASAP (preferably at a consultation).
COMP9315 21T1 ♢ Course Welcome ♢ [10/19]
<< ∧ >>
❖ Prac Work (cont)
PostgreSQL is a large software system:
• > 2000 source code files in the core engine/clients
• > 1,500,000 lines of C code in the core
You won’t be required to understand all of it 🙂
You will need to learn to navigate this code effectively.
Will discuss relevant parts in lectures to help with this.
PostgreSQL books?
• tend to add little to the manual, and cost a lot
COMP9315 21T1 ♢ Course Welcome ♢ [11/19]
<< ∧ >>
❖ Assignments
Schedule of assignment work:
Ass
Description
Due
Marks
1
Storage Management
Week 5
15%
2
Query Processing
Week 9
20%
Assignments will be done individually
Assignments will require up-front code-reading (see Pracs).
Test cases available before submsission (extra tests after submission)
Ultimately, submission is via CSE’s give system.
Late penalties apply; plagiarism checking will be used
COMP9315 21T1 ♢ Course Welcome ♢ [12/19]
<< ∧ >>
❖ Quizzes
Over the course of the semester …
• five online quizzes
• taken in your own time (but there are deadlines)
• each quiz is worth a small number of marks
Quizzes are primarily a review tool to check progress.
But they contribute 15% of your overall mark for the course.
COMP9315 21T1 ♢ Course Welcome ♢ [13/19]
<< ∧ >>
❖ Exam
Three-hour** exam in the May exam period.
Exam is NOT held in CSE Labs; you do it at home (via ssh or vlab)
The exam is totally open-book (“open-web”).
Things that we can’t reasonably test in the exam:
• writing large programs, running major experiments
Everything else is potentially examinable.
Contains: descriptive questions, analysis, small programming exercises.
Exam contributes 50% of the overall mark for this course.
** 3-hours worth of work; 4-hours allowed to complete
COMP9315 21T1 ♢ Course Welcome ♢ [14/19]
<< ∧ >>
❖ Exam (cont)
If you cannot attend the final exam …
• because of documented illness/misadventure
then you will be offered a Supplementary Exam.
You get one chance at passing the exam
• unsw’s new fit-to-sit rule applies
Exam hurdle = 20/50 (which is only 40%)
COMP9315 21T1 ♢ Course Welcome ♢ [15/19]
<< ∧ >>
❖ Assessment Summary
Your final mark/grade is computed according to the following:
ass1 = mark for assignment 1 (out of 15)
ass2 = mark for assignment 2 (out of 20)
quiz = mark for on-line quizzes (out of 15)
exam = mark for final exam (out of 50)
okExam = exam > 20/50 (after scaling)
mark = ass1 + ass2 + quiz + exam
grade = HD|DN|CR|PS, if mark ≥ 50 && okExam
= FL, if mark < 50 && okExam
= UF, if !okExam
COMP9315 21T1 ♢ Course Welcome ♢ [16/19]
<< ∧ >>
❖ Forum Etiquette
Webcms3 has a contextual forum
• posts form part of a comment thread on resource pages
Before posting: check that your query is not already answered
• main forum page has a search function
• single search keywords work best
To receive notification of posts
• each resource with Comments has a bookmark icon
• toggle it to dark to be notified of new posts on that resource
COMP9315 21T1 ♢ Course Welcome ♢ [17/19]
<< ∧ >>
❖ General Etiquette
The course website is a workplace platform
• make all communication professional and respectful
Any 9315-related discussion on external platforms
• is treated by UNSW the same as the course website
Summary: work hard and be nice to each other.
COMP9315 21T1 ♢ Course Welcome ♢ [18/19]
<< ∧
❖ Course Outline
All of the above is described in detail in the Course Outline.
Read it.
It forms a contract between you and me on how this course will run.
Additional resources:
• The Nucleus, in the Library
• Forms for various requests: unsw.to/webforms
• Student Counselling: student.unsw.edu.au/counselling
COMP9315 21T1 ♢ Course Welcome ♢ [19/19]
Produced: 13 Feb 2021