EECS 484 provides a basic introduction to relational database management
systems (DBMSs). This course is designed to provide you with both an external
and an internal view of relational DBMSs.
Topics related to the external view will allow you to use a relational DBMS.
Whereas course projects will involve a specific commercial database (Oracle),
the purpose of this course is not to learn the details of how to use any
specific commercial database system, and we will minimize product-specific
issues that you need to learn. If you are interested in the details of SQL
programming, or the operation of a specific commercial database system, you
will be able to pick this up after you have taken this course.
Topics related to the internal view have been selected to give you an
understanding of the fundamental database concepts and
implementation techniques that are used in relational database engines. Using
the course project, you will actually build a few key components of a database
engine. This course will allow you to better understand how a relational
DBMS works, making you a more sophisticated database user. You will need the
understanding provided by this course if you expect to be a decent database
administrator, even if you have no plans to write code inside a database
EECS 281 or graduate standing in CSE.
Teaching Staff and Office Hours
Instructor: H. V. Jagadish, jag [AT] umich.edu Office Hours:W noon-1pm in Room 4601 BBB
GSI: Ishan Mittal, imittal [AT] umich.edu Office Hours: Tue 12.30-2 and Fri 10-11.30 in Room 1637 (or 1620) BBB
GSI: Yi Wang, unnamed [AT] umich.edu Office Hours: Wed 3-6 in Room 1637 (or 1620) BBB
IA: Sravan Rengarajan [AT] umich.edu Office Hours: Mon 1.30-3 and Fri 1-2.30 in Room 1637 (or 1620) BBB
Teaching staff will typically hold office hours in room 1637 in the CSE
learning center. If it appears most student questions are code-related,
office hours may be moved to CSE 1620.
These two rooms are across the hall from each other -- check both places if
you aren't sure where office hours are.
Lecture Time and Place
Two lecture sections:
MW 9:00 - 10:30, Chrysler Auditorium.
MW 10:30 - 12:00, 1005 DOW.
Five discussion sections, all on Friday. You should attend the section
you are signed up for.
10.30-11.30 3150 Dow with Rahul Raina
11.30-12.30 1006 Dow with Ishan Mittal
12.30-1.30 1005 Dow with Yi Wang
1.30-2.30 1005 Dow with Yi Wang
2.30-3.30 1014 Dow with Sravan Rengarajan
Database Management Systems (3rd edition) - by Raghu Ramakrishnan and Johannes Gehrke, McGraw Hill, 2003, ISBN: 0-07-115110-9. The book has a supporting website, where you can find answers to odd-numbered exercises.
We will also use lectures by Jennifer Widom, in her course "Introduction to Databases", as a resource. For specific lectures, you will watch Jennifer's lecture on coursera *before* you come to class. In class, we will use a "flipped" classroom model.
We will use CTools for several purposes in this course. Please try logging in during the first few days of class, and send e-mail to the GSI if you encounter difficulty.
Discussion Forum: Please use piazza
to post questions about class material and assignments. This should be your
preferred method of electronic communication with the course staff (as
opposed to direct e-mail) because it allows all students to benefit from the
response to your question. Of course, you should not post solutions or code
on the forum! The discussion forum is a shared resource, so please do not
abuse it. We will do our best to respond to questions within 24 hours.
Assignment Distribution: Each of the programming assignments and
projects utilizes some source code provided by the instructor. We will be
distributing this source code via CTools.
Assignment Submission: Finally, you will submit your assignments
via CTools. To submit your assignment, please log into CTools and click on
the "Assignment" tab. Follow the posted instructions carefully as any
deviation from these instructions could cause your submission to fail our
The second programming assignment requires you to use an Oracle database.
Each student will receive an Oracle account from CAEN during the first few
weeks of class. (CAEN will send you information about this directly.)
Course Requirements and Grading
Exam 1: October 18
Exam 2: December 13
Projects: 4 programming assignments
Homeworks: 5 written assignments
2% each for the best 4
To pass this class, you will need to show a passing performance in both projects and exams: the total mark computed according to the distribution above will not in itself suffice.
Projects, Partners, and Late Days
You will work in teams of two for each programming assignment. You have two free late days over the
semester for all projects combined. You will be penalized 1% of a full semester grade for each permitted late day beyond that. Typically, each project will allow a maximum of two late days.
Please register your group by Friday, September 13, at 11:59pm. You can register using the form here.
The written assignments are to be submitted by each individual. No late days are allowed. The best 4 out of
the 5 will count toward your grade (i.e., the worst one will be dropped).
Please note that these flexible policies have been designed keeping in minds that there will sometimes be challenges during the semester, perhaps an illness, a family emergency, or time pressures from job interviews or other activities/classes. Between the dropped assignment, the free late days, and a working relationship with a project partner, it is expected that you will handle such challenges.
All students (including LS&A and Engineering) are required to observe the
Engineering Honor Code in all assignments and exams. A copy of the honor code
can be found here. Please
make sure that you clearly understand what constitutes cheating. In general, your are encouraged to discuss your homeworks and projects with other students, but are forbidden to copy. If you are not
sure in any specific case, you should ask the teaching staff. The University
takes honor code violations seriously, and penalties can be severe.
Students with disabilities that are documented with the Services for Students with Disabilities (SSWD) Office should contact the professor during the first two weeks of class to make appropriate arrangements.