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:59pm on the date. No late days can be used for this.

  • Sep 27 – One-sentence proposal (submit online here)
  • Oct 15 – Tutorial due
  • TBC – Student tutorial evaluation due

Requirements

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 and code must be your own work. You may (with citation) use small snippets of code or quoted text from existing sources if absolutely necessary, but the vast majority of the code and prose must be original.

Your notebook should 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.

Your tutorial must both be able to run and be fully readable as a static web page: you should save the tutorial notebook with any output and figures that are required to understand the content. Your tutorial should be readable to students as soon as they open it, without running any cells. Also, ensure that your code runs correctly, students will be running your submitted code.

Feel free to bundle additional files (such as a requirements.txt or a dataset) with your tutorial; as long as the total size of your uploaded file is no more than 50MB. If you refer to external datasets, you should provide clear instructions on downloading and installing them. Submit your tutorial as a .tar or .zip file to the Code Lab tutorial on the course Diderot.

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.

We will make all the tutorials available to students in the class, so students can form a baseline about what they believe to be a good tutorial and to contextualize their grading.

Grading

Grading will be done on a point scale, (0-100), and will be factor 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 motivation 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 contribution 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.

Proposal

In addition to the final tutorial, you will need to submit a one-sentence proposal. This is to check that you are working on a reasonable topic. It is a required portion of the assignment.

You should submit a one-sentence proposal to the Google Form linked above; you can change your response until the deadline.