Skip to end of metadata
Go to start of metadata

Database Systems

Tuesday, Thursday 3:30-4:45pm in 1404 Siebel Center


Peixiang Zhao (Principal)
Office: SC 0207
Office Hours:  Fridays 2:30pm-3:30pm
Phone:(217) 244-0526 or (217) 333-1463
Yizhou Sun (Week 1, Week 3)
Office: SC 0207
Office Hours: Thursdays 5:00-6:00pm (Week 1&3)
Phone: (217) 333-1463 

Acknowledgement: Prof. Kevin C. Chang is our mentor of this year's CS411!

Teaching Assistants

Reza Shiftehfar (
Office: SC 0207
Office Hours: Thursdays 8:30am-9:30am
Phone: (217) 333-1463
Task: Project 1, In-class programming tutorials
Mark Overholt (
Office: SC 0207
Office Hours: Tuesdays 2:30-3:30pm
Phone: (217) 333-1463
Task: Homework, midterm exam, final exam, tutorials
Duo Zhang (
Office: SC 0207
Office Hours: Monday 5:00-6:00pm
Phone:  (217) 333-1463 
Task: Project 2, newsgroup, website, tutorials

About the Course

As the first introductory course for databases, this course studies the fundamentals of using and implementing relational database management systems (RDBMS). 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.


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


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.

Lectures and Class Participation

We strongly encourage (and appreciate!) students to attend classes, because effective lectures rely on students participation to raise questions and contribute in discussions. Although we probably will have a large class, we will strive to maintain interactive class discussions if possible.

We will provide lecture notes before class, which will be posted on the Schedule page.

Questions, Discussions, and Help

  • If you have any questions or need clarification of class material, what should you do? First, try to discuss with your project group peers-- 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.
  • Next, if you do not get a satisfactory answers, try to post your question to the newsgroup (class.fa11.cs411 at news server whenever possible, or otherwise email the TA in charge. 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 if you can!  Don't be shy. Use our office hours to their fullest extent to help your study.
  • Any announcements will be posted on both the newsgroup and the Announcements page. Make sure to check either place frequently enough to stay informed.


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.


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


We will arrange a few hands-on tutorial sessions to help students in preparing projects.


For all students, 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.

For graduate students who choose 4-credit  for this course, besides the programming project aforementioned, they need to submit a research survey related to database systems. This project will be structured with several milestones as well, leading to a complete survey report near the end of the semester.


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

Extra 4-Credit Work (Optional for Graduate Students)

Graduate students MAY take this course for 4 credit units. (Undergraduates take this course for three hours credit.) For the extra unit, you will complete an additional project-- i.e., you will work on both tracks of the projects.

In-class Quiz

To encourage attending classes and participate, there will be several in-class quiz for students. Quizzes will test your participation in the class, accounting for 4% of the class grading in total.


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

Homework Assignments 20%
Projects 30%
Midterm Exam 20%
Final exam 30%
In-class Quiz  4%

Note that, with the additional (and required) component of In-class Quiz, students will have score points of 104%, which will be scaled back to 100% (i.e., total-score = total-score /104%) in overall scoring.

For graduate students, each project will take up 30%, and your final score will be normalized to 100%.

Final grading:

Total Grade
90-100 A (A-, A, A+)
80-89 B (B-, B, B+)
70-79 C (C-, C, C+)
60-69 D (D-, D, D+)

This table indicates minimum guaranteed grades. Under certain limited circumstances (e.g., an unreasonably hard exam), we may select more generous ranges or scale the scores to adjust.
This course may contain both graduate and advanced undergraduate students. We expect to grade both undergrads and grads on the same scale, as past experience shows that both groups perform at roughly equal levels. However, if a significant performance disparity develops, we may choose to grade the two groups separately.

Please remember that students are bound by the University honor code on academic integrity in regard to all work related to this course. Any student found to be violating this code will be subject to disciplinary action. For further details, please check the policies.

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.