Project 7 - Due Tue Mar 10 at 23:00
Reading
- Slides and notebooks from the List Memory Diagrams, Mutable List Operations, and Immutable Tuples lecture and the List Processing Patterns: Double Accumulation, Mapping, and Filtering lecture.
- Problems and solutions from Lab 6 (for Loops, Early Return, and Tracking Variables) and Lab 7 (Lists & Memory Diagrams)
- Think Python, Ch. 7: Iteration and Search (ignore Secs. 7.2 and 7.7) covers loops an Think Python, Ch. 9: Lists covers lists.
Tasks
The instructions for each task:
-
Task 1: List Diagrams — Create list structures whose memory diagrams match those depicted in given diagrams. For this task, having a partner is optional but recommended.
- Task 2: Audio Toolkit — Create a series of audio filter effects that you can apply to any .wav file. For this task, having a partner is optional but recommended.
About this Project
These tasks will give you practice with memory diagrams and loops that create new lists, often by using the mapping and filtering patterns.
You must complete 2 tasks this week: both the listDiagrams and
audioTookit tasks.
If you want to find a partner to work with for this project, use this Google Sheet to do so.
Reminders
- Remember to download the starter code for each task from the Potluck server.
Time Estimate
Our per-task estimate for this project is 2.5-4 hours, plus up to an hour of reading.
How to turn in this Project
-
Upload your tasks via the Potluck server by the deadline (Tue Mar 10 at 23:00).
- For listDiagrams, each team member must submit
listDiagrams.py. - For audioToolkit, each team member must submit
audioToolkit.py.
- For listDiagrams, each team member must submit
-
Double-check the status of your submitted tasks, since there may be warnings.
-
Reminder: you can submit as many times as you like, and only the most recent submission will count for your grade.
-
If you run into trouble with the submissions server, contact Peter Mawhorter, and include a copy of the file(s) you were trying to submit.
- Check your score for each task and submit revisions if you need to.