T-Th 9:05
T-Th 11:15
in Olin 155

CS 1110: Introduction to Computing Using Python

Spring 2018


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:

  1. Friday at 2pm if the deadline falls on the weekend (anytime between Friday 5pm and Monday at 9am)
  2. 2pm on the day of the deadline (deadlines Monday 9am - Friday 5pm)

Updating, verifying, and documenting assignment submission

  1. 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.
  2. 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.
    1. 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".
    2. 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:


  3. 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

  1. Both of you set your CMS notifications so as to receive emails about group invitations
  2. One person issues a request on CMS, from the relevant assignment page.
  3. The invitee must accept on CMS. (Any other pending invitations to the invitee are automatically declined.)
  4. 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

  1. 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.
  2. 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):


Course Material by: E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner, C. Van Loan, W. White