Computer Science
>
>

CS 245 Principles of Data-Intensive Systems

Winter 2022

Stanford University

This course delves into the architecture of modern data storage and processing systems, including databases, cluster computing, and machine learning systems. It covers database architecture, query optimization, transaction management, and parallel processing. CS 145 and CS 161, or equivalent, are expected as prerequisites.

Course Page

Overview

This course covers the architecture of modern data storage and processing systems, including relational databases, cluster computing systems, streaming and machine learning systems. Topics include database system architecture, storage, query optimization, transaction management, fault recovery, and parallel processing, with a focus on the key design ideas shared across many types of data-intensive systems.

Prerequisites

Students should ideally have taken CS 145 and CS 161. If you haven't taken CS 145, the main thing we assume from it is knowledge of basic SQL syntax; you can also read a SQL tutorial to an external site. to learn about this.

Learning objectives

No data.

Textbooks and other notes

Optional Textbook

Database Systems: The Complete Book (2nd Edition), by Garcia-Molina, Ullman and Widom, covers a lot of the technical material in the course and may be helpful as a study guide. We focus on chapters 13-20. We will also cover the material in lectures, but this book is a good source of additional information.

Other courses in Database Systems

15-415/615 Database Applications

Fall 2016

Carnegie Mellon University

CS 145 Data Management and Data Systems

Fall 2022

Stanford University

Courseware availability

Lecture slides available at Schedule

No videos available

Assignments available at Schedule

Readings and optional readings available at Schedule

Covered concepts