Project 9 - Due Tue Nov 22 at 23:00


  1. Slides and notebooks from Lec 19 (Intro to Recursion) and Lec 20 (Fruitful Recursion).
  2. Problems and solutions from Lab 9 (Recursion).
  3. Think Python, Ch. 5, Sections 5.8–5.10 on recursion, and Think Python, Ch. 6, Sections 6.5–6.9 on fruitful recursion.


The instructions for each task:

About this Project

These tasks will give you practice with recursion, either fruitful or non-fruitful. The first two tasks require only non-fruitful recursion; the third task focuses on fruitful recursion. If you are not sure which to pick, recursiveCircles is probably the simplest one (although recursiveScales might be easier if you've focused on the music tasks in the past, and especially if you did the previous 'scales' task). If you are doing two tasks, we recommend you pick one of the first two, plus the third to maximize your learning.

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


Time Estimate

Our per-task estimate for this project is 2-4 hours, plus up to an hour of reading.

How to turn in this Project