Instructor:
Mohammed J. Zaki
Office:
Lally IT Bldg 307
Phone:
x6340
Email:
zaki@cs.rpi.edu
Class Hours:
SAGE 3510, TF 10:00-11:50am
Office Hours:
Tuesdays 12:30-2:30pm, or by appointment
TAs:
Matt Freeman (freemm@rpi.edu), Zujun Shentu (shentu@rpi.edu), and Feng
Gao (gaof@rpi.edu)
Web Page:
http://www.cs.rpi.edu/~zaki/cs4380/
Introduction
For over 30 years, computerized database systems have been developed
and used to help computers manage the ever increasing amount of data
we store and manipulate. 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. Second, we will examine the process of designing a database
and using a database system. Lastly, we will look inside a database
system to see how it is implemented. Some latest trends in database
systems such as XML and OLAP/data mining will also be looked at.
Text
We will be using the following
book as a text (required): Databases and Transaction Processing: An
Application-Oriented Approach, by Lewis, Bernstein and Kifer,
Addison Wesley, 2002 (ISBN:0-201-70872-8). We will also occasionally
supplement this text with outside material. This material will either
be handed out in class or made available on the web.
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, midterm exams, term project and
a final exam. There will be 5 to 6 homework assignments throughout the
semester. There will be two midterm exams and a
comprehensive final exam. There will be a group term project due at
the end of the semester. This project will be based on the student
registration case study in the text book.
The final grade will be determined as follows:
20% homeworks
40% midterm exams (20% each exam)
25% final exam
15% project
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.
Team Project -- the team project is essential for gaining "real world" experience in using 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.