Grading: Grading is done on an absolute, but adjustable scale. In other words, there is no curve. Anyone earning 90% or more of the total number of points available will receive a grade in the A range; 80% or more guarantees a grade in the B range; 70% or more guarantees a grade in the C range; 60% or more guarantees a grade in the D range. At the discretion of the instructor, the grading scale may slide down (i.e., grades go higher), but it will not slide up.
- Homeworks (35%): There are four homeworks, with a mix of written problems, programming problems, and supplemental online Gradiance (see below) problem sets and labs. Gradiance deadline is hard; no late submissions will be considered. Non-Gradiance parts of the homework that are submitted late will receive an automatic deduction of 5% per hour late, and will receive no credit after the sample solution becomes available. Exceptions will only be made in the case of documented excuses; follow the standard university procedure for filing them—in other words, you must submit a Short-Term Illness Notification Form, Religious Observance Notification Form, or Notification of Varsity Athletic Participation Form; or you must arrange for your academic dean to email the instructor regarding your circumstances.
- Gradiance is an online service pioneered by one of the authors of the textbook, Prof. Jeffrey Ullman at Stanford. One of the best features of Gradiance is that you are permitted to test yourself on a particular topic as many times as you like. You receive immediate feedback for each attempt, which avoids the shortcoming of the traditional submit-and-then-wait-for-grades assignments where one error in understanding can permeate solutions to multiple problems and does not get rectified until much later. We encourage you to continue testing on each topic until you complete the part of the assignment with a 100% score. Gradiance access is free. For more information on obtaining and using Gradiance, please see the Help/Gradiance section.
- Project (25%): The course project are to be done in groups of about five members. Details can be found in the project description under Schedule.
- Midterm (20%) and final (20%): Both midterm and final exams are open-book and open-notes. Final is comprehensive but will focus on materials not already covered by the midterm.
Book: We use the following book: Database Systems: The Complete Book, by Hector Garcia-Molina, Jeffrey D. Ullman, and Jennifer Widom. 2nd Edition. Prentice Hall. 2008. See the publisher’s book page and the Amazon book page. Relevant chapters for reading are posted under Schedule.
Gradescope: We will use Gradescope (follow the link from the navigation bar) for submission and grading of non-Gradiance parts of the homework assignments, project work, as well as grading of exams. Be sure to read Help/Submitting Non-Gradiance Work for instructions.
Communication: You should check your email regularly for important course-related announcements. Old email messages can be found under “Email Archive” on Sakai. All questions that may be of general interest to the class should be directed to Piazza (follow the link from the navigation bar); do not use the mailing list. You will get your questions answered faster on Piazza than via personal emails to the course staff, because Piazza is monitored closely by everybody in the class, not just the course staff.
Sakai: We will use the Sakai course management system for posting sample solutions (under “Resources”) and for checking grades (under “Gradebook”).
Computing: You will need access to a computer (any major OS will do) on which you are allowed to install new software. We will also use cloud-based virtual machines—see Help for details.
Standards of Conduct: Under the Duke Community Standard, you are expected to submit your own work in this course, including homeworks, projects, and exams. On many occasions when working on homeworks and projects, it is useful to ask others (the instructor, the TA, or other students) for hints or debugging help, or to talk generally about the written problems or programming strategies. Such activity is both acceptable and encouraged, but you must indicate in your submission any assistance you received. Any assistance received that is not given proper citation will be considered a violation of the Standard. In any event, you are responsible for understanding and being able to explain on your own all written and programming solutions that you submit. The course staff will pursue aggressively all suspected cases of violations, and they will be handled through official University channels.