Grading:

  • Homework (25%): There are 6 homework assignments, to be completed individually, with a mix of written and programming problems. They will be posted in the Schedule document accessible from the course website. All homework assignments have a due time of 11:59pm, and there will be an hour grace period without penalty. Late submissions beyond that will only be made in the case of documented excuses; follow the standard university procedure for filing them. In other words, you must submit an Incapacitation Form, Religious Observance Notification Form, or Notification of Varsity Athletic Participation Form; or you must arrange for your academic dean or Director of Graduate Studies to email the instructor regarding your circumstances. When calculating your final grade, we will automatically drop your lowest homework grade.
  • Gradiance exercises (8%): 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. For more information on using Gradiance, please see the “Gradiance Help” document under “Practice (Gradiance)” on the course website. There will be 11 Gradiance exercises throughout the semester, timed to practice materials from recent lectures. Gradiance deadlines are hard; no late submissions will be considered. However, when calculating your final grade, we will automatically drop your two lowest Gradiance exercise scores.
  • Class-participation quizzes (2%): Throughout the semester, there will be 2 quizzes during lectures and 2 during discussion sessions. They are not graded in the traditional sense; participation alone will earn you full credit. There are no make-up quizzes, but we will automatically excuse up to 2 missing quizzes.
  • Project (25%): The course project are to be done in teams. Teams can select from one of the two tracks: standard and open. We expect 5 members per team. The standard track involves building a full-stack database-backed web application according to the specification and from a skeleton codebase provided by the course. For the open track, teams can self-propose project ideas subject to approval by the course staff. Details will be released in the Schedule document. There will be various milestones throughout the semester; the final submission is due on the noon on the day of the scheduled final exam slot. Instead of holding an exam during this slot, we will have the final project presentations and a celebration.
  • In-class exams (40%): There are two in-class exams, one sometime before the Spring Recess and the other before the Reading Period. Both midterms are open-book and open-notes; e-readers are allowed but not the use of smartphones, tablets, or laptops. As the difficulty of the exams is sometimes hard to calibrate, we may apply a uniform adjustment to all scores so that the class average is not too low. Such an adjustment, if any, will only be positive; in other words, the scores will never be “curved down.”
  • Extra credits: Homework assignments, project, and exams all carry extra credits. When calculating the course grade, project and exam extra credits are “uncapped” in the sense that they allow the percentages of these components to exceed those specified above. However, homework extra credits are “capped” in the sense that when applied, they cannot allow the sum of percentages of homework and Gradiance exercises to exceed the sum as specified above.
  • Letter grade assignment: Except for the A+ cutoff, grading is done on a fixed scale; in other words, there is no curve. The cutoffs, in terms of the minimum percentages of total points required, are as follows: 60->D-; 63.33->D; 66.66->D+; 70->C-; 73.33->C; 76.66->C+; 80->B-; 83.33->B; 86.66->B+; 90->A-; 93.33->A. Earning less than 60% will result in F. The A+ cutoff will be determined according to the final grade distribution.

Standards of Conduct: Under the Duke Community Standard (see also here), you are expected to submit your own work in this course. When working on homework, Gradiance exercises, and projects, it is useful to ask others (the instructor, the TA, other students, or even generative AI tools) for hints or debugging help, or to talk generally about the solution strategies. While such activities are acceptable, the following rules must be followed:

  1. You must report any assistance you received in your submission. Exemptions to this reporting requirement include: help received from the course staff or public Ed posts; help received for Gradiance exercises; and project discussion with your own team. Beyond these exemptions, any assistance received that is not given proper citation will be considered a violation of the Standard.
  2. You are always responsible for understanding and being able to explain on your own (without human or AI help) all solutions that you submit.

The course staff will pursue aggressively all suspected cases of violations, and they will be handled through official University channels.

Communication: All questions about course materials or those of general interest to the class should be directed to Ed; do not email the course staff. You will get your questions answered faster on Ed than via personal emails to the course staff, because Ed is monitored closely by everybody in the class, not just the course staff. You should also check your email regularly for important course-related announcements sent through Ed. Other inquiries/requests (e.g., SDAO requests or other private matters) should be directed to compsci-316@duke.edu, which will reach all senior course staff. Again, emailing individual instructors or TAs will have much longer delays.

Book: We recommend (but not require) 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 on the schedule page.

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 containers – for details see “Technical Documentation” under “Help” section of the course website. Students with demonstrated high financial need who have limited access to computers may request assistance in the form of loaner laptops. Short-term emergency loaner laptops are available from OIT.