CS222 (formerly ICS214A) - Principles of Database Management
Course Information (Fall 2007)
Professor Chen Li

Index

Course Goals

The primary goal of this course is to provide an implementer's view to database management systems. Specifically, the course deals with the implementation issues of record-oriented file systems, access methods, query optimization, and query processing, which are the key database technologies. This course is a MUST if you wish to explore database management as either an area of research and/or plan on taking CS223 (formerly ICS214B) or CS224 (formerly ICS215). A significant portion of database management research as well as industrial development deals with adapting the basic database techniques covered in this course to advances in hardware and software technologies and to the needs of the applications. The class projects (if you choose that option) will be designed to allow students to independently explore these advances through either a insightful theoretical study or an implementation.

This course (CS222) has a follow-up course, CS223, which will cover topics of distributed databases and transaction processing.

Instructor and Office Hours

Professor Chen Li, Donald Bren Hall, Room 2092, chenli AT ics DOT uci DOT edu
Office Hours: Tuesdays/Thursdays, 2 - 3 pm, Bren Hall 2092, 949-824-9470
Reader: Vivek Singh, singhv AT uci DOT edu

Working in Groups

Each student should do the homeworks individually. Working together on projects is strongly encouraged. You will learn more and get a better grade if you work with someone else. You can form groups of no more than 3 students and submit one homework solution per group making sure that the names of all the group members appear on the first page. If you wish, you can change groups from one assignment to another. Do not work together on the final exam: cheating in exams will be punished to the full extent permitted.

Grading Policy

Homework Assignments 15%
Programming / Project 30%
Midterm 25%
Final Exam 30%

Work in groups will be graded on a per group basis. Group members are expected to know the whole assigment.

For all the graded assignments and projects, if you disagree with the grading, you can discuss with me within two weeks after they are returned. After that, all the grades will be finalized.

Prerequisites

You should have a reasonable (undergraduate level) understanding of core computer science concepts, good familiarity with relational databases (equivalent of CS122A), some familiarity with object oriented concepts, good programming skills (a significant portion of your grade is based on projects which require extensive programming), and familiarity with basic undergraduate level operating system concepts (e.g., virtual memory, segmentation, demand paging, disk scheduling, processor scheduling, mutual exclusion, semaphores, concurrent programming, deadlocks). Above all, you need to have a positive attitude towards learning, no inhibitions about working in groups and learning from each other.

Time and Place

The class meets Tuesdays and Thursdays, 12:30 pm -- 1:50 pm in Donald Bren Hall (DBH) Room 1500. Check the UCI Map.

Textbooks

Electronic Lists


For any problems, questions or suggestions about this page, please contact chenli + AT + ics.uci.edu. rev. Monday, October 01, 2007 - 23:26:16