COMPSCI 371 - Elements of Machine Learning¶
Homework Submission Workflow¶
We will use Gradescope to collect your homework and grade it, for lower turnaround time and more consistent and rapid feedback.
Important: Log in to Gradescope by clicking on a button on the assignments page for this course on Canvas, not directly on the Gradescope site. This will ensure that your grades are synchronized appropriately with Canvas.
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.
TL;DR: The first time around, please be patient and 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.
Warning¶
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 notebook, and you may lose credit for things not showing up where they are supposed to.
Long Version¶
In the instructions below, 0n
stands for a two-digit integer that numbers the current assignment (for instance, 00
or 04
or 10
).
To submit your homework for grading, assuming that your notebook homework0n.ipynb
is open in the Jupyter notebook editor, do the following:
- Ensure that the notebook
homework0n.ipynb
is complete and renders well:- All the group members who worked on the assignment must be listed at the top of the page.
- If you have cells with many lines, break them up into multiple, smaller cells (holds for both markdown and code cells). This will make the pagination of the PDF file much better.
- 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.
- Make an HTML file
homework0n.html
:
(This is an intermediate file that will not be submitted.)- Select
File->Save and Export Notebook as->HTML
from thejupyter
menu (not the browser menu). This will download an HTML versionhomework0n.html
of your notebook to your computer, typically in yourDownload
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).
- Select
- 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 found in different places. You may have to click on aChange 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. - Check that the PDF contains all it needs, and no text or code is cut off by page margins.
- Use the
- Submit two files to Gradescope , namely, your PDF file
homework0n.pdf
and your notebookhomework0n.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 toHomework n PDF
is what we actually grade. We refer to yourHomework 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 gradable PDF file and a different file for the same assignment. So we will set up two different homework assignments in both Canvas and Gradescope for each actual assignment. For homework numbern
, these will be calledHomework n PDF
andHomework n NB
.Homework n PDF
: Submithomework0n.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. Onehomework0n.pdf
per group!Homework n NB
: Submithomework0n.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 the NB submission. Onehomework0n.pdf
per group!
Short Version¶
(You have completed your homework0n.ipynb
in the Jupyter editor.)
- List all group members at the top of
homework0n.ipynb
- Keep cells small
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 makehomework0n.html
- Open
homework0n.html
in your web browser File->Print (Save as PDF)
in your browser to makehomework0n.pdf
- Check
homework0n.pdf
for completeness and proper formatting - Submit one
homework0n.pdf
file per group to Gradescope (accessed through Canvas)- List all group members, map answers to pages carefully
- Submit one
homework0n.ipynb
file per group to Gradescope (accessed through Canvas)- List all group members