This syllabus contains some experimental elements that are worth trying. However, experiments are allowed to fail, and therefore the syllabus is subject to change based on how the class is learning.

This is a hybrid, flipped, just-in-time class

This class is a hybrid, flipped, just-in-time class. Hybrid means we will have a Zoom session associated with the class. The class is hybrid for the sake of equity. We do not want students unable to attend due to external factors outside their control. However, you are expected to attend class in person if at all possible. We have evidence that attending class online may not support your learning. Therefore, you must request to attend a class online to receive the password for that day on the forms page. For more details, see the policies page. Flipped means you will first learn the material before class and have already made an initial attempt at understanding it, including some simple comprehension quizzes. Just-in-time means we use the data from the quizzes to drive what happens in class. Based on the quiz results class focuses on what everyone least understood from the material and allows everyone to apply what they learned using example questions. Solutions to the examples are released after class.


This course is divided into modules that are typically 1 week long. Each module has multiple components, so you engage with the material multiple times to enhance your learning. All due dates are at 11:59 PM unless otherwise noted.

  • Prepare [Due: Typically Monday]. Will typically contain videos and/or readings to introduce new content, as well as quizzes (usually one per video/reading) to ensure comprehension. The quizzes will be on Canvas and auto-graded.
    • You can take the quizzes up to three times to correct initial misunderstandings.
    • A score of 80% total for the quizzes in that specific Prepare (e.g. sum(points_earned_on_all_quizzes)/sum(points_possible_on_all_quizzes)) will result in full credit for that Prepare. Otherwise, the percentage grade is based on 80% of the possible points (so a total of 72 points out of 100 results in 90%).
    • These are due 2 days before class, so we have enough time to tailor class based on everyone’s understanding in the Prepares.
    • There is a 24-hour late window (typically the entire Tuesday).
    • You are allowed one extension request on one Prepare. Request this extension on the forms page.
  • Peer instructions [Due: day of class]. During class, we will have peer instructions to check your understanding as we go through the content. They are created based on the class’s performance on the Prepares, so they focus on what everyone is weakest on. These are questions that you answer individually. Based on the class’s performance, we may split into groups to discuss answers and then answer the question again to help everyone’s understanding.
    • Your score is based on participation per question, not correctness. You need 80% of the possible points across the entire semester to receive full credit.
    • These will be available ONLY while they are being used during class. If you miss one, that is why you only need 80% of the possible points to get full credit. It will not be reopened for you. This rule is to strongly encourage attendance so we can learn together as a group.
    • Answering the question for one of the rounds earns you the point for that question.
  • Worked Examples. During class, we will also work on notebooks together. They do not factor into your grades and are not available for every module. When they are available, they come with an attached autograder that you can run locally to see if you have solved the problems correctly.
  • Homework [Due: Typically Sunday]. Will typically consist of a set of coding/data analysis or statistics problems to complete in a Jupyter notebook and submit on Gradescope. You can start these right after finishing the Prepare and before class. We may work through several of these problems in class together, especially if there are no worked examples. You may submit as many times as you want to Gradescope. A score of 90% on a Homework will result in full credit.

Homework Late Days

Homeworks will typically be due on Sunday. If you want to submit late, you must use late-day “tokens.” You have 9 late days for the entire semester. To use your late days, you need to fill out the late day form on the forms page within 24 hours of the due date, so we are aware to expect a submission and a rough idea of how many days you plan to use. To submit, submit your homework like normal during Gradescope’s 1-week late period. The total number of late days you use will be based on the calendar day in Duke’s time zone when your active submission was submitted, not what was stated on the form. You do not need to submit the form more than once per assignment.

For example, if the assignment was due on Sunday and your active submission was submitted on Tuesday, you used 2 late days for that assignment. Assuming this is the first time you used late days, you will have 7 late days left.

If you run out of late days, you will need to contact the professor through the class email (see course info page) to discuss getting more. In the Canvas grade book, you will find a column telling you how many late days you have used. The “denominator” of the column will be the number of default tokens anyone has. If you receive more, we cannot change that number individually for you. You will need to keep track of how many tokens you can spend yourself.

Final Submissions Must be a Fresh Restart and Run All

The notebook for your final homework submission must have a fresh restart and run all. This is important because a common way to detect bugs that the autograder might find is to first restart the kernel and run everything. Moreover, it is the equivalent of ensuring that you are submitting a polished notebook.

If your active homework submission is not a fresh restart and run all, you will lose 3% of the possible points for that homework. Note a score of 90% on a Homework will result in full credit. Therefore, as long as you are doing well, this will not harm you. However, to convey the importance of this, we are making it part of your grade.

This penalty does not apply to exams. Though you are strongly encouraged to do this since a fresh start is a common way to detect bugs in your code.


To assess understanding of the material, there will be three exams. These exams will have two parts: a Practicum and an in-person component.


The Practicum focuses on your ability to produce code and interpret the results of that code. You may work in groups of 2 or 3. If you have 3 members, you may be required to answer more questions. The Practicum will be open for 24 hours, but should not take your group more than 75 minutes to complete, just like how long a class period is. The day of the Practicum will be the same day as a class period, and class will be canceled for that day to compensate for the exam.

You may use whatever resources you want for the Practicum. The focus is more on the production of code (so yes, the use of LLMs is allowed) and your understanding of what the code is doing (so even if an LLM produced the code, you are still responsible for understanding it and will be graded as such).

In-Person Exam

The in-person exam focuses on content that would be easy for an LLM to answer and your skills to think like a data scientist. They are your opportunity to show yourself and the teaching staff how much of the material you have mastered without the crutch of the Internet or tools like LLMs.

Practicum Update/In-Person Exam Retake

The goal of this course is to ensure your grade reflects what you know by the end of the course. Therefore, there are second opportunities to show your understanding and improvement compared to your first attempt. We will take the better score if you decide to take the second opportunity.

The Practicum Update will happen after the Practicum. Your group will receive feedback on your Practicum and will have 24 hours to respond to that feedback to update your Practicum submission. You can then submit an updated version and a change log of what your group updated.

The In-Person Exam Retakes will happen during the Final Exam period, which is Thursday 12/14. Each retake will start each hour on the hour.


Regrades are through Gradescope. The regrade window opens 24 hours after the assignment is returned and closes after 1 week. The 24-hour delay allows everyone time to consider their grade and consult with each other and the teaching staff before submitting a regrade. Regrade requests should explain specifically why you believe a different grade is more appropriate, not just ask for more partial credit without any reason. Regrades requests also mean that your entire submission may get regraded. Please note that grade changes (apart from clear grader errors) are rare.


Instead of a final exam, this course has an open-ended collaborative project. In groups of four or five, you will choose a research topic that can be explored through data science. You will formulate research questions, acquire data, and perform your own data processing, analysis, and modeling to answer your research questions. The projects have three stages of deliverables.

  • Initial Plan – A document that includes the product of a brainstorm, reflection, and a collaboration plan.
  • Proposal – A document highlighting a topic, data source(s), and research questions.
  • Prototype – A document highlighting methods, preliminary results, and a reflection.
  • Final Report and Video Presentation – A document that provides a complete description of the topic, research questions, methods, results, and conclusions, along with a recorded presentation involving all group members.

More details will be provided about each deliverable closer to their due dates, including a rubric for grading. Project Deliverables will be graded for satisfying the necessary criteria, i.e., satisfying the basic requirements will result in full credit. This is intended to encourage creativity to allow project groups to explore widely in terms of topics, research questions, and methods without fear of a grade penalty. We will also provide constructive written feedback on project deliverables separate from the criterion grading in order to help teams make progress.


The final course grade, as a percentage, will be calculated as the following weighted average:

  • Prepare 15%
  • Peer Instructions 5%
  • Homework 25%
  • Project 10%, broken down by deliverables:
    • Initial Plan 0.5%
    • Proposal 1%
    • Prototype 2%
    • Video Presentation 3%
    • Final Report 3.5%
  • Exams 45% (Practicum/In-Person Exam)
    • Exam 1: 6.5% / 10.5%
    • Exam 2: 5% / 9%
    • Exam 3: 5% / 9%

Final numerical grades will be converted to letter grades as follows. Letter grades of A+ are awarded only for students with a grade of A and exceptional course projects as determined by the instructor.

  • [90, 95) = A-, [95, 100] = A
  • [80, 83) = B-, [83, 87) = B, [87, 90) = B+
  • [70, 73) = C-, [73, 77) = C, [77, 80) = C+
  • [60, 63) = D-, [63, 67) = D, [67, 70) = D+

The “B+ Option” / “No Project Option”

Sometimes life gets in the way of learning. Rather than have you give up on the class, we have created a “B+ option.” Taking this option means you will not do a project, and any project grades you have will be made a 0. Since the project is worth 10% of the overall grade, this naturally caps your grade to a B+. If you take this option, we will work with you to stretch out deadlines and figure out the Practicums such that you have time to learn the content and show us that you have gained competency in the class material.

To take this option, you must meet with Prof. Stephens-Martinez. Not submitting a project milestone is grounds for moving to this option.