Syllabus
Course Goals
CS 564 is designed to give students a solid background in database management
systems, particularly relational database management systems (DBMSs). We will
examine such systems from two perspectives: that of a DBMS user, and that of a DBMS implementor.
Approximately half of the course material will focus on the use of a DBMS.
We will introduce the concept of a data model, the entity-relationship (ER)
model, the relational model, and learn how to use the SQL query language.
We will also cover logical and physical database design issues.
The other half of the course will concentrate on DBMS implementation.
We will cover file organization, various indexing methods, techniques for
external sorting. We will also learn about how a DBMS implements a
relational operator, and the basics of query optimization.
Prerequisites
You should know, or be willing to learn quickly by yourself, the programming
language C++, which will be used for the DBMS internals project.
To brush up your C++ skills, you can go through
the lecture material for
CS 368: C++ for Java
Programmers, or the material from a more recent class found here.
Check here and here for
more C++ tutorials. Keep the links handy throught the semester as you may
need to go to it for C++ help.
Course Format
The class meets two times a week (Mon+Wed) for 75-minute lectures. In addition to the lectures,
there will be a discussion taught by the TAs on Fridays.
A midterm exam and a final exam.
2 programming projects, each having two stages.
2 written homework assignments.
Exam Dates
Final Exam: December 19, 7:25-9:25pm @ TBD
Midterm: October 23, 2:30-3:45pm (instead of discussion)
Grading
Projects: 30%
Homeworks: 10%
Midterm: 25%
Final: 35%
Textbooks
Recommended textbook:
Additional book that can be used:
Database Systems: The Complete Book (2nd edition), by Hector
Garcia-Molina, Jennifer
Widom, and Jeffrey Ullman.
Classroom Rules
All mobile phones, tablets, laptops, and other electronic devices must be
switched off and closed during class.
No late days for projects or homeworks.
All work turned in is expected to be done individually. The University has
very clear guidelines for academic misconduct in case plagiarism is detected.
|