Wednesday and Friday, 3:30 – 4:45pm, 1310 DCL
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.
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.
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 after class.
If you have any questions or clarification of class material, what to 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 your section TA. 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 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 CS411 newsgroup. Make sure to check the newsgroup frequently enough to stay informed.
Supplements to the textbook and additional programming examples are included in the resources section.
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 four written assignments, spaced out over the course of the semester.
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.
Here is an example midterm exam (pdf)
Those taking the class for more credit are expected to do more work. In this case, you will do an extra project. Discuss this with the Maryam Karimzadehgan by email or during her office hours; see the staff page for contact details.
Project status reports and other documentation should be emailed to Maryam with the appropriate subject line e.g. 'Graduate Project Stage 1'
The 4 credit option is not available to undergraduates.
We plan to determine final grades of the course in the following way (subject to minor changes):
Homework assignments: 25%
Midterm exam: 20%
Final exam: 30%
Extra-project for 4 credit graduate students: 20%. The overall scores will be scaled proportionally.