Course Syllabus


At the end of the course, students should be able to

  • Create well-designed relational databases
  • Write database code to update data in and make efficient complex queries from relational databases.
  • Write application code that securely interacts with relational databases.
  • Use some non-relational databases.

Course Structure

The class periods will consist of a mixture of lecture and activities (multiple-choice questions, discussion, exercises).  While the in-class activities are ungraded, participation is expected and are part of the learning process.  Lecture notes will be posted, but these will not contain all of the information in class.  Due to both of the previous points, class attendance is strongly encouraged.

To support the multiple-choice questions, students should pick up "clickers" at the beginning of each class in which we'll use them.  Return them to their boxes at the end of class.

To support some of the in-class exercises, students should bring laptops to class.  Software installation instructions will be provided on the first day of class.  Laptops should only be used during class for these exercises and, optionally, for taking notes.  If you don't bring a laptop to class, please pair with another student for these in-class exercises.

To support other in-class exercises, students should bring paper and pencils/pens.


As previously stated, in-class exercises and class attendance will not be graded.  The graded work will consist of

  • Nine assignments, worth 70% in total, or roughly 7.8% each
  • Two exams, worth 30% in total, or 15% each

The requirements for the assignments and exams in COMP 533 will be a superset of the requirements for those in COMP 430.

Most assignments will be done individually.  The larger programming projects will be done in groups, where group size will be specified later.  All members of a group will need to be enrolled in the same version of the cross-listed course.

Exams will be done individually.

If you believe your grade is incorrect, you have 7 days from when the assignment or exam was returned to bring this to the attention of the staff.

  1. Discuss it with the original grader.
  2. You can appeal to the TA in charge of grading (see the Course Staff in the navigation) or the instructor.

The Canvas system has the notion of a "due date" and a "available until date". The "due date" is the real deadline by which you should turn in your work. The "available until date" is the time after which the system will stop accepting submissions.

Late penalty:  We will apply a late penalty of 10 points per day for assignments (not exams) turned in after the due date.

Late days:  Up to 3 late penalties per student will be automatically removed at the end of the semester.  Thus, each student effectively is allowed 3 late days of penalty-free 24-hour extensions of assignment deadlines (not exams) for whatever reason.

Extensions:  You can request an extension from the instructor.  Extensions allow students to turn in graded work late without a penalty.  Extensions will only be granted under exceptional circumstances (such as medical emergencies or school-related travel).  Having lots of work and deadlines is not an exceptional circumstance; it is part of being a college student.

Honor Code

We take the Honor Code very seriously. The work you submit for this class is expected to be the result of your own work. Attempting to take credit for someone else’s work by turning it in as your own constitutes plagiarism, as defined by the Rice Honor Code.

For assignments, you may use any materials provided by the course, including the course staff.  You may use your own materials, including your class notes and work from in-class exercises.  On group assignments, you may use any of your partners' materials, as well.  On group assignments, you should fully collaborate with your partners, and this collaboration requires no citation.  Otherwise, you may collaborate with anyone else, any website, or book.  However, you may use at most two lines of code from any such source.  Changing variable names or otherwise transforming code does not allow you to exceed that two-line rule.  You should comment your code to cite any such sources.

For exams, you will need to bring a laptop.  You may use the laptop to write and test code.  You may access anything provided as part of this course, including your own notes and in-class work.  You may access specified sites for documentation, but not any other website.  You may read your written notes and write on scratch paper, but may not use any books.  No collaboration is allowed.


If you have a documented disability that will impact your work in this class, please contact me in the first two weeks of class to discuss your needs. Additionally, you will need to register with the Disability Support Services Office in the Allen Center.

Course Summary:

Date Details