The “notes” links in the “Topic” column below are usually available by noon on the day of 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/28 | Introduction [notes, slides] | ||
8/30 | Relational model and algebra [notes, slides] (up to Slide 35) | Homework #1 assigned [PDF] Online debugging tool for Problem 2 [link] | 2.1, 2.2, 2.4 | |
2 | 9/4 | Database design in E/R model [notes, slides] (up to Slide 18) | 4.1-4.4 | |
9/6 | Database design: E/R-relational translation [notes, slides] | 4.5, 4.6 | ||
3 | 9/11 | Database design theory: FDs, MVDs, BCNF, 4NF [notes, slides] (up to Slide 26) | Project assigned [PDF] | 3.1-3.4, 3.6, 3.7 |
9/13 | Class canceled due to hurricane | |||
4 | 9/18 | SQL: basics, subqueries, aggregation [notes, slides] (up to Slide 14) | Homework #1 due Homework #2 assigned [PDF] | 2.3, 8.3, 6.1.1-6.1.5, 6.2, 6.3, 6.4 |
9/20 | SQL: NULL, outerjoin, modifications, constraints [notes, slides] (up to Slide 6) | 6.1.6, 6.1.7, 6.5, 7.1-7.4 | ||
5 | 9/25 | Project mixer [slides] | ||
9/27 | SQL: triggers, views, indexes [notes, slides] (up to Slide 7, then to 22 on 10/2) | 7.5, 8.1-8.2 | ||
6 | 10/2 | SQL: recursion [notes, slides] (up to Slide 10) | Homework #2 due | 10.2 |
10/4 | Midterm exam | |||
7 | 10/9 | Fall break | ||
10/11 | SQL: programming [notes, slides] (up to Slide 10) | Project milestone #1 due | 9.1, 9.3, 9.4, 9.6 |
|
8 | 10/16 | SQL: transactions [notes, slides] | 6.6 | |
10/18 | XML/DTD [notes, slides] | Homework #3 assigned [PDF] | 11, 12.1 | |
9 | 10/23 | Querying XML: XPath, XQuery [notes, slides] (up to Slide 23) | 12.2 | |
10/25 | XML-relational mapping [notes, slides] (up to Slide 13) | |||
10 | 10/30 | NoSQL: JSON and MongoDB [notes, slides] (up to Slide 20) | ||
11/1 | Semi-structured data: programming: SAX and DOM [notes, slides] (up to Slide 15) | |||
11 | 11/6 | Physical data organization [notes, slides] | Homework #3 due | 13.2, 13.3, 13.5, 13.7 |
11/8 | Indexing [notes, slides] (up to Slide 24) | Project milestone #2 due Homework #4 assigned [PDF] | 14.1, 14.2 | |
12 | 11/13 | Query processing: algorithms [notes, slides] (up to Slide 19) | 15.1-15.6, 15.8 | |
11/15 | Query processing: systems perspective [notes, slides] (up to Slide 5) | 16.1, 16.7.3-16.7.5 | ||
13 | 11/20 | Query optimization [notes, slides] (up to Slide 13): conducted by Yameng | 16.2-16.6 | |
11/22 | Thanksgiving recess | |||
14 | 11/27 | Parallel data processing: MapReduce & Spark [notes, slides] (up to Slide 13) | ||
11/29 | Parallel data processing: MapReduce & Spark (continued; up to Slide 34; see notes on 12/4 below for announcements) | |||
15 | 12/4 | Transaction processing [notes, slides] (up to Slide 20) | Homework #4 due | 18.1-18.4.2, 17.4 |
12/6 | (A glimpse of) Data mining [notes, slides] | Project demos begin; final report due before your scheduled slot | ||
16 | 12/13 Thursday | Project demos end; last chance to update final report by 12/14 | ||
12/15 Saturday 7-10pm | Final exam |