Assignments
You will learn more about
programming from doing the assignments than from anything else we do in class. So take
them seriously!
Assignment Handout |
Code and Notes |
Dates and Deadlines |
A1: Class status lookup
|
|
Released Wed Feb 14. Due Mon Feb 26. |
A1 revisions: more chances to achieve a perfect score!
|
|
Released Tue Feb 27. First grading feedback: afternoon of Thu Mar 1st. Revision window closes Mar 7, 11:59pm. |
A2: Frame and object notation; Public goods games
|
Here are the solutions.
|
Released Th Mar 1. Due Th Mar 8. |
A3: Topic tracking in political speeches
|
a3assignmentfiles.zip
Supplement 1: On embedded newline characters, inspiring two test cases for your conversion functions.
Supplement 2: Why spaces are treated differently in track_topic in the vocab_list vs. the docs_list.
Here is our solutions version of a3.py.
We've included multiple possible implementations.
[For reference and more practice with loops: the 2017 Spring A3 handout: not your assignment handout!
and the code in a zip
file of our Python 3 2017sp solution and associated files: not your assignment's solutions!]
|
Released Thu Mar 22. Due Fri Mar 30. |
Assignment 4: Org Charts: Phase 1 (no handout)
|
ASAP, do the following to make sure your Python is set up for the
visualizations you'll want for debugging the full A4.
Make a new directory and download into it these files:
Then, follow the instructions in the docstring for
positions_test.py .
Beautification tip: if, when you draw org charts, you don't get arrow-heads
but skinny black rectangles, you may want to update your networkx version via,
at the command line, pip install --upgrade networkx
After that, it would be wise to read the code in those files: with this
assignment, we want you to rely more on examining and experimenting with
code directly and less on having it explained in handout text.
Start by understanding the definition of class Position in the first
file. Then, note the recursive implementation of
_collect_reachable_positions() ,
and observe that creating subclasses in positions_test.py
made it easier to create a non-trivial organization chart.
|
Released: Wed Apr 11. Nothing to turn in, but follow the instructions ASAP. |
Assignment 4: Org Charts: Phase 2
Link is to Version 2 of the handout.
|
Here are the solutions.
[For reference and more practice with recursion: the 2017 Spring A4 handout: not your assignment handout!
and the 2017sp solution: not your assignment's solution!]
|
Released Thu Apr 12. Due Thu Apr 19. |
Assignment 5: Uno
(updates have been folded into the handout)
|
Here are the solutions:
|
Released Mon Apr 30. Due Wed May 9. |
Some notes on using CMS
If you are having a problem with using CMS to submit an assignment, and you have attempted the following and taken your necessary screenshots, but still have a CMS issue, contact cs1110-staff before:
- Friday at 2pm if the deadline falls on the weekend (anytime between Friday 5pm and Monday at 9am)
- 2pm on the day of the deadline (deadlines Monday 9am - Friday 5pm)
Updating, verifying, and documenting assignment submission
- You can overwrite a submission with a newer version any time up to the deadline. We therefore recommend that you first submit some partial progress early, following the timelines given above, and then resubmit updated versions as the day progresses.
Do not wait until the last minute to make your first submission, because some unforeseen problem could cause your upload to fail. Since you've been warned to submit early, do not expect that we will accept work that doesn't make it onto CMS on time.
- How can you tell whether CMS has accepted (the correct version of) your files? You have several options, and we recommend you do all of them.
- Set your
CMS notifications
so as to receive an email whenever "your group [this includes just you if you aren't grouped] successfully uploads a submission".
- Look under the line "Submitted" on the page for the specific assignment in CMS.
Here is what you would see for a person who has NOT successfully submitted files:
Here is what you would see for a person who HAS successfully submitted files:
- Take a screenshot of the submission screen after submitting. This is what a good screenshot looks like.
In particular, it has (a) the assignment name and due date, (b)
the names of the files submitted, (c) the time and date of most recent submission, and (d) underneath the grey box (hidden for privacy issues), your or your partner's NetID. We suggest you keep this screenshot in your
back pocket in case there are any CMS server issues. If you encounter an issue in regards to CMS submissions and your assignment, include this screenshot in your email / post
to the staff.
How to form a group on CMS
- Both of you set your CMS notifications so as to receive emails about group invitations
- One person issues a request on CMS, from the relevant assignment page.
- The invitee must accept on CMS. (Any other pending invitations to the invitee are automatically declined.)
- Only one person submits the files for the assignment --- but in our grading interface, the files will be available under both students' names. (If the other partner subsequently submits, their submission will replace the previous one. This may or may not be what you want.)
Seeing your grading feedback; making a regrade request
- On the page for an assignment, if you don't immediately see the grader feedback, click on the
red word "show" next to the words "Grading Comments & Requests (show)." You may either see comments directly, or get a link to a file whose contents are your grading feedback. See screenshot below.
-
If online regrade requests are enabled for a coursework item, and you want to submit a regrade request, on the page for that assignment, look for the line "Request Regrade". You may then need to click on the
red word "(show)" next to it, to reveal the checkboxes and comment box for requesting a regrade.
See the bottom of the screenshot below, provided by Molly Feldman (for a different class):
|