The volume of data stored and processed in modern applications is exploding. Database management systems (DBMSes) lie at the core of handling this growth, offering efficiency, scalability, and reliability. This course provides a thorough introduction to database internals, design, and implementation. We will explore core data models, storage structures, and algorithms for query processing, optimization, concurrency control, and recovery—studying them in the context of both relational DBMSes and modern big-data systems.
Coursework includes developing DinoDB, a simplified (but real) relational DBMS, with features like indexing, concurrency, recovery, and vector embeddings to support emerging AI applications. Students will also gain practical exposure to modern technologies, including Go, containers, and digital notebooks.
This course requires either CSCI 0300 or 0330 (or equivalent coursework). Lecture is from 1:00 to 2:20 PM on Tuesdays and Thursdays. There is also an online section, offered for students away from campus this semester.
Do not submit waitlist requests through C@B.