Problem Set 1 - Due Thu Oct 29 at 23:59
Reading
- The CS111 Problem Set Guide gives an overview of psets, including a detailed description of individual and partner tasks
- Lecture 01 slides and notebook
- Lab 01
- Lecture 02 slides and notebook
- Our CS 111 Code Style Guide describes rules for Python coding style that you should follow.
- The Turtle Functions Reference has a quick summary of
all of the
turtle
andturtleBeads
functions you will need for task 2. - Think Python, Chapter 1, Think Python, Chapter 2, and Think Python, Chapter 3 (just sections 3.1 and 3.2).
About this Problem Set
This problem set will give you practice with basic Python interactive programs
as well as with creating images with the turtle
and turtleBeads
modules. You are ready for Task 0 immediately. You will be ready for
Tasks 1-3 after the first lab and/or the second lecture.
-
Task 0: Using Piazza — Familiarize yourself with the course discussion forum on Piazza.
-
Task 1: Bug Hunt — Improve your understanding of types and operators by fixing some problems in a broken math practice program. This is an individual task.
-
Task 2: Custom Scene — Learn how to use
turtle
graphics to draw a picture. For this problem, having a partner is optional but recommended. - Task 3: Time Profiler —
Practice writing an entire interactive program from scratch that uses
input
andprint
. You'll be able to calculate how much time you spend on different activities each week. For this problem, having a partner is optional but recommended.
If you want to find a partner to work with for this problem set, use this Piazza post to do so (we will mark old requests as closed when each new problem set is posted).
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 them (unless you are working together 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 Ocean 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 turn 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.
-
When you're done with the tasks follow the submission instructions to submit your pset.
-
All code for this assignment is available in the
ps01
folder in thecs111/download
directory within yourcs
server account. - If you are stuck, consult the PS01 FAQ -- it covers the most common issues students encounter when working on PS01.
- We will show you how to access the starter code for this problem set during Lab 1.
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).
When you've been working on a task for about 2 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 3 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–9 hours of programming, plus another half hour to hour of reading, although some students take more or less time than that.
Tasks
The instructions for each task and their specific requirements are laid out on the following pages:
- Task 0: Using Piazza
- Task 1: Bug Hunt (rubric)
- Task 2: Custom Scene (rubric)
- Task 3: Time Profiler (rubric)
How to turn in this Problem Set
In Task 2 you will take a screenshot of your scene, which you will submit in addition to your code.
For each team, one screenshot should be uploaded to this shared google drive folder:
- Take a screenshot of your graphics scene (screenshot instructions here).
- RENAME your screenshot with a short, unique descriptive name that
begins with your CS account names.
For example,
ww16_astracks_underwaterMonkey.jpg
. - Drag your properly named screenshot into the shared google drive folder by Thu Oct 29 at 23:59.
- For task 1, submit your final
mathPractice.py
file to the Ocean server. Make sure you have filled out the comment header at the top with your name, username, and submission date. - For task 2, each team member must submit their final
scene.py
file to the Ocean server. It is not sufficient for your teammate to submit this task, you must both submit it independently, or you will not get credit. If you worked with a partner on this problem, this file should contain a comment with both of your names and usernames at the top, in addition to the submission date. -
For task 3, each team member must submit their final
timeProfiler.py
file to the Ocean server. It is not sufficient for your teammate to submit this task, you must both submit it independently, or you will not get credit. If you worked with a partner on this problem, this file should contain a comment with both of your names and usernames at the top, in addition to the submission date. -
Upload each of your individual task files via the Ocean server by the deadline ( Thu Oct 29 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". 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 Ocean 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.
-
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 ps01. (If you do get a zero, you may always take advantage of the revision period to get a better score).