This course assumes that the students have already taken an introductory database course and have working knowledge of SQL, relational algebra, functional dependencies, the Relational Normalization Theory, the E-R model, embedded SQL, JDBC, B-trees, etc.

We will study various aspects of query languages that are not normally covered in an undergraduate course, such as relational calculus, QBE, Datalog, query optimization, etc. The main part fo the course will be dealing with object-oriented databases and XML. Towards the end we will study distributed databases, OLAP, and data mining.


There is a voluntary self-test, which you should take at the beginning of the course to test your knowledge of the undergraduate material. This test will not be graded. It is available through SBU Blackboard and is based on Chapters 3, 4, 5, and 6 of the textbook. If you find that this test is too hard and you are unfamiliar with the concepts it tests, you should evaluate whether you are ready to take this course.


There will be two exams, four quizzes (not counting the aforesaid voluntary self-test), and three projects.

The projects are integral part of the course as they provide concrete experience with the abstract ideas covered in the class. It is impossible to pass the course without doing substantial and successful work on each of the projects.

The following info must be prominently visible in program file headers (as a comment) and in items submitted as a hard copy:

  1. Student number
  2. Your first/last name
  3. Your email address
  4. Course number: CSE532
  5. Project number (e.g., Project 2)
  6. Due date
Your projects and homeworks must be submitted in a neat and organized fashion. You will loose points otherwise.

Your approach to solving problems is as important as the final result. You must show how you arrived at your solution and include appropriate explanations.

All assignments are to be done individually except when explicitly stated otherwise in the assignment sheet. In group projects, the project document must explicitly state who did which part of the project. Regardless of who did what, all members of the group must be on top of all aspects of the joint work.

Important: You must keep copies of all your homeworks and project files as your supporting documents in case of a dispute.

If you feel that your grade was assigned incorrectly and you deserve a higher grade, please meet with the TA who graded your work. You must schedule an appointment or come to an office hour. All appeals must be submitted within two weeks of the date the particular assignment was returned to the class.


There will be three projects. In one, you will be using Datalog; the second project will use Java, JDBC, and SQL with object-relational extensions to build a database application; and in the third project you will be building the same application using XML, XML Schema, and XQuery. All three projects must be accompanied by a design document, as will be explained in the individual assignments.

Computing facilities

You are expected to use your own laptop and install the required (free) software there. If you do not have one, you can use the departmental or university machines, but this is a much less convenient option.

Grading policy

This course will be graded based on one midterm, one final examinations, and three projects:

Project1:	 	8%
Project2:	 	10%
Project3:	 	10%
Ethics Quiz:             0%  but this quiz is mandatory!
Quiz 1:                  3%
Quiz 2:                  3%
Quiz 3:                  3%
Midterm exam:          	30%
Final exam:          	33%

Incomplete (I) grades will not be given in this course. There will be no make-up exams or extra-credit work.

Grades will be assigned based on the raw scores that you get for the projects, quizzes, and examinations. There will be little or no curving. The reason is that the examinations are designed to test the understanding of the material rather than to challenge you with hard questions. This is not a new course and we know exactly what is reasonable to expect.

The examinations are viewed as the main tests of the material. It will not be possible to get a good grade through the project alone. To get a high grade you must score high on all parts of the course.

Academic conduct

You can discuss the intellectual aspects of the course material with others, but not the specifics of the project assignments.

If you help another student with a project, use examples that do not resemble those in the project. Keep in mind that there are numerous ways to solve the same problem and essentially similar solutions can be formulated in many different ways. Therefore, suspiciously similar works will be considered as evidence of disallowed collaboration and plagiarism.
It is highly recommended not to test the limits of this policy. To avoid any misunderstanding, the following rules will be followed:

Americans with Disabilities Act

If you have a physical, psychological, medical or learning disability that may impact on your ability to carry out assigned course work, I would urge that you contact the staff at the Disabled Student Services office (DSS). DSS will review your concerns and determine, with you, what accommodations are necessary and appropriate. All information and documentation of disability is confidential.

Critical Incident Management

Stony Brook University expects students to respect the rights, privileges, and property of other people. Faculty are required to report to the Office of University Community Standards any disruptive behavior that interrupts their ability to teach, compromises the safety of the learning environment, or inhibits students' ability to learn. Faculty in the HSC Schools and the School of Medicine are required to follow their school-specific procedures. Further information about most academic matters can be found in the Undergraduate Bulletin, the Undergraduate Class Schedule, and the Faculty-Employee Handbook.

Course Schedule

  Course home page