

Niv Dayan
Assistant Professor in Computer Science
University of Toronto

CSC443/CSC2234
Database System Technology
Instructor: Niv Dayan
Lectures: Wedenday 13:00-15:00 (MP 137)
Tutorials: Friday 13:00-14:00 (MP 137)
Office Hours: BA5230 after each class


Course Description
Database management systems are the bookkeepers of modern civilization. This course covers the algorithms and data structures that constitute the guts, bones, and arteries of these systems. Much of this course is about understanding the properties of modern hardware devices and designing data structures and access methods that optimize for them. We will also see that there is usually never one "correct" way for storing data: it is a question of managing trade-offs to optimize for what the user is trying to do. This course is important for anyone who intends to work with, tune, extend, or build data management systems.
Piazza
We will be using Piazza as our main discussion board. You are responsible for reading all postings made by me or the TAs. Please use Piazza to ask questions about assignments and course lecture materials so that everyone can benefit.
Contact
Course announcements will arrive through Quercus. Aside to that, this course website is required reading. It contains essential material and will be updated throughout the semester. Please use Piazza whenever possible to ask questions about course material. For personal questions, email me to nivdayan@gmail.com. Please include "csc443" in the subject line along with your full name. If you do not hear back quickly, we are always available during office hours to help.
Project
The course involves a major group programming assignment. It is described in the following document. A few experimental results examples are given here.
Midterm & Final
The midterm will take place during normal lecture hours in the same location as the regular lectures. The final exam will be scheduled by Arts & Science and take place during the examination period. Both midterm and final exams are open book. This means that all paper-based aids are allowed (e.g., books, notes, printed slides). Calculators are also allowed. However, no additional electronic devices (laptops, phones, etc.) are allowed. Sample exam questions and answers can be found here. Requests to grade midterm questions will be considered for up to a week after the midterm grades are released.
Accessibility
The University of Toronto is committed to accessibility. If you require accommodations or have any accessibility concerns, please visit Accessibility Services as soon as possible.
Prerequisites
Students should have taken the courses listed in here, or have equivalent knowledge in algorithms, data structures, relational algebra, SQL, and operating systems. Hands-on experience with C/C++, Java or Python is also required.
Reading Material
The course textbook is "Database Management Systems" by Raghu Ramakrishnan and Johannes Gehrke, 3rd Edition. It is available new and used at the UofT bookstore and in the library. We are interested in Parts III to V. While this textbook is classic, it is also dated (20 years old). Therefore, the reading material will also draw from various sources, including research papers and articles, about state-of-the-art advances in the field.
Marking Scheme
There will be a midterm (20%), a final (40%) and a group project (40%) for this course. There is no auto-fail for this course.
Academic Integrity
The project hand-ins must be the group’s own work. It is an academic violation to copy code or experimental results from other groups, whether you copy yourself or let someone else copy. That said, we encourage you to discuss course material widely with your fellow students within and across groups.