Problem Set 2 - Due Tue Sep 21 at 23:59


  1. Lecture 02 slides and notebook
  2. Problems and solutions from Lab 2.
  3. Optimism reference documentation.
  4. Think Python, Chapter 1, Think Python, Chapter 2, and Think Python, Chapter 3 (just section 3.1).
  5. The Path to Programming podcast episodes on What is Programming?, Learning Strategies, and Problem-Solving Strategies.

Note that many of the same materials from last week are relevant this week again.


The instructions for each task and their specific requirements are laid out on the following pages:

About this Problem Set

This problem set will give you practice with finding and fixing problems in code (i.e., "debugging") and with writing basic interactive programs using input and print. It also features our first connections topic, which takes the form of a mini research project that you will complete as part of a group.

Note that as always you can pick your partner for the partner coding task, but groups for the group project have been assigned randomly. (Grading for the group project is based on individual deliverables.)

If you want to find a partner to work with for this problem set, use this Google Sheet to do so.


Time Estimate

To help you plan how long you need to spend on this problem set, we have some guidelines based on how long students spent on these tasks last semester (please fill out your time estimates to help students in future semesters). Note that this semester, due to the large number of new tasks, these numbers are often just estimates.

When you've been working on a task for about 1 hours, you should evaluate whether you are making efficient progress, and make use of some of the class resources available to you, like help-room hours or office hours. If you've been working on one task for 2.5 hours and still have a ways to go, you should definitely get some help with it.

The entire problem set will probably take you something like 4–8 hours of programming, plus another half hour to hour of reading, although some students take more or less time than that.

We expect that you'll spend 2-4 hours doing research and writeup for the connections topic task.

How to turn in this Problem Set

For task 3, you will not be submitting code. Instead, what you submit depends on your role in your team:

For tasks 1 and 2, you will submit code via the usual mechanism: