Class meetings:
Wednesdays 1800–2030 hrs.
(We will probably break for 5–10 minutes near the middle of each meeting.)
210 Neville Hall
Sudarshan S. Chawathe
224 Neville Hall
Office hours:
(Please check for changes.)
  • Mondays 1100–1200 hrs.
  • Wednesdays 1100–1200 hrs.
  • Wednesdays 1700–1800 hrs.
(207) 581-3930
The result of inserting the state’s name after the first u in
Please put the string COS480 near the beginning of the Subject header of your messages to me.
A first course in database systems. Jeffrey D. Ullman and Jennifer Widom. Prentice-Hall, Upper Saddle River, New Jersey, second edition, 2001.
Class Web site:
We will use the class Web site for posting announcements, homeworks, hints, solutions, etc. Please monitor it.
Class mailing list:
Please make sure you are on the class mailing list. A sign-up sheet will be circulated at the first class meeting. If you missed it, you need to contact me to get on the list.
Subject matter:
This course covers database systems from the perspective of database designers and database programmers (not to be confused with database system implementors). The emphasis is on fundamental topics that should be familiar to every computer scientist and good programmer. In addition to traditional topics such as Entity-Relationship modeling, relational database design theory, relational algebra and calculus, SQL, and Datalog, the course also covers object-oriented and object-relational databases, with topics such as ODL, OQL, and SQL3. For a more detailed listing of course topics, please refer to the textbook’s table of contents.
Special needs:
If you have special needs of any kind (including, but not limited to disabilities, absences due to participation in sports or other activities, etc.) please contact me as soon as the need is known to you.
Although I expect students to attend all class meetings, I will not be taking attendance. If you miss a class meeting, you are responsible for making up the lost material. If you have a valid reason for missing a class, let me know early and I will try to help you make up the class. (See above.)
At the beginning and end of each class, I will announce sections of the textbook covered in each class and those due at the next class. An approximate schedule appears in Figure 1. Please use it only as a rough guide to plan your studies. Do not use it to schedule travel or other events. If you need a definite answer on when something will or will not occur, you should check with me.

# DateMaterial

109-071.*, 3.1, 5.1, 5.2’
2 -14
3 -215.2, 5.3, 5.4, 6.1, 6.2, 6.3’
4 -286.3, 6.4, 6.5, 6.6, 6,7
510-05HW01, 2.*, 3.2, 3,3
Fall break 10-07 through 10-11
6 -12HW02, review, first midterm exam
7 -193.4, 3.5, 3.6, 3.7
8 -26HW03, 10.1, 10.2, 10.3, 10.4
911-094.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7
10 -16review; second midterm exam
-23no class; Thanksgiving break 23–27
11 -309.1, 9.2, 9.3, 9.4, 9.5
1212-077.1, 7.2, 7.3, 7.4
13 -14review
-163:00pm: projects due
-19as scheduled: project demos
14 -21final exam
4:00pm–6:00pm, Neville 210

Figure 1: Approximate Schedule

Make-up classes:
I may have to reschedule a few classes due to my other professional commitments. I will make every attempt to minimize the number of such occurrences and to reschedule for a time that works for most students. Further, I will make sure no student is penalized by such occurrences.
Grades will be based on class participation (5%) homeworks (15%), two mid-term exams (15% each), a final exam (20%), and a project (30%).
Class participation:
Students are expected to contribute to learning by asking questions and making relevant comments in class. Quality is more important than quantity. Disruptive activity contributes negatively. Please make sure all disruptive devices are disabled while in class.
Homeworks include programming and non-programming ones. No collaboration is permitted. You are allowed to discuss the problems at a high level, but the final solution must be your individual work.
All exams are open book, open notes. You are free to bring with you any resources that you find useful. However, no communications are permitted other than between students and me.
In addition to the programming and other homeworks, the course features a semester-long group project. Students will work in groups of three or four to design and implement a substantial database application. Projects will be graded based on a written project report, the submitted source code, a demonstration, and a question-and-answer session immediately following the demo.
We will use PostgreSQL as the database system for programming assignments. You are free to program in any programming language you choose. However, if you are likely to need assistance, you should check with me before making your decision.
Class accounts:
Class accounts for Unix and PostgreSQL will be generated based on the forms distributed at the first class meeting. If you missed them, please get in touch with me.
Due dates:
All due dates are strict, as announced in class. If you believe your work was delayed by truly exceptional circumstances, let me know as soon as those circumstances are known to you and I will try to make a fair allowance. However, the default is that you get a zero if you don’t turn in the work on time.
Academic honesty:
I expect you to hold yourselves to the highest standards of academic honesty. Please take this point very seriously. If you are not sure if something is permitted, check with me. All help you receive, even if permitted, must be prominently noted in all work you submit. Plagiarism and other forms of cheating will result in very stiff penalties (including, but not limited to, an F grade in the course and further disciplinary action from the university).
COS 580:
There will be additional readings assigned to COS 580 students. The readings will be a mix of some classic papers of the database field and more recent publications. COS 580 students are expected to be comfortable reading such papers. There will also be additional and/or different questions on the exams and homeworks. Similarly, COS 580 students will be held to a higher standard during the question-and-answer session following the project demo.