Project 1 - Due Thu Feb 2 at 23:00

Reading

  1. The course policies page gives an overview of projects, and the collaboration section has a detailed description of how you may collaborate on the projects (in short: you can work with one partner per week, but you should not collaborate except to answer high-level questions with anyone else).
  2. Course Intro Lecture slides and notebook
  3. Lab 01
  4. Python Intro Lecture slides and notebook (You should be able to start this project after finishing lab 1, but material from this lecture may also be helpful.)
  5. Our CS 111 Code Style Guide describes rules for Python coding style that you should follow.
  6. The Turtle Functions Reference has a quick summary of all of the turtle and turtleBeads functions you will need for the scene task.
  7. The Wavesynth Functions Reference has a quick summary of all of the wavesynth functions you will need for the music task.
  8. Think Python, Chapter 1, Think Python, Chapter 2, and Think Python, Chapter 3 (just section 3.1).
  9. If you prefer an audio format, our podcast The Path to Programming has episodes for this week on What is Programming?, Learning Strategies, and Problem-Solving Strategies.

Tasks

The instructions for each task:


About this Project

This project can give you practice with basic Python interactive programs as well as with creating images with the turtle and turtleBeads modules, and creating music with the wavesynth module. You will be ready to start any task after the first lab, but may want to complete most of the weekly exercises first to make sure you're well-prepared.

This week, we recommend choosing either the "Custom Scene" or "Custom Tune" task as the simplest, and if you are doing two, choosing "Bug Hunt" in addition to one of those. We strongly recommend that you complete two tasks each week if you are planning to study further in compter science, and since you may not know that yet, we recommend that everyone completes two tasks this week (which will also prepare you better for the rest of this class). You are only required to complete one task this week.

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

Notes

Time Estimate

To help you plan how long you need to spend on this project, 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). For new tasks, these numbers are just estimates.

When you've been working on a task for about 1 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 2.5 hours and still have a ways to go, you should definitely get some help with it.

The entire project will probably take you something like 3–7 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 Project

If you do the turtle scene task you will take a screenshot of your scene, which you will submit in addition to your code.

Similarly, if you do the wavesynth tune task you should save the .wav file produced by your code using the saveTrack function and submit that.