CS 186 at UC Berkeley | Spring 2020

Introduction to Database Systems

Professor Josh Hug


Office Hours: TBD

Professor Michael Ball


Office Hours: M 5-6, W 3-4 625 Soda

Week 0 Overview


Week 1 Overview


Week 3 Overview

B+ Trees & Indices

Week 4 Overview

Buffer Management & Relational Algebra

Week 5 Overview

Sorting & Hashing

Week 6 Overview

Iterators & Joins

Week 7 Overview

Query Optimization

Week 8 Overview

Parallel Query Processing

Week 11 Overview

Recovery & ARIES

Week 12 Overview

Unstructured Data: Searching Text

Week 13 Overview

Distributed Transactions

Week 15 Overview

RRR Week

Week 16 Overview

Final Exam

Spring 2020 Students: Updates to this semester's Syllabus have been posted in Piazza and reflected on this site. Please read to ensure you are updated with new policies.


In addition to the textbook, the staff will publish a set of lecture notes that serve as supplements to the edX lectures. Make sure you revisit the notes after lecture. Each note may be covered in one or more lectures. See Syllabus for more information.



In-person discussion sections are an optional and highly recommended component of this course, and you may attend whichever section(s) you like. In discussion, you'll learn more in depth about the previous week's content and you'll have the opportunity to ask your TA relevant conceptual questions. Here is a list of all the discussion sections for the course.



Throughout the semester, we will release 5 programming assignments via Piazza, each worth 7% of your grade. They are designed to cover distinct parts of the course and are done in SQL (Project 1) and Java (Project 2 - 5). See Syllabus for more information.


Guerrilla Section

Worksheets and their corresponding solutions from guerrilla sections are posted here. Guerrilla sections are optional and are encouraged as a way to ensure you're keeping up with the material.