With data science, as with most disciplines, the best way to learn a particular topic is to teach it to others. The tutorial assignment of this course is meant to give you the chance to create a short tutorial on something related to data science. You can describe how to use a particular algorithm, library, methodology, or data set. Your tutorial should provide an introduction to this topic suitable for the level of other students taking this course. Ultimately, you will be graded by the course instructor and other students taking the course.

Due Dates

All submissions are due 11:59 pm on the date. No late days can be used for this.

  • March 16 – Two-sentence proposal (see below), submitted via Google form.
  • April 6 – Tutorial due
  • April 13 – Student tutorial evaluation due


Your tutorial should be in the form of a Jupyter notebook, which mixes together written markdown and code portions. You will walk your readers through the algorithm, library, methodology, or data that you are presenting, explaining high-level concepts with code examples. You want to make the tutorial read like an actual explanation of the process or technique, not just as a listing of code. As a general rule of thumb, you should have a paragraph or two of prose explaining any function or class method you include in the code.

All written prose, code, and figures must be your own work. Note that unlike in homework assignments, you cannot use any writing or code from third-party sources, even with citations. You additionally cannot use any figures from third-party sources (even with citations): if you want to use a figure to explain a concept or idea, you need to create a version of the figure yourself.

Your notebook should roughly contain between 1000-2000 words of prose in markdown sections and between 100-250 lines of code (not counting comments).

As a reference, we have released an example tutorial on geo-spatial analysis, available here. You can view this online using the online nbviewer app.

You can either deploy your tutorial via Colab Notebooks or using nbviewer as above, though it is recommended to use Colab to minimize the use of cells that don’t run. However, note that we will not be able to re-run the cells in your notebook before viewing it (though students reviewing your notebook should run the cells), so it should render properly when first loading the site

Peer evaluation

In addition to submitting your tutorial, each student will be required to grade two other tutorials. These peer evaluations will factor partly into your final grade for the tutorial. When evaluating other students’ submissions, you will use the rubric described in the next section.


Grading will be done on a point scale, (0-100) and will be factored in the different elements as follows:

  • 5% - tutorial proposal
  • 10% - providing feedback on other students’ tutorials (we are not evaluating the feedback except to verify it meets the criteria of the rubric).
  • 25% - student evaluation: peer evaluating of your tutorial, averaged over the two student evaluators of your tutorial.
  • 60% - instructor evaluation: evaluation of your tutorial by the instructors according to the rubric.

The instructor and peer evaluators will use the following rubric:

All the following questions are answered on a 1-10 point scale.

  • Motivation: How well does the tutorial motivate the importance of the topic to the data science setting?
  • Understanding: After reading the topic, how well do you feel you understand the general ideas behind the tutorial? If you already knew the subject: how well do you think the tutorial was able to describe the basic ideas as you understand them?
  • Prose: Did the prose in the markdown cells contribute to your understanding of the material?
  • Code: Did the included code provide helpful examples or otherwise solidify your understanding of the topic?
  • Subjective evaluation: If you were reading this tutorial as a blog post someone sent you, how likely would you be to read the whole thing?
  • Further resources: Does the tutorial helpfully suggest where to look for additional resources on the problem. Do these resources seem like they would help you further your understanding of the topic or ideas after you have completed the tutorial?

Additionally, with no points assigned, evaluators should:

  • Write, in 100-200 words, one thing you particularly liked.
  • Write, in 100-200 words, one thing you think could be improved.


In addition to the final tutorial, you will need to submit a two-sentence proposal. One sentence to describe the topic and one sentence to describe an early thought about what you might like to include in this tutorial. This is to check that you are working on a reasonable topic. It is a required portion of the assignment.

You should submit a two-sentence proposal using this Google form.