Instructor
- Boris Glavic: http://cs.iit.edu/~glavic
- Email: bglavic@iit.edu
- Phone: 312.567.5205
- Office: Stuart Building, room 226C
- Office Hours: Tuesdays 12:00pm-1:00pm
- Course Webpage: http://cs.iit.edu/~glavic/cs525
- Google Group: https://groups.google.com/d/forum/cs525-2015-fall-group
TAs
- Xing Niu
- Email: xniu7@hawk.iit.edu
- Phone: 312 567 5705
- Office: Stuart Building, room 012
- Office Hours: Thursdays 3:30-5:30pm
- Raghav Kapoor
- Email: rkapoor7@hawk.iit.edu
- Office: Stuart Building, room 012
- Office Hours: Wednesday:2:30pm-4:30pm
Syllabus
syllabus.pdfCourse Overview
Tuesday + Thursday, 1:50pm - 3:05pm, Engineering I (E1) Building 104
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.
Workload
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)