Chat with us on the course Piazza site if you have any questions!
We're excited to once again utilize Jupyter notebooks to allow for more
interactivity in the class. Installation instructions are available here.
Python is used in the in-class activities, homework and projects.
For the attendance portion of the class (SCPD students are exempt from this), we will write a code on the board during class. From your primary stanford email, send a note to firstname.lastname@example.org with the code in the Subject Line of the email. Do not write anything other than the code in the subject line and make sure that the body of the email is empty. You are responsible for attending 8 classes + 2 guest lectures.
The reading material listed below is optional, but it refers to Database Systems: The Complete Book by Garcia-Molina, Ullman, and Widom. The lecture plan below may change.
|#||Date||Topic||Lecture Materials||Extra Reading Material||Assignments|
|Introduction and Querying|
|1||9/27||Course Logistics and Database History||
Notebook data: dataset_1.db
|Greenspun- SQL for web nerds||PS #1:|
|3||10/4||SQL: Advanced||Ch. 6|
|Database Design and Normal Forms|
|4||10/6||Database Design: ER Diagrams||
Activity Solutions (pdf)
|Ch. 2||Project Part 1||5||10/11||Database Design: Theory 1||
|Ch. 3.2-3.7||PS #1 Due||6||10/13||Database Design: Theory 2||PS #2:|
|7||10/18||Transactions from a User's Perspective||
Modified Lecture 8 (pdf)
|Ch. 8.6||Project Part 1 Due|
|8||10/20||Mechanisms for Transactions: Logging and Locking||Ch. 18.1-18.4||Midterm|
|9||10/25||Midterm Review||Midterm Review Slides (pdf)||PS #2 Due|
Location: NVIDIA (Last Names: A-L) and Hewlett 200 (Last Names: M-Z)
|Introduction to Database Internals|
|11||11/1||IO Cost Models and External Sort||
Lecture 12 (pdf)
|Ch. 11.4||Project Part 2|
|13||11/8||Guest Lecture: Hakan Hacigumus, Google Ads|
|14||11/10||Access Methods and Operators||
Lecture 15 (pdf)
|Ch. 15 (except 15.9)|
|15||11/15||Joins: A Cage Match||Ch. 2 and 16.3||
Project Part 2 Due
Project Part 3
|Ch. 2 and 16.3|
|Thanksgiving Break: 11/21-11/25|
|NoSQL Systems, Wrap up & Final|
|18||12/1||Research Talk: Dark Data and Analytics Systems||Activities:||PS #3 Due|
|19||12/6||Final Exam Review||
Final Review Lecture
|20||12/8||Guest Lecture: Matei Zaharia, InfoLab Faculty and Spark Cocreator||Project Part 3 Due|
Unless otherwise specified in the staff section below, office hours will be held in the open area of the Huang basement. CAs will bring signs to identify themselves. Please see the staff section below for office hours.
Note: the schedule of office hours may change from time to time, in which case an announcement will be made on the course Piazza.
|Tara Balakrishnan (email@example.com)|
|Adam Ginzberg (firstname.lastname@example.org)|
|Amani Peddada (email@example.com)|
|Connie Zeng (firstname.lastname@example.org)|
|Don Mai (email@example.com)|
|Helen Fang (firstname.lastname@example.org)|
|Jeffrey Pyke (email@example.com)|
|Krister Johnson (firstname.lastname@example.org)|
|Lindsey Kostas (email@example.com)|
|Luda Zhao (firstname.lastname@example.org)|
|Russell Stewart (email@example.com)|
|Senthilnathan Viswanathan (firstname.lastname@example.org)|
We encourage you to discuss the Programming Projects and Problem Sets with other students; it's fine to discuss overall strategy and collaborate with a partner or in a small group, as both giving and receiving advice will help you to learn.
However, for the Programming Projects, you must write your own code: it's not OK to share code or write code collaboratively. (This includes posting and/or sharing your code publicly, such as on GitHub!) Likewise, for the Problem Sets, you must write up your own solutions to all of the problems, and you must cite all people you worked with. If you do not do so, we will consider this a violation of the Stanford Honor Code.
If you consult any resources outside of the materials provided in class, you must cite these sources. We reserve the right to assign a penalty if your answers are substantially derivative, but, as long as you provide appropriate citations, we will not consider this an Honor Code violation.