CS 564: Database Management Systems


Warning

The course is getting revamped from how it has been taught for over 15 years. There is a broader perspective about data management system, and the old Minirel project is being replaced by a new project called BadgerDB. The textbook will be used as a loose guide. Attending the lectures and grasping the material during the lecture is how you will learn in this course.

So, the semester will have some bumps. If you are not the type of person who can deal with learning without a textbook, or dealing with the inherent kinks that are associated with new projects, then you are strongly encouraged to reconsider taking this course this semester.


Lecture: 1221 CS, 2:30-3:45PM MWF
Discussion: The Friday meeting will largely be used for project discussion. Attending this lecture is mandatory.

Professor:
    Jignesh M. Patel
   
Office Hours: Mon, Wed 1:30-2:3PM or by appointment, in 4357 CS

Teaching Assistant:
Sangmin Shin, email: sangmin@cs.wisc.edu, OH: Wed 4:00-5:00PM and Thu 2:00-3:00PM, 1309 CS.
Rashmi Goyal, email: rashmi@cs.wisc.edu, OH: TBD

Class Mailing List: compsci564-2-s13@lists.wisc.edu - emails to this list go to the entire class, so please use with caution.
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.  

Description

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. The course will also cover modern data processing systems such as MapReduce.

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: C++ for Java Programmers.

Also, see for a more detailed C++ tutorial. 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")

For a C++ book I recommend the book "A C++ Primer" by Stanley B. Lippman. If you already have a C++ reference book that you like, or are comfortable with finding resources on the web, you do not buy this book.

Grading (tentative)

Exams 60% The midterm exam will be held on March 11 from 2:30-3:45 (regular class time) in Rm CS 1240. Note that CS 1240 is not the regular class room. It is the big room across the hallway from the regular classroom.. The style of questions on the exam will be similar to what you have seen in the quiz.
Final exam is scheduled for May 12, 5:05-7:05, Room 2241 Chamberlin. 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 no make up exams.
There are two quizzes that will be held during class and will be worth 2.5% each. Quiz dates: Feb 18, April 22.
Projects 40% The course starts has 5 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


Links