CS4432. Database Systems II

Class Meetings

Venue: Fuller Labs 320
Date/Time: Monday and Thursday: 1:00pm - 2:50 pm

Teaching Staff

Instructor: Elke A. Rundensteiner, FL-238, x-5815 (rundenst)
Office Hours (in FL-238): Tu 3:00pm - 4:00pm and Thu: 4:00pm - 5:00pm.

TAs: (TA Fuller Labs sub-basement in room FL-A22)

Kenneth Loomis (kjloomis)
Office Hours: Tu: 4:00pm to 5:00pm, Wed 1:30pm to 2:30pm

Xika Lin (xika)
Office Hours: - Mo: 10:00am - 11:00am, Th: 5:00pm - 6:00pm

Purpose of Course

In this digital age, data of every increasing volumne is beginning generated daily. This overload of data is putting those that know how to effectively manage and extract information from such mountains of data into a distinct advantage. In many cases, data is mission critical to an enterprise's economic success. Thus database systems are a critical component of today's software systems. This second course in database systems concentrates on the study of the internals of such database management systems. That is, we will look "under the hood" to learn about the key techniques and technologies within database systems. In particular, we will learn about what makes a database management system efficient so to be able to extract relevant information out of huge data sets. The principles and theories of physical storage management, query processing and optimization, and index structures for relational databases, transaction processing, and concurrency control will be covered. Time permitting, a selected subset of issues from database recovery, security, web database systems, or client server systems, may be discussed. The knowledge gained should be useful not only for building software systems that have to handle data of huge volumes, but also for effectively using a commercial DBMS system.

Who should take the Course

The intended audience is computer science and computer engineering majors. In this class, you will assume that you already know how to use a database system, such as Oracle or SQL Server. And, thus that you are familiar with concepts such as the relational data model, relational query languages such as SQL and database database design such as ER modeling. Any student taking this class is expected to have sufficient programming experience. This means that you should be comfortable with at least one high-level programming language, be it Java, C++, etc.

Recommended Background

Beginning database design knowledge such as gained in CS3431 or in a job (in particular, knowledge of the relational data model and SQL) and some knowledge of software development (such as gained in CS3733) are recommended. If you are in doubt about your background being sufficient, please discuss this with the instructor of the course.

Mailing List and Email Consulting

A group mailing list cs4432 for the class has been set up for timely communication of relevant information pertaining to the class. This may concern cancellations of the lectures due to snow storms, last minute changes to some assignment, you name it. Basically any issues that must be communicated to the class in a very timely fashion. It is thus the student's responsibility to make sure that he or she have indeed been added to the list. However most routine communication about the class, such as information and questions about the projects and assignments, is expected to take place via the mywpi course website.

Course Requirements and Grading Policy

Final grades will be computed based on a total of 100 pts as follows:

Grading policy for each project and homework will be provided at the time of the assignment. All are assumed to be done individually by each student, unless otherwise stated on the assignment.

Exams. There will be three exams held in class. They will be closed book, closed notes. Each exam will test your understanding of the ideas and objectives of the class as covered in the course book, in lectures and in homework assignments.

Written Homeworks. There will be 4-6 written homework assignments. Written assignments consist of problems from the book, made up problems, or readings from the literature.

Projects. There will be 3 project assignments. Each assignment will involve programming of some functionality of a database system.

MyWPI Information Portal: Discussion Board and Grade Repository

We plan to manage this course via the MyWPI information portal. In particular, your submission of homeworks and projects, whenever electronic, will be done via MyWPI. Similarly, questions, discussions, and other exchanges about the assignments is expected to take place via the MyWPI discussion board. Your grades for the different assignments will also be posted on MyWPI. You can access the MyWPI information portal here:


If you have general questions about myWPI, you can get information and your questions answered either from http://www.wpi.edu/+myhelp or via email to myhelp@wpi.edu.

Late Policy

All assignments should be handed in class on the due day, unless otherwise noted on the assignment. No late assignments will be accepted, but each student is entitled to *one* free extension of at most 48 hours given special circumstances (such as death in your family, illness, and other documented circumstances). Exceptions to this policy will be at the discretion of the instructor. General extensions to due dates due to major disasters such as snowstorms, power outages, major flu outbreaks on campus, if they occur, will be communicated through email to the class.

Honor Code and Honesty Policy

The basic presumption is that the work you do is your own. Any assistance by another person constitutes a violation of the honor code and will be treated as such. Occasionally, especially when working problem sets or writing programs (but never on exams!), it may be necessary to ask someone for help. You are permitted to do so, provided you meet the following two conditions: And, of course, you are expected to 100% understand all work that you hand in, so that you could explain the reasoning behind the parts of the work for which you got assistance. In general, you always must explicitly acknowledge any sources of ideas used that are not your own; this includes other people, books, web pages, etc. Submitting modified versions of other people's work as your own is considered cheating. Modified versions of other work includes in particular source code with renamed variables and certain homework with identical (wrong or correct) solutions.

Cheating will not be tolerated. Any violation of the WPI's guidelines for academic integrity will result in no credit for the course and referral to the WPI Judicial Board for disciplinary action. More information on definitions, responsibilities and procedures regarding the WPI Academic Honesty Policy can be found here.

BS/MS Graduate Credit

This course may be taken for graduate credit by students in the BS/MS CS program. In order to receive graduate credit (equal to 2 graduate credits) for this course, students that are signed up for this program need to get permission from the professor. Hence, discuss your plan with the professor at the start of the class.