This is not a required course, so you are probably taking it out of interest. Because of this, you are likely to have little incentive to cheat, and are not overly anxious about grades. Nonetheless, expectations concerning academic integrity are summarized below, and violations will be pursued. Your grade comes 40 percent from homework, 25 percent from each of two exams, and 10 percent from class participation.

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 textbook, 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 peer, if you choose to work in a group (see Homework below), and with the teaching staff of this course.

Homework assignments will be posted on the homework page and announced on the class home page at least a week ahead of the due date.

All homework is to be submitted through Gradescope before beginning of class on the due date. Assignments will specify exactly what to submit, and what to call your files.

Homework is to be done either individually or in pairs on in triples. 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 grade fewer papers. No other groupings are allowed. Homework 1 spells out additional rules about working in pairs or triples. These rules hold for subsequent assignments as well.

Late homework is not accepted. While this policy may seem harsh, the one worst assignment grade (including a zero for no assignment returned) is eliminated before computing your final grade. This policy is necessary mainly because we cannot handout sample solutions before all assignments are in, and it would be unfair and harmful to make a whole class wait on a small number of stragglers.

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 aim at motivating you to remember definitions and understand basic concepts. Sample exam questions will be made available ahead of time.

Participation to class counts for 10 percent of the final grade. Regular attendance is necessary but not sufficient for credit on participation. The main component of participation involves asking and answering questions and taking part in discussions. It does not matter whether answers are correct, questions are appropriate, or the discussion points are clever. Mistakes are expected, but indifference to the topics covered or unwillingness to engage are not.

All class notes, homework assignments, and solution samples are required reading. Materials designated as optional on the syllabus page, as well as all appendices in the class notes, are not required readings.

The programming language for this course is Python 3. Python 3 tutorials are listed on the resources page.