Announcements Syllabus Lectures/Schedule Homeworks Exams Project Research Others

CS 311: Database Systems

Fall 2003

12:30-1:45   TU-TH  in 1320 DCL'

Course Goals
This is the first course on database systems and data management at UIUC. We will cover mostly relational database systems. You will learn how to effectively design and create relational databases, and how to use them via the SQL query and manipulation language. You will also learn about the internals of a relational database systems. In particular you will learn about how such systems store data, optimize and execute SQL queries, and process transactions (to allow hundreds or thousands of users to access and manipulate the data concurrently).

We will briefly cover advanced, non-relational issues, such as object-oriented and XML data models, and data integration. In addition, there may be a light research component that you can try, to learn more about vibrant research activities in databases and data management today.

Prerequisite: CS 225 or CS 300. You must have taken a course on data structures and algorithms. In addition, you should know at least one programming language such as C++ or Java pretty well (for the project component of the course).

Course Format
For all students: There will be (a) two lectures per week, lasting 75 minutes each, (b) 5-6 homeworks, some of which will involve light programming, (c) a project that involves a significant amount of programming, and (d) two exams, a midterm and a final.

Project groups: Project will be done in groups of 3 or 4 students. Hence, you are strongly encouraged to start forming groups now.

For graduate students: You will be required to do an extra project. The exact format is open to discussion, but typically will be a 10-15 page survey on research in a particular database topic.

Staff information & tentative office hours
AnHai Doan, Professor, room 2225 DCL,
Office hours: Tuesday 1:45-2:45pm, Thursday 1:45 - 2:45 pm (one hour each, after the lecture).

Michael Makstman, TA, 1271 DCL,, 217-244-8522.
Office hours: Monday 11:20-12:20 and Friday 11:20-12:50.

Seung-won Hwang (pronounced "xung-won"), TA, 1271 DCL,, 217-244-8522.
Office hours: Wednesday, 12-1.

Steven Yun-Tien Lee, TA, 1271 DCL,,, 217-244-8522.
Office hours: Monday, 5-6. (Note that Steven's office hours are for off-campus students only)

Off-campus students contact phone is 1-800-252-1360 ext. 485-22 in USA. steven will answer the phone.

Contacting the Staff
If you have a question or need help, try asking people in your project group first. This way you can get help very fast and also learn to communicate with your peers (a valuable skill for your real-world jobs). Next, if you don't get a satisfactory answer, or if your group has not been formed yet, you can try posting your question to the class newsgroup or contact a TA.

The class newsgroup is uiuc.class.cs311 (at the moment it has not yet been created). Please 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 with questions. But please be aware that the TAs may not be able to answer all questions on the newsgroup, or answer all of them in a timely manner, due to the overwhelming number of questions that such newsgroups sometimes generate.

The TAs and I myself, however, hold office hours on ALL weekdays to help you with possible questions (please see above). You should not be shy and should use office hours to their fullest extent. You can also email the TAs with your questions. The TAs will forward the more difficult questions directly to me.

On-campus Students: Please contact Michael and Seung-won with your questions.

Off-campus Students: Please contact Steven and Seung-won with your questions. Their email addresses and the 1 800 phone number are listed above.

The required textbook is Database Systems: The Complete Book, by Garcia-Molina, Ullman and Widom, 2002.

I will also put the following books on reserve at the Gringer Engineering Library, in case you require another explanation of a topic:

  • "Database Management Systems" by Ramakrishnan and Gehrke.
  • "Database System Concepts" by Silberschatz, Korth, and Sudarshan.

Lectures, attendance issues, and new announcements
Lectures are held 12:30 - 1:45, Tuesday and Thursday, 1320 DCL.

Powerpoint lecture slides will be available on the class homepage. Please note that lecture slides are to complement the lectures, not to replace them. Hence, you are strongly encouraged to attend the lectures, or view them on the Internet.

If you miss a lecture, view its slides and the lecture itself as soon as possible. Also check the class homepage and the class newsgroup for new announcements. In general, new announcements will be posted on the class homepage. We will try our best to announce it in the class, post it on lecture slides, and also in the newsgroup in a timely manner, but class homepage is the primary source where you should look for new announcements.

Homeworks, project, and late policy
There will be some mandatory SQL programming for setting up and querying a database. Such queries are usually short compared to typical programs in other languages. There will be some SQL practice, and some homework that doesn't involve programming at all. The bulk of the programming will be for the class project.

More information about homeworks and the project will be posted soon.

Homeworks are due at the beginning of class on the due date, unless otherwise announced. Barring unusual circumstances, late homework will not be accepted.

Tentative Grading Breakdown
Homework: 25%
Project: 30%
Midterm: 20%
Final: 25%

Since this is an introductory database class, if you have mastered the materials well, you deserve the highest grade, regardless of what others are doing. Hence, I will try to grade on an absolute scale, rather than on a curve. At the moment, I can't tell you the exact absolute scale, since determining it requires knowing precisely how difficult the assignments and exams are.

Academic Misconduct
 All work turned in is expected to be your own. Although students are encouraged to study together, each student is expected to produce his or her own solution to the homework problems. Coping or using sections of someone else's program, even if it has been modified by you, is not acceptable. The University has very clear guidelines for academic misconduct and the staff of CS 311 will be vigorous in enforcing them.