MDS Instructor Training

Logo

View the Project on GitHub UBC-MDS/MDS_instructor_training

Exercises for Data Science

General opinions

and sometimes it should be at least a bit messy.

Examples

Derived from Teaching Tech Together by Greg Wilson

Work particularly well for coding

Examples of these exercise types in a Jupyter notebook

  1. Code & Run - learner asked to write code that produces a specified output

  2. Inverting Code & Run - learners asked to write tests to determine whether a piece of code conforms to a spec

  3. Fill in the Blanks - learner is given some starter code and has to complete it so that the code produces a specified output

  4. Parsons Problem - learners given lines of code that need to be rearranged to generate a specified output

  5. Tracing
    • execution: given a few lines of code, the learner has to trace the order in which those lines are executed
    • values: given a few lines of code, the learner lists the values that one or more variables take on as the program runs
  6. Minimal Fix - given a few lines of code that contain a bug, the learner must find it and make one small change to fix it

  7. Refactoring - given a working piece of code, the learner has to modify it in some way without changing its output

Works well for memorization & conceptual questions (can also be used for coding)

  1. Multiple choice questions - learners asked to choose the correct answer (works best with relevant distractors present)

  2. Diagrams - provide them with a diagram and a set of labels and have them put the latter in the right places on the former

  3. Matching - learner is asked to match labels in one column with text in another

  1. Autograding

  2. Code review