top of page

CSC443H/CSC2525H

Database System Technology

Instructor: Niv Dayan

Lectures: Tuesdays 15:00-17:00 (ES B149)

Tutorials: Thursdays 15:00-16:00 (ES B149)

TAs: Pooyan Habibi, Akshay Bapat, 

Shikhar Jaiswal

Office Hours: BA5230 after each class

Artificial Intelligence

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

Final Exam

the final exam will be scheduled by Arts & Science and take place during the examination period. 

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. 

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. 

Course schedule

We hope this course will get you excited about research. For students who excel in this course and seek research opportunites, check out my home page and get in touch. 

Contact
bottom of page