CS345 - Topics in Data Warehousing
Autumn 2004

Instructor
Brian Babcock
Email: babcock@cs.stanford.edu
Office: Gates 492
Office hours: Tuesdays 12:00-1:00 and Thursdays 2:30-3:30
Office Phone: (650) 723-2048
Time and Place
The course will meet Tuesdays and Thursdays 1:15pm-2:30pm in Building 200, Room 200-034.

Building 200 is the Lane History Corner in the Main Quad.

Prerequisites
The prerequisite for this course is CS 145 or equivalent (knowledge of SQL).

CS 245 is useful background for one of the topics covered in this class (Query Processing in Data Warehouses). However, having taken CS 245 is not essential; we will cover the basics of query processing in one lecture. For students who have already taken CS 245, this will serve as a review, and for those who have not, it will provide the necessary knowledge of basic query execution techniques.

Books
There is one required textbook for this course.

The Data Warehouse Toolkit: The Complete Guide to Dimensional Modeling (2nd Edition)
Ralph Kimball and Margy Ross
Wiley, 2002

Please note that we are using the 2nd edition of this book, which is significantly different from the 1st edition.

In addition to required readings from The Data Warehouse Toolkit, there will be optional background readings for some of the topics covered. Some of these readings will be drawn from two books that will be available on reserve at the Math/CS library on the 4th floor of building 380.

Database Systems: The Complete Book
H. Garcia-Molina, J.D. Ullman, and J. Widom
Prentice Hall, 2002

Database Tuning: Principles, Experiments, and Troubleshooting Techniques
Dennis Shasha and Philippe Bonnet
Morgan Kaufmann, 2002

Note: An alternative to Database Systems: The Complete Book is Database System Implementation, from the same authors and publisher. DSI consists of the second half of DSCB; to convert a DSCB chapter number to a DSI chapter number, subtract 9.

Grading
Grading will be based on three factors: Assignments (40%), Project (40%) and Final Exam (20%).
  • Assignments

    There will be five homework assignments: one problem set and four small programming assignments. The goal of the assignments is for students to gain hands-on experience with the ideas convered in the class.

    Students who find their course projects to be particularly interesting have the option to expand the scope of their project instead of completing one or two of the assignments. Make arrangements with the instructor if you are interested in electing this option.

  • Project

    Each student is responsible for completing a course project. The goal of the project is to allow students to select an aspect of the course material that they are particularly interested in and explore it in greater depth. The project can be any of three types:

    1. Research project
    2. Survey of research literature
    3. Programming project
    Please see the project page for more information.

  • Final Exam

    There will be a final exam on Wednesday, December 8 from 7:00-10:00 pm.
    The final exam will be open book and open notes.