Instructor
- Yousef Elmehdwi: https://science.iit.edu/people/faculty/yousef-elmehdwi
- Email: yelmehdwi@iit.edu
- Office: Stuart Building, room 237D
- Office Hours: Fridays 11:50pm-1:50pm
- Course Webpage: http://cs.iit.edu/~glavic/cs525
TAs
- Xu Ouyang
- Email: xouyang3@hawk.iit.edu
- Office: Stuart Building, room 115
- Office Hours: Tuesdays/Thursdays, 2:00-3:00, SB 115
- Su Feng
- Email: sfeng14@hawk.iit.edu
- Office: Stuart Building, room 012
- Office Hours: Mondays, 3:30-4:30pm, SB 012
Syllabus
syllabus.pdfCourse Overview
Monday + Wednesday, 11:25am - 12:40pm. Robert A. Pritzker Science Ctr 121
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)