# 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.

### TAs

#### Pengyuan Li

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

## 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)

### Weighting of Deliverables

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

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