CS4432. Database Systems
Venue: Fuller Labs 320
Date/Time: Monday and Thursday: 1:00pm - 2:50 pm
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
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
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.
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.
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:
- Homework Assignments: 20%.
- 3 Projects: 30%. (10% each)
- 3 Exams: : 45% (15% each)
- Class participation: 5%.
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.
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.
There will be 4-6 written homework assignments. Written assignments
consist of problems from the book,
made up problems, or readings from the literature.
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 email@example.com.
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
extension of at most 48 hours given special circumstances
(such as death in your family, illness, and other documented
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.
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.
You acknowledge any help on the work you hand in, even if minor.
You individually design and write your own solutions for all
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
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.