Introduction to Database Systems
Computers shape nearly every part of modern life-powering everything from healthcare and finance to entertainment and scientific research-and at the core of these systems are databases. Databases lie at the intersection of theory and practice: built on mathematical concepts like relational algebra and data structures, yet demanding careful systems engineering to deliver performance, reliability, and scalability. This course reveals how databases actually work behind the scenes. We begin with the fundamentals of the relational model and SQL to ensure all students have a solid foundation. From there, we transition into the internal architecture of database systems. While prior experience with SQL is not required, this systems-oriented course delves far beyond writing queries. Students will design and implement a relational database management system (DBMS) from scratch in Rust, engaging with core components such as storage and buffer management, indexing, query processing, concurrency control, recovery, and transaction management. This course is designed for Computer Science majors as an upper-level elective and for graduate students in Computer Science who are interested in learning about the construction and optimization of real-world data systems.
Spring 2025
Readings
- Database System Concepts
- The Rust Guide
- The Rust Programming Language
Sources
- Course catalogue ↗2026-2027
- Official public course page or syllabus ↗Spring 2025