Instructor
- Boris Glavic: http://cs.iit.edu/~glavic
- Email: bglavic@iit.edu
- Phone: 312.567.5205
- Office: Stuart Building, room 226C
- Office Hours: Mondays 12:00pm-1:00pm
- Course Webpage: http://cs.iit.edu/~glavic/cs525
- Google Group: https://groups.google.com/d/forum/cs525-2017-spring-group
TAs
- Seokki Lee
- Email: slee195@hawk.iit.edu
- Phone: 312 567 5705
- Office: Stuart Building, room 012
- Office Hours: Tuesdays, 10:30-12:00, SB 012
Syllabus
syllabus.pdfCourse Overview
Monday + Wednesday, 1:50pm - 3:05pm, Stuart Building (SB) 111
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)