Project 8 - Due Tue Mar 31 at 23:00
Reading
- Slides and notebooks from the files lecture and the list comprehensions and sorting lecture.
- Problems and solutions from Lab 8 (Nested Loops) are still relevant, but the focus is on Lab 9 (Tracing & Files).
- Think Python, Chapter 14 covers files. Sections 14.1, 14.2, and 14.5 are most relevant to what we cover, with 14.4 becoming relevant next week.
Tasks
The instructions for each task:
-
Task 1: Train Inventory — Use nested loops to write functions for dealing with inventory on a train. For this task, having a partner is optional but recommended.
-
Task 2: Word Search — Use nested loops to solve word search puzzles. You must complete EITHER this task OR the quadrats task; only one will count for your grade. For this task, having a partner is optional but recommended.
-
Task 3: Quadrats — Use nested loops to process grids of species counts. You must complete EITHER this task OR the wordSearch task; only one will count for your grade. For this task, having a partner is optional but recommended.
- Task 4: Transcript Manager — Write functions which operate on chat transcripts and use file I/O to store their results in output files. For this task, having a partner is optional but recommended.
About this Project
These tasks will give you practice with file input/output, and some general review of previous concepts including conditionals, function definitions, and nested loops. They will also give you practice with list comprehensions and sorting.
You are required to do the transcriptManager task, and you must do one
of the shapeSorter or measureMunger tasks (so you need to do 2
tasks in total, one of which must be transcriptManager).
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-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 31 at 23:00).
- For trainInventory, each team member must submit
trainInventory.py. - For wordSearch, each team member must submit
wordSearch.py. - For quadrats, each team member must submit
quadrats.py. - For transcriptManager, each team member must submit
transcriptManager.py.
- For trainInventory, 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.