CS 311: Database Systems
12:30-1:45 TU-TH in
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).
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, email@example.com.
Office hours: Tuesday 1:45-2:45pm, Thursday 1:45 - 2:45 pm (one hour each, after the lecture).
Michael Makstman, TA, 1271 DCL, firstname.lastname@example.org, 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, email@example.com, 217-244-8522.
Office hours: Wednesday, 12-1.
Steven Yun-Tien Lee, TA, 1271 DCL, firstname.lastname@example.org(email@example.com,LeeYunTien@msn.com),
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.
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
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
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
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.