Resources Resources

CS411 Spring 2004: Tuesdays and Thursdays, 5:00pm - 6:15pm, 1310 DCL

About the Course

Do you know how many Turing Awards were given to the database field? For what contributions?

The dominating relational database system, which we take for granted now, was deemed impossible to implement and difficult to use in its early days. What breakthroughs turned the rather mathematical idea into reality? What are the classic milestones that pioneered and shaped the landscape of the data management field? The story of System R vs. INGRES? Selinger-style cost based optimization? Jim Gray's degrees of consistency?

Do you know that, although relational database systems are almost commodity software now, researchers are even more fascinated by general data management issues?  The new challenges naturally arise in the junction of databases vs. information retrieval, structured vs. unstructured data, querying vs. searching, the Web, and many more novel contexts. What are the current topics and future agenda?


To build the essential foundation as a stepping-stone to data management research, this course exposes students to advanced database system design principles and concepts. We will broadly explore the classic as well as more recent research work. Our agenda will be two fold:

The course material will be drawn from original research literature- both classic and recent papers. We will generally cover one paper per class, and students will be expected to read the paper before the class. Participation in class discussions will be encouraged. Meanwhile, to establish implementation and research experience, students will complete a term project, which investigates some research problems or implement some research results.

Prerequisites

Reference Textbook -- Not Required

Course Format and Activities

This course will draw materials from the textbook as well as recent database literature. Students will study the materials, compile a tutorial on a certain theme, and complete a project.

Foundation and Context: Reading-based

    Before-Class Reading and Study-Guide Problems

To help pace regular reading, we expect students to read the assigned reading carefully before it is discussed in class. To encourage students read the paper and think it over before class, we require students to design and submit a study-guide problem, which is an open-book exam type problem with sample answers. The goal of writing study-guide problems is two-fold: 1) Students will read papers carefully to write good problems, demonstrating their understanding and digesting of materials. 2) Students will benefit by using problems written by their peers as study guides for reviewing. We plan to select good study-guide problems in homework assignments, in which case the selected problems will be rewarded bonus credits.  

Optionally, students can also in addition submit any questions that they did not understand and comments that they observed from reading, to be discussed in class. The instructor will attempt to address common questions and interesting comments in lectures, if time permits.

Please refer to the guidelines on writing, submitting, and grading study-guide questions.

Outlook: Tutorial-based

    Tutorial Compilation and Post-Tutorial Questions

There will be three outlook themes that we will take a tutorial approach-- in which students will survey and compile a tutorial on an assigned theme, although without actually lecturing it. A tutorial introduces and overviews the development of a certain topic area, taking a teaching perspective. For each theme, we will provide an outline and literature references as a starting point, upon which students will expand, compile, and develop a tutorial on the theme. Students will prepare a tutorial as if they would teach it in the class, for two 75-minutes sessions.  As deliverables, a tutorial consists of a set of presentation materials (slides) accompanied by a brief 3-5 pages teaching plan. Tutorial assignments will be handed out around early March, and will be due in early April.  

To parallel students efforts, for each theme, the instructor will also compile a tutorial and teach it in the class.

After each tutorial is discussed in class, we will assign several brief quiz-type questions, which students will answer via the same SGP submission mechanism.

Homework Assignments

To help students study the materials and prepare for exams, there will be about three to five written homework assignments, spaced out over the semester.

Examinations

There will be one in-class midterm exam; there will be no final exam. We will not normally give make-ups for missed midterm exams; please see the policies.  Note that, to help you prepare the exams, we will guarantee that at least 60% of the exam questions come (directly or indirectly) from homework assignments and study guides.

Class Participation

On-campus students are encouraged to attend class lectures and contribute in class discussions. A separate 5% of grading will be allocated for rewarding class participation of on-campus students.

Off-campus students can also benefit from our class discussion by, when watching class lectures on-line, pausing the video and actually thinking about the discussion questions. Of course, students can also use the class newsgroup to ask and answer questions.

Projects

There will be a term project, in which students work in teams over the semester. We will provide several project topics for students to choose from. These projects will emphasize either initial exploration of open research problems, or design and implementation of some research results into practical systems.

Evaluation

We plan to determine final grades of the course in the following way: