Your grade comes

  • 49 percent from homework (lowest 1.5 scores dropped, see HOMEWORK below),
  • 50 percent from two exams [exam score: 0.7 max(Midterm, Final) + 0.3 min(Midterm, Final)],
  • 1 percent from filling out an evaluation questionnaire towards the end of the course.
More details are given below.

all   open all close all

Academic Integrity

All work for this course is to be done in compliance with the standards of conduct set by Duke's Academic Integrity Council for both graduate and undergraduate students.

Using someone else's material in your work without giving credit is cheating, and will result in a failing grade in the exam or assignment involved in any case, and a failing grade in the course for more serious cases. The same holds for making materials available to others in the class: Who gives and who receives information will be treated the same way. "Using" or "making available" concerns any transfer of information, direct or otherwise. "Your work" is anything you turn in, including homework, project reports, and exams. As the sole exception, class materials, including lecture notes, handouts, slides, and homework assignments need not be cited when they are used.

The only communication allowed when working on a homework assignment is with your group peers, if you choose to work as a group (see Homework below), and with the teaching staff of this course.


Homework assignments will be posted on the homework page a week ahead of the due date.

All homework is to be submitted through Gradescope. Assignments will specify exactly what to submit, and what to call your files. Typically, you will submit both a PDF file and a Jupyter notebook.

Homework is to be done either individually or in pairs or in triples, and working in pairs or triples is strongly encouraged: This helps you discuss concepts and get unstuck when you encounter difficulties. It also helps us return your graded work earlier, since we'll have to read fewer papers. No other groupings are allowed.

Given the large class size, we will not be able to accommodate late homework. Please don't bother telling us reasons why you cannot submit an assignment. This includes illness, travel for interviews, anything else. To address any difficulties this policy may create, the lowest homework grade (including a zero for no assignment) will be dropped and the weight of the second lowest will be set to half that of the other homework grades.

Course Evaluation

One percentage point of your grade comes from filling out a class evaluation form at the end of the course.

For full credit, you need to fill out the course evaluation by a deadline to be specified on Ed STEM in due time and send Carlo ( an email, by the same deadline, stating that you filled out the form. More instructions will be given on Ed STEM.


There will be a midterm exam and a final exam on the dates announced on the main course page. Both exams are closed-book, closed-notes, and will be in person, on the dates and times specified on the class home page. Sample exam questions will be made available in homework assignments after homework 0. These sample questions are in lieu of sample exams.


All class notes, homework assignments, and solution samples, are required reading. The only exceptions are all appendices to the class notes, which are optional reading.


Students are expected to be familiar with Python 3, and to install a full and up-to-date distribution of Python 3 through Anaconda on their computers. Instructions are given in Homework 0. See the resources page for pointers to tutorials.

COMPSCI 527, Duke University, Site based on the fluid 960 grid system