This post outlines what Exam 1 will be like.

Two different pieces are considered part of the exam. There’s the Practium and the in-person Exam.

Exam General Information

  • Modules covered: 2, 3, 4 (module 1 is covered in that you will be writing in Python)
  • Practice Exam – will be posted if there is time


  • Done with 1 or 2 other students (so your team of 4 or 5 can split in half). You will submit through the group submission process on Gradescope
  • When: Wednesday, 10/4, starts 12:01am EST, ends 11:59pm EST
    • But it should only take your group around 75 minutes, but your group can take as long as you want. It must be submitted before the end of the day.
    • There is no class on this day, so your group has the time to work on this
  • It is a take-home, open book, open note, open internet, and open LLM exam.
  • Closed to any person outside of your group. So, no asking someone to do it for you or on places like stackoverflow.
  • It focuses on coding and interpreting the results of that code.
  • Consists of a Jupyter Notebook and a data set
    • Recommendation: Discuss in advance with your group how you will create the final submission and who will submit it.
  • A Canvas announcement will go out at the start of the exam with a link to the Box folder containing all the files you need.
  • The act of submitting and being part of a submission means that you are upholding the Duke community standard that you contributed equally to this submission and only talked amongst yourselves when working on it.
  • Protect the integrity of the exam and your exam submission.
    • Take your exam:
      • in a secure location where only your group can see your screen or talk to you.
      • in a place where you will not be distracted or tempted to talk to someone outside of your group.
    • Only after grades have been published for the Practicum Update can you do the following. Doing any of these before grades are published will be considered a violation of the Duke Community Standard.
      • Discuss what you did on the exam.
      • Show your solutions to students outside of your group.
      • View other solutions.
  • If you have a question during the exam, ask it as a private new message on the class forum. Or in helper hours.
    • We cannot help you debug your code. If it appears as if the notebook or autograder is not working, but it turns out to be your own code that has a bug, you will be graded according to your submission.
    • We will do our best to always have someone checking the forum. However, we cannot make promises someone will instantly answer your question.
    • The exam is tested for readability, so the wording should be straightforward.

Practicum Update

  • Your group will have the option to update your Practicum after seeing the results of your Practicum grade. If you choose to submit an update, your grade for the Practicum will be as follows:
    • Practicum (original): 15%
    • Practicum Update: 85%
  • When: Thursday 10/12 – Saturday 10/14
    • Note this is partially during Fall break
    • This is during Module 6 (which has due dates as usual despite Fall break since we plan to release Module 6 early enough that you can get it done before Fall break, plus there are late tokens)
  • It is your responsibility to work with your group to do the update.
  • For the update, you will do the following:
    • Update your original notebook as needed.
    • Add a new cell at the bottom of type MarkDown and list all of the changes you made from your original submission.
    • We may grade outside of your changes, but giving us a list will tell us what to focus on.

In-person Exam

  • When: Friday 10/6, during regular class time
  • Is in-person only
  • It is a paper exam taken during class.
  • There will be multiple versions.
  • It focuses on thinking like a data scientist and will have no coding writing.
    • It may have the results of calling the describe function on a data set, so know what that function does.
  • You may bring one piece of paper as a cheatsheet and can put things on the front and back.

Grading Scale and Points Allocation

For the questions that do not have a clear correct or incorrect answer or where partial credit is warranted, the following rubric will be used.

  • E (Exemplary) – Work that meets all requirements and displays full mastery of all learning goals and material. And the code is clean and easy to read (see the practice exam for examples of what this means).
  • S (Satisfactory) – Work that meets all requirements and displays at least partial mastery of all learning goals as well as full mastery of core learning goals.
  • N (Not yet) – Work that does not meet some requirements and/or displays developing or incomplete mastery of at least some learning goals and material.
  • U (Unassessable) – Work that is missing, does not demonstrate meaningful effort, or does not provide enough evidence to determine a level of mastery.

The number of points earned is distributed across the problems based on the number of learning goals they are testing. The rubric will be converted to points as follows:

  • E = full credit
  • S = E_full_credit – 1 or 2
  • N = E_full_credit * 0.6
  • U = E_full_credit * 0.2
  • Blank = 0

Unit tests in the autograder for the Practicum will earn you points up to, but not quite, the U level. Whether an S is 1 or 2 less points than an E depends on the exam part. Each part is out of 100 points. The goal is earning only S’s results in a low A. So, for example, if the Practicum has only 4 questions, an S would lose 2 points compared to an E, which means getting all S’s is a low A (92%), but still guarantees an A on the Practicum.