# Problem Set 6 - Due Tue Nov 2 at 23:59

1. Slides and notebooks from Lec 8 (While Loops), Lec 9 (Sequences and Loops), Lec 10 (List Processing Patterns), Lec 11 (Lists, Memory Diagrams & Mutable vs. Immutable Sequences), and Lec 12 (Nested Loops).
2. Problems and solutions from Lab 5 (Loops), Lab 6 (More Loops), and Lab 7 (Memory Diagrams and Nested Loops).
3. Think Python, Chapter 7 covers iteration, and Think Python, Chapter 10 covers lists.

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

• Task 1: List Diagrams — Create list structures whose memory diagrams match those depicted in given diagrams. This is an individual task.

• Task 2: Concentric Circles — Write turtle graphics code to draw concentric circles. You may complete EITHER this task or the musical scales task, but you don't have to complete both. For this problem, having a partner is optional but recommended.

• Task 3: Musical Scales — Write code using the `wavesynth` music library create musical scales. You may complete EITHER this task or the concentric circles task, but you don't have to complete both. For this problem, having a partner is optional but recommended.

• Task 4: Word Search — Use nested loops to solve word search puzzles. For this problem, having a partner is optional but recommended.

This problem set will give you practice with list memory diagrams and nested loops as well as more practice with sequences (strings and lists), operations on sequences, and regular loops on sequences.

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

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

• Each task has a rubric which you should use as a checklist to determine whether you have completed the task.

• Reminder: Collaboration and honor code: you can talk with other individuals and teams about high-level problem-solving strategies, but you cannot share any code with anyone except your partner when working on a partner problem.

• If you are not going to be able to get everything done before the deadline, you may take a 24-hour extension on this problem set, no questions asked. To do so, you must click the "Take extension" button for this problem set in the Potluck Server before the deadline has passed. If it is close to the deadline and you don't know if you'll make it in time, consider taking the extension now, and then turning in your work. If you take an extension you will not receive feedback until the extended deadline has passed; note that the deadline for revisions does not change when you take an extension, so this gives you less time to revise your work.

• The CS111 Problem Set Guide gives an overview of psets, including a detailed description of individual and partner tasks.

• Follow the practices discussed in our CS111 Code Style Guide.

• All code for this assignment is available in the `ps06` folder in the `cs111/download` directory within your `cs` server account.

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). Note that this semester, due to the large number of new tasks, these numbers are often just estimates.

When you've been working on a task for about 2.5 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.

## How to turn in this Problem Set

• Upload each of your task files via the Potluck server by the deadline ( Tue Nov 2 at 23:59). Click on "Browse..." for the task that you're submitting, then once you've chosen your file, enter your time estimate and click on "Submit task". In the file you're submitting, remember to fill in the authors (including you and your partner if you worked with a partner), the names of people you consulted (other than your partner), the date, and the file's purpose.

• For the listDiagrams task, submit `listDiagrams.py`.
• For the circles task, each team member must submit their final `circles.py` file. It is not sufficient for your teammate to submit this task, you must both submit it independently, or you will not get credit.
• For the scales task, each team member must submit their final `scales.py` file. It is not sufficient for your teammate to submit this task, you must both submit it independently, or you will not get credit.
• For the wordSearch task, each team member must submit their final `wordSearch.py` file. It is not sufficient for your teammate to submit this task, you must both submit it independently, or you will not get credit.
• Double-check the status of your submitted tasks (you may have to wait a minute or two after uploading). The server will identify any serious problems with your submission, and you should fix these. In general, always make sure that your task files run without errors in Thonny before submitting them. Note that only major errors are identified at submission time: your actual grade will not be available until the problem set is due.

• Failure to submit a code file before the deadline will result in zero credit for that code on ps06. (If you do get a zero, you may always take advantage of the revision period to get a better score).

• Note that you can submit as many times as you like, and we will only grade the last version you submit before the deadline, so it's a good idea to submit several times as you work on the assignment as a backup in case you accidentally lose your work: we can help you recover a file that you've submitted to the server.

• If you encounter any trouble submitting via the Potluck server, please email Peter Mawhorter with a copy of the files you're trying so submit so that we have a record of your submission if the submission server is running into issues.