CS411 Fall 2009

Tuesday and Thursday, 03:30pm - 4:45pm, 1404 Siebel Center

Administration

-         Course policies

-         Grades

About the Course

As the first introductory course for databases, this course studies the fundamentals of using and implementing relational database management systems. First, from the user perspective (i.e., how to use a database system), the course will discuss conceptual data modeling, the relational and other data models, database schema design, relational algebra, and the SQL query language. Further, from the system perspective (i.e., how to design and implement a database system), the course will study data representation, indexing, query optimization and processing, and transaction processing.

Prerequisites

-         Background: CS 225 or CS 400; or consent of instructor.

-         Programming: For projects, you will do some significant application programming, with both SQL and some host languages of your choice (e.g., C, C++, or Java). We will not cover programming-specific issues in this course.

Textbook

-         Database Systems: The Complete Book, 2nd edition, by Hector Garcia-Molina, Jeffrey D. Ullman, and Jennifer D. Widom. See the book's home page for errata, selected solutions, and other reference materials.

-         The first two chapters are available electronically Chapter1.pdf Chapter2.pdf

Course Format and Activities

This course will draw materials from the textbook as well as recent database literature. Students will study the materials and complete a project.

We post lecture notes after class, or sometimes shortly before.

Questions, Discussions, and Help

-         If you have any questions or clarification of class material, turn to your project group peers first. This way, you can get immediate help, and also learn to communicate "professionally" with your peers. You will know the material better by discussing with and explaining to your peers.

-         You can also get answers from the newsgroup (class.cs411 at news server news.cs.uiuc.edu), and by emailing your TAs. Note the newsgroup is for you and your peers to discuss class-related materials and to help one another. The TAs will monitor the newsgroup and try their best to help. But please be aware that the TAs may not be able to answer all questions on the newsgroup in a timely manner, due to the overwhelming number of questions that such newsgroups sometimes generate. Also, there are obviously things that are not appropriate for the newsgroup, such as solutions for assignments as well as comments or requests to the staff.

-         In any case, for more thorough discussion, come to our office hours (see here for schedule) if you can! The TAs and the instructor have office hours every weekday. Don't be shy!

-         Major announcements will be posted on both the CS411 newsgroup and the web site, while smaller announcements (e.g., clarifications of homework questions) go on the newsgroup only. Make sure to check the newsgroup frequently enough to stay informed.

Reading

Read the textbook for the required reading before lectures, and study them more carefully after class. Please note that all the required readings are fair materials for exams. These materials may not be fully covered in lectures. Our lectures are intended to motivate as well as provide a road map for your reading-- with the limited lecture time we may not be able to cover everything in the readings.

Assignments

There will be four written assignments, spaced out over the course of the semester.

Projects

There will be a semester-long project, which involves significant database application programming. The project will be structured with several milestones due in the course of the semester, leading to a demo and write-up near the end of the semester.

Examinations

There will be two exams: midterm and final. We will not normally give make-ups for missed exams; please see the policies.

4 Credit Option for Graduate Students

Those taking the class for more credit are expected to do more work. In this case, you will do an extra project; more information about the graduate project will be available later.

The 4 credit option is not available to undergraduates.

Evaluation

We plan to determine final grades of the course in the following way (subject to minor changes):

-         Homework assignments: 35%

-         Project: 25%

-         Midterm exam: 15%

-         Final exam: 25%

-         Extra project for 4 credit graduate students: 20%, with the overall scores scaled proportionally.