The “notes” links in the “Topic” column below are usually available 30 minutes before the lecture. They are intentionally incomplete in order to keep the lectures more lively. You can download and/or print them for taking notes during the lecture. They may contain typos/errors that will be corrected only in the final and complete version of the slides, available through the “slides” links after the lecture.
Unless otherwise noted, the section numbers in the “Reference” column refer to the book by Garcia-Molina, Ullman, and Widom (2nd Ed.).
Week | Date | Topic | Assignment | Reference |
---|---|---|---|---|
1 | 8/26 | Introduction [notes, slides] | ||
8/28 | Relational model and algebra [notes, slides] (Jun out of town; recorded lecture conducted by TA) | Gradiance RA assigned Homework 1 assigned [pdf] | 2.1, 2.2, 2.4 | |
2 | 9/2 | Database design in E/R model [notes, slides] | 4.1-4.4 | |
9/4 | Database design: E/R-relational translation [notes, slides] (+ up to Slide 7 below) | Gradiance RA due Gradiance ER assigned | 4.5, 4.6 | |
3 | 9/9 | Database design theory: FDs, MVDs, BCNF, 4NF [notes, slides] (up to Slide 30) | Gradiance FD, MVD assigned Project assigned [pdf] | 3.1-3.4, 3.6, 3.7 |
9/11 | SQL: basics, subqueries, aggregation [notes, slides] (up to Slide 16) | Homework 2 assigned [pdf] Gradiance ER due | 2.3, 8.3, 6.1.1-6.1.5, 6.2, 6.3, 6.4 | |
4 | 9/16 | SQL: NULL, outerjoin, modifications, constraints [notes, slides] (up to Slide 10) | Homework 1 due Gradiance FD due Gradiance SQL Querying assigned | 6.1.6, 6.1.7, 6.5, 7.1-7.4 |
9/18 | Project mixer [slides] | Gradiance MVD due | ||
5 | 9/23 | Catching up (see slides below for announcements) | Gradiance SQL Constraints assigned | |
9/25 | SQL: triggers, views, indexes [notes, slides] SQL: recursion [notes, slides] (up to Slide 8) | Gradiance SQL Querying due Gradiance SQL Triggers/Views assigned | 7.5, 8.1-8.2 10.2 |
|
6 | 9/30 | SQL: programming [notes, slides] (up to Slide 7) | Homework 2 due Gradiance SQL Constraints due Gradiance SQL Recursion assigned | 9.1, 9.3, 9.4, 9.6 |
10/2 | Midterm exam | Gradiance SQL Triggers/Views due | ||
7 | 10/7 | Fall break | ||
10/9 | SQL: transactions [notes, slides] (up to Slide 14) | Project milestone 1 due Gradiance SQL Recursion due | 6.6 | |
8 | 10/14 | XML/DTD [notes, slides] (up to Slide 20) | Gradiance XML assigned | 11, 12.1 |
10/16 | Querying XML: XPath, XQuery [notes, slides] (up to Slide 16) | Homework 3 assigned [pdf] | 12.2 | |
9 | 10/21 | Catching up (see slides below for announcements) | Gradiance XML due | |
10/23 | XML-relational mapping [notes, slides] NoSQL: JSON and MongoDB [notes, slides] (up to Slide 10) | |||
10 | 10/28 | Catching up (see slides below for announcements) (Jun out of town; recorded lecture conducted by TA) | ||
10/30 | Semi-structured data: programming: SAX and DOM [notes, slides] Physical data organization [notes, slides] (up to Slide 8) | 13.2, 13.3, 13.5, 13.7 | ||
11 | 11/4 | Indexing [notes, slides] (up to Slide 7) | Homework 3 due Gradiance Indexes assigned (see note below*) | 14.1, 14.2 |
11/6 | Catching up (see slides below for announcements) | Project milestone 2 due Homework 4 assigned [pdf] | ||
12 | 11/11 | Query processing: algorithms [notes, slides] (up to Slide 20) | Gradiance Indexes due | 15.1-15.6, 15.8 |
11/13 | Query processing: systems perspective [notes, slides] (up to Slide 7) | 16.1, 16.7.3-16.7.5 | ||
13 | 11/18 | Query optimization [notes, slides] (up to Slide 10) | 16.2-16.6 | |
11/20 | Catching up (see slides below for announcements) | |||
14 | 11/25 | Parallel data processing: MapReduce & Spark [notes, slides] (up to Slide 29) | ||
11/27 | Thanksgiving break | |||
15 | 12/2 | Transaction processing [notes, slides] (up to Slide 14) | Homework 4 due (except X2) Gradiance CC & Recovery assigned | 18.1-18.4.2, 17.4 |
12/4 | A glimpse of data mining [notes, slides] | Homework 4 X2 due Gradiance CC & Recovery due Friday 12/6 | ||
16 | 12/11 Wed. | Project demos end by noon; last chance to update final report by midnight | ||
12/12 Thu. 2-5pm | Final exam |
* Note on Gradiance Indexes exercise: The “B-trees” these problems refer to are what we call B+trees in lecture. Also, these problems use a definition of “fan-out” that is different from what we discussed in class. When they say “fan-out n = 3” they mean that the maximum number of keys per node is 3, and the maximum number of pointers per node is 4 (i.e., “max fan-out is 4” in our terminology).