Project 10 - Due Tue Apr 23 at 23:00


  1. Slides and notebooks from Lec 20 (Intro to Recursion) and Lec 21 (Fruitful Recursion).
  2. Problems and solutions from Lab 12 (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, including fruitful recursion.

You only need to do two tasks: you must do the recursiveGenetics task, and then you get to choose whether to do recursiveCircles or recursiveScales. All three tasks ask you to solve a problem you've solved before, just using recursion instead of loops. Some of the details are different however, to accommodate the recursive solutions required.

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