CSCI-4380 Database Systems
Spring 2004

Instructor:         Mohammed J. Zaki
Office:               Lally IT Bldg 307
Phone:               x6340
Email:                zaki@cs.rpi.edu
Class Hours:     SAGE 3510, MR 12:00-1:50am
Office Hours:    Mondays 10:00-12:00pm, or by appointment
TAs:                 Jeevan Pathuri (pathuj@cs.rpi.edu)
Web Page:         http://www.cs.rpi.edu/~zaki/cs4380/
 

Introduction
This course presents an overview of the "state of practice" in modern database systems. Three aspects of database management will be examined. First, we will look at the basic structure and capabilities of a database system, and we will examine the process of designing a database and using a database system. Second, we will look inside a database system to see how it is implemented. Finally, we will looks at  some latest trends in database systems such as OLAP, XML databases, Spatial databases, and data mining.

Text
We will be using the following book as a text (required): Database Management Systems, by Raghu Ramakrishnan and Johannes Gehrke, McGraw Hill, 2003 (ISBN:0-07-246563-8). Online resources are aslo available at the book website: http://www.cs.wisc.edu/~dbbook/

Prerequisites
This is a 4000 level course, intended for advanced undergraduates. Students are expected to have a computer science/systems background that includes basic data structures and to be comfortable programming in C/C++. Further, a level of academic maturity is assumed. Students will be expected to learn to use computing tools independently.

Class Format and Requirements
Your grade will comprise of homeworks,  exams, and implementation projects. There will be two exam during the semester. There will be 2 or 3 homeworks and 5 or 6 projects. The HWs are mainly to test conceptual knowledge and to help you in the exams, while the projects will focus on practical skills and what it takes to implement a DBMS.

The final grade will be determined as follows:
    15% homeworks
    50% exams (25% each exam)
    35% projects 

Attendance in lecture is not enforced, but highly encouraged. You are responsible for the material covered in lecture and any announcements made whether you are there or not.

Timeline for Topics
See the course website for the timeline. There might be a change in the topics as we progress during the semester.

Academic Integrity
The following guidelines pertain to the evaluation items listed above.

Homework -- homework assignments are intended to reinforce important concepts and are meant to be learning experiences. Collaboration and discussion among students is encouraged during early stages of solving a problem. However, copying someone else's answers is not acceptable. Work with others to explore different techniques for solving a problem, then carry through the solution process by yourself. Students must turn in their own solutions for each homework assignment.

Exams -- exams are intended to gauge your understanding of the course material covered in the preceding classes. No collaboration of any kind is permitted. Exams will be closed book and closed notes. But you may prepare and use one crib sheet no larger than 8.5" x 11" written on both sides.

Projects -- Individual projects, like the homeworks, whould be your own work. Team projects are essential for gaining "real world" experience in database systems. You should collaborate freely with the members of your team. Collaboration between teams is discouraged, but is acceptable when it pertains to solving a problem of how to implement some functionality in the database system your team is using.

Keep the following guidelines in mind: Students are allowed to work together in designing algorithms, in interpreting error messages, in discussing strategies for finding bugs, but NOT in writing code or homework. Students may not share code, they may not copy code, and they may not discuss code in detail (line-by-line or loop-by-loop) while it is being written or afterwards. This extends up to two days after the submission deadline. Students may not ``show'' their code or homework to other students as a means of ``helping them''. Students may not leave their code (either the electronic versions or the printed copies) in publically accessible areas.

Violations of these terms in the submission of homework or code is liable for punishment. The standard penalty in copying homework and projects is a 0 for the assignment and a letter grade drop. A second offense or cheating in an exam will result in an F for the course and the student will be reported to the dean of students.

Other Policies
Late homework assignments and projects will not be accepted (a score of 0 will be assigned), so turn in what you have on the due date (partial credit will be given). Exceptions will be granted only if arranged prior to the due date or a documented illness intervenes.

Since exams are given in class, make-up exams will not be given. Students who know that they will miss an exam must notify the instructor in advance. The only exception will be for substantiated medical emergencies.