Wednesday, Friday 3:00-4:15pm in 1404 Siebel Center
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.
- Background: CS 225 or CS400.
- 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.
- 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. First two chapters: Chapter1.pdf, Chapter2.pdf
This course will draw materials from the textbook as well as recent database literature. Students will study the materials and complete a project.
While the class lectures will be recorded for distant students, we strongly encourage (and appreciate!) on-campus 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.
- 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.cs411 at news server news.cs.uiuc.edu) 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! The TAs and the instructor will have office hours for all weekdays. 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 assignments and exams. These tutorials will likely be in early evenings. They will also be recorded for online viewing.
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.
There will be two exams: midterm and final. We will not normally give make-ups for missed exams; please see the policies.
Sample exams: will be posted here before exam.
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.
To encourage attending classes and participate, there will be three in-class quiz for on-campus students. Each quiz will test your participation in the class, accounting for 1.5% of the class grading.
We plan to determine final grades of the course in the following way:
|In-class Quiz (On-campus Only)||4.5%|
Note that, with the additional (and required) component of In-class Quiz, on-campus students will have score points of 104.5%, which will be scaled back to 100% (i.e., total-score = total-score /104.5%) in overall scoring.
|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.