CMPS181, Winter 2014, Section 01: CMPS181-syllabus
CMPS181 Database Systems II -- Class Syllabus
Class times: Mon/Wed 5:00p–6:45p, Baskin Engineering room 169
Lab hours: Mon/Wed 4:00p–4:50p, Baskin Engineering room 105
Instructor: Jeff LeFevre, firstname.lastname@example.org
Office hours: 3p–4p Wednesdays, E2-341A or by appointment
Textbook: Database Systems: The Complete Book (second edition), Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer D. Widom.
The course will cover selected topics from the book as well as other topics as time permits. I have put one copy of the textbook on reserve at the Science and Engineering Library. You will need the call number: QA76.9 D3 G3653
Class homepage: https: / / courses.soe.ucsc.edu/courses/cmps181/Winter14/01
Class announcements: You are responsible for checking the class home page for class announcements, assignments, and news.
Tentative list of topics to be covered (subject to change as time permits):
|Topic||Number of lectures||
|Overview of relational databases and SQL||1-2||2, 6|
|Disks and Files||2||13, 14|
|File Organizations and Indexing||2||13, 14|
|Tree-Structured Indexing: ISAM and B-Trees||2||14|
|Query Optimization and Database Tuning||1-2||8, 15, 16|
|Concurrency Control||1||18, 19|
|Information Retrieval||1||21, 22|
Exam dates: Please note these dates are final and cannot be changed.
|Midterm Exam||Monday February 10||JBE 169||5:00p–6:45p|
|Final Exam||Tuesday March 18||JBE 169||7:30p–10:30p|
There will be no class on Monday January 20 and Monday February 17 due to campus holidays.
The project component of CMPS181 involves multiple programming assignments on the following modules of a relational database system:
- Heap file
- Buffer manager
- B-tree index
Additionally, there will be a final project and report that will present a benchmarking study of the implemented components.
The projects will be based on the minibase relational system which is implemented in C++. Students will be provided with a working copy of minibase and will need to complete the implementation of the components specified in each assignment. A good online resource for general C++ programming help and reference is http://www.cplusplus.com/. The Linux man pages can also be helpful http://linux.die.net/man/ (searchable). There are also many useful reference books availble for C++, such as "C++ In a Nutshell" (O'Reilly Publishing) and "The C++ Programming Language" (B. Stroustrup).
No form of academic dishonesty will be tolerated. You are encouraged to read the campus' policies regarding academic integrity (http://www.ucsc.edu/academics/academic_integrity).
You are allowed to ask for help when working on homework and lab assignments, provided that you acknowledge, on the work that you turn in, the help that you received. Points will be deducted if it appears that labor has been divided among multiple students; otherwise, there will be no penalty for small amounts of acknowledged assistance.
If you have any questions about these rules at any time, please discuss them with the instructor immediately.