Problem Set 6 - Due Tue Dec 8 at 23:59

Reading

  1. Slides and notebooks from:
  2. Lab 8 and Lab 9 on dictionaries, and Lab 10 on recursion.
  3. Think Python, Ch. 11 on dictionaries, and Think Python, Ch. 5, Sections 5.8–5.10 on recursion.
  4. Python documentation on dictionary operations (lab 9 also has a cheat sheet at the top of part 1 on dictionary operations).

About this Problem Set

This problem set will give you practice with dictionaries, which are an important data structure, and also a bit of practice with simple recursion in a familiar context.

If you want to find a partner to work with for this problem set, use this Piazza post to do so (we will mark old requests as closed when each new problem set is posted).

Note that you may not work with different partners on different tasks in this problem set. If you are working with a partner on one task, you must either work individually or work with that same partner on any other tasks where a partner is allowed.

Notes

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).

When you've been working on a task for about 2 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 4 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 7–10 hours of programming, plus another half hour to hour of reading, although some students take more or less time than that.


Tasks

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


How to turn in this Problem Set