CS525 - Advanced Database Organization - 2020 Fall

Course webpage for CS525 - 2020 Fall taught by Boris Glavic

Course Overview

The class takes place: Monday + Wednesday, 5:10pm - 6:25pm, online

Databases management systems are a crucial part of most large-scale industry and open-source systems. This course provides comprehensive coverage of issues associated with database system development and an in-depth examination of structures and techniques used in contemporary database management systems (DBMSs). Students will learn about the inner workings of these exciting systems: Which algorithms are used? What are typical architectures used to build a system as complex as a DBMS? What are implementation strategies? These questions and more will be answered during the course.

The course is highly applied, emphasizing practical skills and habits through a series of programming assignments during which students will develop their own tiny DBMS like engine. We will cover the most important aspects/components of a DBMS: storage and buffer management, indexing, query optimization, query execution, and concurrency control and recovery.

Instructor

Boris Glavic

TAs

Pengyuan Li

  • Email: pli26@hawk.iit.edu
  • Phone: online only
  • Office: online only
  • Office Hours: Tuesdays + Thursdays, 2:00pm-3:00pm

Syllabus

Prerequisites

  • Courses: CS425

  • Programming experience in C, C++ or other low level languages

  • Unix OS and file system knowledge is helpful

  • Data structures (.e.g., CS401)

Grading Policies

Weighting of Deliverables

  • programming assignments: (10% + 10% + 15% + 15%)
  • midterm exam: 20%
  • final exam: 20%
  • quizzes: (5% + 5%)

Grading Scheme

Your final course grade is determined based on your total score which is calculated as the weighted sum of the points for each of the deliverables. The weights are as shown above. For each deliverable you will receive between 0 and 100 points. For some deliverables, I am giving additional bonus points. These are not considered for the grade cutoffs. For instance, the first programming assignment is weighted 10%. For sake of the example assume that you get 110 points in this assignment (full points + bonus points), then this assignment would contribute \(0.1 * 110 = 11\) points to your final score.

  • A: > 80
  • B: > 60
  • C: > 50
  • E: < 50

Reading Material

The following text books will be helpful for following the course and studying the presented material. All four textbooks have their merits, but any one should be sufficient as reading material.

  • Elmasri and Navathe, Fundamentals of Database Systems, 6th Edition, Addison-Wesley, 2003
  • Ramakrishnan and Gehrke, Database Management Systems, 3nd Edition, McGraw-Hill, 2002
  • Silberschatz, Korth, and Sudarshan, Database System Concepts, , McGraw Hill, 2010
  • Garcia-Molina, Ullman, and Widom, Database Systems: The Complete Book, 2nd Edition, Prentice Hall,

The slides for the course will be made available here. For the brave, I will link research papers related to the topics covered in the course: references

Last updated on 31 Jul 2020
Published on 31 Jul 2020