CS 564: Database Management Systems


This is an unusually large class and there is little room for hand-holding. So please make sure that you have the pre-requisities.

Also, please make sure that you use the office hours and discussion sections to get answers to your questions. Please avoid sending direct email to the instructor as a way to get your questions answered (as sadly, your instructor can't scale with the email volume for a class this size).

We will also have specific discussion tracks online for projects on Canvas, which you can use to ask your questions. Note that the TAs have limited time every week, so they will examine the designated forum a few times every week. DON'T expect instant responses. Our past experience is that the course projects generate the most number of questions. Please start your project well ahead of the deadline to avoid frustrations for all.

Lecture: 113 Psychology, 8:00-9:15AM MW
Discussion: 113 Psychology, 8:00-9:15AM F. Attending this discussion is mandatory as this time will be used for both project discussions and course lectures. The discussion section will also be used for quizzes that collectively make up 5% of the grade.

    Jignesh M. Patel
Office Hours: Mon, Wed 9:15-10:30AM, in 4357 CS

Teaching Assistant:
Ankur Srivastava (asrivastava@cs.wisc.edu)
Udip Pant (upant@wisc.edu)
Vishnu Lokhande (lokhande@cs.wisc.edu)
Office Hours: Tue 12:30-2:30PM, Thu 4:00-6:00PM, Friday 11:00-noon, 5:30-6:30PM. Room 4331 CS.

Mailing List for the Instructors: cs564-s17@cs.wisc.edu -- emails to this list go to the entire teaching staff for this course. Please use the office hours and discussion section as your primary means of asking questions.

Please note that you are required to attend all lectures including the one on Friday. Most Friday meetings will be used for project discussions, though some will be used for regular lectures. You can not take this class if you have a conflict with the Friday meeting. Also, given the large size of this class, please do not rely on email as primary way of asking project questions (attend the lectures and discussion sections). Project questions go to the TAs and lecture related questions go to the instructor.  


CS 564 is designed to give students a solid background in database management systems, primarily relational systems (DBMSs). Such systems will be examined from two perspectives: that of the internal primitives that make a DBMS work, and that of a DBMS user. Most (about 75%) of the material in the class will focus on the techniques that are used by DBMSs. There will be some coverage of SQL and the entity-relational model, but students interested primarily in learning how to use SQL, should either pick that up on their own during or after this course, or reconsider taking this course.

Prerequesites: CS 367 (essential). In addition, you should know C++ before you take this class. If you are unsure about your programming skills, then please come see me in the first week of class.

To brush up your C++ skills, you can go through the lecture material for CS 368: Learning Modern C++. If the material in CS 368 seems hard, then please take this course after you have taken that course (or built up your C++ skills some other way).

If you are a Java programmer, and haven't seen C++ before, then you are responsible for teaching yourself C++. You can start with the material that is covered in CS 368 (C++ for Java programmers) Also, see this link for various resources on C++. Keep this link handy throught the semester as you may need to go to it for C++ help.

Text: Database Management Systems (3rd edition) - by Raghu Ramakrishnan and Johannes Gehrke, McGraw Hill, 2003. (This is also called the “Cow book”)

Grading (tentative)

Exams 60% The midterm exam will be held on March 15 from 8:00-9:15 (regular class time) in 113 Psychology. The style of questions on the exam is similar to what you see in the quizzes.

Final exam is scheduled as per the university calendar on May 10, 2017, from 5:05PM-7:05PM, in Room TBD. The final exam is cummulative and covers material covered in the entire semester, with 20% of the exam convering material from the first half of the semester.

The mid-term is worth 20% and the final exam is worth 35%.

There are two quizzes that will be held during class during the discussion section. Each quiz is worth 2.5%. Quiz dates: Feb 17, April 14.

There are no makeup exams or quizzes. Please mark your calendars for these dates.
Projects 40% The course starts has five projects and the projects are collectively worth 40% of the grade. At least two of the projects will be on BadgerDB. All projects are individual projects!

Classroom Rules