Here is how the process of working on a homework assignment, and submitting it, works. Please read these instructions extremely carefully: if you submit your work improperly, you may not get credit even if you did the work.
The homework will be assigned by sharing directly with your @ucsc.edu account a Google Colab notebook. You will receive an email notification containing a link to the notebook when the notebook is shared with you. You will also see the notebook in the "Shared with me" folder in your Google Drive for @ucsc.edu (sometimes, you may need to refresh this folder to see the homework).
Advice: For this class, you will need to use your @ucsc.edu login to access Google Drive. Some students log into their @gmail.com or similar account first, and experience difficulties switching account for accessing their @ucsc.edu one. If you experience difficulties, either dedicate a browser to your @ucsc.edu account (you can use Chrome for @ucsc.edu only, Firefox for the rest, or vice versa), or use an incognito window and log in each time.
Please work on the online Colab notebook we shared with you: do not download it and work on a downloaded copy. This for two reasons:
The homework consists of a notebook. You should run the notebook from the beginning, and there are two special types of cells to which you should pay attention:
These are cells with written in them:
# YOUR CODE HERE
You should replace the comment with your code.
These are cells with statements such as:
assert_equal(list_sum([3, 4], [1, 6]), [4, 10])
You should not modify these cells, but you should run them to check that the assertion is true. These assertions will be used to grade automatically your code.
The assignment will contain a link to a Google Form used for submitting it. To submit it, you should:
You can submit multiple times, and the last submission before the deadline is the one that will be graded.
You may wonder why we use this submission method, given that the notebook is already online and shared with us. The answer is, to give you more control on what we grade. We could indeed automatically revoke edit permission from you at the time of the deadline, and not require you to submit anything. But what if we catch you mid-edit, trying to make a last-minute improvement? We will discuss in class if you find this preferable.
The assignment is graded automatically. If you submit a mangled notebook, or one with missing cells, or something similar, you may not get any credit. If you corrupt your notebook, you can always use the revision history accessible from File > Revision History to recover an older version (another advantage of working online).
The assignment is graded on the basis of the tests. So you can use print commands to debug your code, but in the end, it is the tests that determine your vote.
Some assignments will also be graded for style by a human being.
Once the assignment is graded, a PDF document containing the outcome of the grading will be shared with you. The document will consist of your notebook, with information on how many points you got in total and for each problem, and with detailed annotations on the tests that passed and failed, along with any handwritten notes by the teaching staff.