# Homework Submission Workflow¶

We will use Gradescope to collect your homework and grade it. This will reduce the turnaround time, and you will get more consistent and rapid feedback.

The homework submission workflow below is a bit more complex than it could be if a few changes were made to Gradescope. These changes may happen in the near future. For now,

Follow the instructions below scrupulously for full credit.

The first time around, please read the long version below, as details matter. For later assignments, it may be more convenient to refer to the short version at the bottom of this page.

### Long Version¶

There are multiple ways to achieve slightly different versions of the same outcome. Please do not be tempted to improvise.

In particular, there are a few different ways to obtain a PDF file from a Jupyter notebook. Do not make PDF files by running File->Print->Preview or File->Download as->PDF via LaTeX. These methods will not reproduce all aspects of your noteboook, and you may lose credit for things not showing up where they are supposed to.

In the instructions below, 0n stands for a two-digit integer that numbers the current assignment (for instance, 01 or 04 or 11).

To submit your homework for grading, assuming that your notebook homework0n.ipynb is open in the Jupyter notebook editor, do the following:

1. Make a clean notebook homework0n.ipynb:
• Make sure all the group members who worked on the assignment are listed at the top of the page.
• Restart the notebook kernel and execute the entire notebook in one pass by selecting Kernel->Restart & Run All.
• Double-check that everything is correct, there are no grammar mistakes, all code runs with no errors, all figures (if any) show up where they are supposed to. Re-run as needed.
2. Make an HTML file homework0n.html:
(This is an intermediate file that will not be submitted.)
• Select File->Download as->HTML (.html). This will download an HTML version homework0n.html of your notebook to your computer, typically in your Download folder. You may want to move that to a place where you can find it later if needed.
• Open homework0n.html in your web browser (just double-click on it).
3. Make a PDF file homework0n.pdf:
(This may be the most important item. Please pay attention! Do not be creative here.)
• Use the File->Print command of your browser to produce a PDF file.
Depending on the browser, the option to print to PDF, rather than to a printer, may be in different places. You may have to click on a Change Destination button or something similar, but the option to print to PDF is available at least in Firefox, Chrome, Safari, and Internet Explorer. Results from these browsers vary slightly, but are generally acceptable. (We consistently obtain the best results with Firefox.)
Do not produce the PDF in other ways, such as "Export to PDF" or other. Alternative methods will usually produce poor page margins, format headers differently, fail to incorporate figures, and so forth. You may lose credit if we don't see what we need to see in your paper.
4. Submit two files to Gradescope, namely, your PDF file homework0n.pdf and your notebook homework0n.ipynb. Do not submit your HTML file.
We want one file of each type for each group, not multiple submissions, but all group members must be listed for each submission. More on listing members below.
Your submission to Homework n PDF is what we actually grade. We refer to your Homework n NB submission only if and when when we want to run your code to understand what is going on.
Gradescope does not yet allow submitting a gradeable PDF file and a different file for the same assignment. So we will set up two different homework assignments in Gradescope for each actual assignment. For homework number n, these will be called Homework n PDF and Homework n NB.
• Homework n PDF: Submit homework0n.pdf to this Gradescope assignment.
Make sure you list all the group members. Members who do not show up in Gradescope get no credit. They won't like you for this! Also, pay attention to the part where you are asked to map answers to the pages on which they appear. Do this carefully, since Gradescope relies on this mapping to display your answers for each question.
• Homework n NB: Submit homework0n.ipynb to this Gradescope assignment. Make sure you list all the group members. This assignment interface will mention an autograder. Ignore that. Also, there is no answer-to-page mapping for this submission.

### Short Version¶

(You have completed your homework0n.ipynb in the Jupyter editor.)

• List all group members at the top of homework0n.ipynb
• Kernel->Restart & Run All to execute the notebook from a blank slate
• Double-check text, math, code, outputs, figures. Re-run if needed

• File->Download as->HTML (.html) to make homework0n.html

• Open homework0n.html in your web browser

• File->Print (Save as PDF) in your browser to make homework0n.pdf

• Submit one homework0n.pdf per group to Gradescope Homework n PDF
• List all group members, map answers to pages carefully
• Submit one homework0n.ipynb per group to Gradescope Homework n NB
• List all group members