Prerequisites: Familiarity with Unix and Java or C++. A good understanding of algorithms and data structures.
The newsgroup duke.cs.cps196-3 is useful for posting questions that are likely to be of interest to the rest of the class. We very much encourage students in the class to post responses to questions. We will monitor the the newsgroup regularly, and post responses to questions that have not previously been asked or answered. Before posting a question, please do make sure that you've read all previous messages and that your question has not yet been discussed.
We will use the Blackboard course management system (https://courses.duke.edu/bin/common/course.pl?course_id=_2794_1&frame=top) for grades. Log onto Blackboard and verify that it has your correct email address. Please check your emails regularly, as important course announcements will be sent via email.
Homeworks | 30% |
Project | 30% |
Midterm | 20% |
Final | 20% |
There are four homeworks, with a mix of written and programming problems. Late homeworks will not be graded.
There is one course project, details of which will be available in the second week of the class.
Week | Date | Topic | Reference* |
1 | 2002-08-27 | Introduction | |
2002-08-29 | Relational model and relational algebra | GMUW 3.1, 5.1, 5.2 | |
2 | 2002-09-03 | More relational algebra | |
2002-09-05 | Database design using E/R model | GMUW 2, 3.2, 3.3 | |
3 | 2002-09-10 | Relational database design: keys, FD's, BCNF | GMUW 3.4-3.6 |
2002-09-12 | SQL: schema definition and basic queries | GMUW 6.6.1, 6.6.2, 6.1.1-6.1.4, 6.1.7, 6.2, 6.4.1, 6.4.2 | |
4 | 2002-09-17 | SQL: subqueries and aggregates | GMUW 6.3, 6.4.3-6.4.6 |
2002-09-19 | SQL: NULL's, modifications, constraints, and triggers | GMUW 6.1.5, 6.1.6, 6.5, 7.1, 7.2, 7.4 | |
5 | 2002-09-24 | SQL: indexes, views, and transactions | GMUW 6.6.5, 6.6.6, 6.7, 8.6 |
2002-09-26 | Database application programming | GMUW 8.1-8.5 | |
6 | 2002-10-01 | SQL3 recursion | GMUW 10.4 |
2002-10-03 | More relational database design: decomposition, 3NF, 4NF | GMUW 3.7 | |
7 | 2002-10-08 | Data warehousing and data mining | GMUW 20.4-20.6 |
2002-10-10 | Midterm exam | ||
8 | 2002-10-15 | Fall break | |
2002-10-17 | XML and DTD | W3C XML/DTD standards | |
9 | 2002-10-22 | XPath and XQuery | W3C XPath and XQuery standard |
2002-10-24 | XSLT | W3C XSLT standard | |
10 | 2002-10-29 | XML application programming | |
2002-10-31 | XML and relational databases | ||
11 | 2002-11-05 | Physical data organization | GMUW 11.2, 11.3, 12 |
2002-11-07 | Indexing | GMUW 13 | |
12 | 2002-11-12 | Query processing | GMUW 15.1-15.6 |
2002-11-14 | Query optimization | GMUW 16.2, 16.4-16.6 | |
13 | 2002-11-19 | Concurrency control | GMUW 18.1-18.5 |
2002-11-21 | Recovery | GMUW 17.1-17.4 | |
14 | 2002-11-26 | Web search | |
2002-11-28 | Thanksgiving break | ||
15 | 2002-12-03 | Web search | GMUW 13.2.4 |
2002-12-05 | Review | ||
16 | 2002-12-13 | Final exam (Friday, 7:00pm-10:00pm) |
* GMUW refers to the required textbook by Garcia-Molina, Ullman, and Widom.