Course Introduction

This course is an undergrad-level database system course. Its focus is introducing the internals of a database system. It does NOT cover how to build applications (like web applications) over database systems. Students are expected to understand the design of each database system component and get experience implementing a few key components in a pedagogical database system.

This course assumes students have completed the following undergraduate-level courses: data structures, algorithms, and operating systems, or have equivalent knowledge.

Since the course labs are based on Rust, students are expected to learn Rust programming independently. There will be a small project covering Rust basics, but the course will not teach Rust programming. Therefore, while prior knowledge of Rust is not required, familiarity with at least one general-purpose programming language (e.g., C/C++, Java) is necessary to get started quickly with Rust.


Instructors

Teaching Assistants