CS432: Course Information

CS 432 provides a basic introduction to the principles of relational database management systems.  Students are also encouraged to concurrently enroll in CS433 (Practicum in Database Systems).

Instructor

Office: 4105A Upson Hall
Email:

Location and Hours

Textbook

This is a required textbook, and is available in the campus bookstore. The contents of this book do not constitute the syllabus for the course - the classroom lectures define the course content, and the textbook is a reference.

Prerequisites

CS432 will assume knowledge of material covered in CS212 (Computers and Programming) and CS312 (Structure and Interpretation of Computer Programs). CS414 (Systems Programming and Operating Systems) will help with some of the advanced topics taught later in the semester. While CS414 is not a prerequisite, we encourage you to attend CS414 along with this course.

An important prerequisite is knowledge of C++ programming. C++ will not be taught in this course, but you are expected to use it for all your assignments. We expect that you are comfortable with C++ at the level of CS213. We will use Visual C++. While the NT environment is easy to pick up, C++ is not. If you have used C or Java, and you are comfortable with programming, you can probably catch up with the necessary C++ knowledge in the first two weeks of the course. The programming assignment handed out in the first week may help you estimate the level of C++ programming competence expected. 

Workload and Grading

The grades for CS432 will be determined based on assignments (60%) and exams (40%).

Exams

  1. Mid-term exam. (15%)
  2. Final exam. Cumulative with emphasis on the last half of the course. (25%)

Assignments

The purpose of the programming assignments is to build parts of a working single-user relational database system. You will start almost from scratch - a few basic components are provided to you by the MINIBASE software. By the end of the course, you will have built a simple DBMS by completing four separate assignments. Each of your assignments builds upon the code written in the previous assignments. At the end of every assignment, you have the option of using your previous assignment code, or using the code supplied by the TAs.

The C++ programming assignments will use Visual Studio .Net on Windows XP machines (such as available in the CSUGLAB). If you like, you can do your implementation at home on personal machines. However, it is your responsibility to get the code to work on the departmental machines before you submit it (since the TAs will test the code in the departmental machines).