For CS184 assignments, you must perform all of the following steps for your submission to be considered complete. You can verify your code submission based on these instructions.

  1. Commit and tag your code (GitHub)
  2. Host your write-up (GitHub Pages)
  3. Submit write-up PDF (Gradescope)

You should have been added to Gradescope if you are enrolled in the class. If you are not on Gradescope but are enrolled in the class, please make a private Piazza post about this with your name, SID, and email.

Slip / late day policy: You have a total of 5 slip days to use on assignments throughout the semester, but you do not have slip days for checkpoint quizzes. Assignments submitted after 11:59PM are considered a full day late. There is no late minutes or late hours. After you have used all 5 slips days, you will lose 10% for each day you submit an assignment late.

1. Committing and Tagging Your Code (GitHub)

Your assignment code will be hosted on GitHub. After you are satisfied with all of your implementations, you should perform the following steps:

(1) commit and push all your code to the master branch of your GitHub repository. (2) tag and push the commit you wish to use as your submission with name submission. You final tag must be created before the deadline.

To tag the latest commit, perform the following steps:

git tag submission          // (1) Tag the latest commit as "submission"
git push origin submission  // (2) Push the submission tag to remote server

To update a tag, perform the following steps:

git push origin :refs/tags/submission   // (1) Delete the old tag on remote server
git tag -f submission                   // (2) Tag the latest commit as "submission"
git push origin submission              // (3) Push the submission tag to remote server

Instead of tagging the latest commit, you can also tag a particular commit by its ID using git tag {ID} submission. For more information on tagging, see this Git documentation.

2. Hosting Your Write-Up (GitHub Pages)

Your assignment write-up will be hosted on GitHub Pages and submitted to Gradescope. You should perform the following steps to host your write-up:

(1) Log in to your profile on the cs184 website and accept the "Project Webpages" assignment. This is a template you can use for your webpage write-up. Note: If you had previously forked the project webpages repo or would like to use your own repo, you can ignore this part.

(2) Navigate to your webpage repo on Github.

(3) Under your repository name, click "Settings".

(4) Navigate to the "Pages" tab under "Code and automation".

(5) Under "Source", use the drop-down menu to select Deploy from a branch as your publishing source. Under "Branch", select master/root and save. Once done, you should wait a few minutes and see a message saying "Your site is live at ...".

(5) Finally, you can place your write-up as .html files in this the respective project folder.

Your write-up must be hosted on GitHub Pages. If you absolutely want to host it somewhere else, please make it very obvious in the write-up PDF you submit to Gradescope, since we will be grading off of your write-up webpage.

3. Submitting Write-Up PDF (Gradescope)

You should submit a PDF version of your write-up to Gradescope. To export your write-up webpage as a PDF, you can print the webpage and save it as a PDF.

This PDF submission helps us validate your submission and assign points to your write-up. It is expected that the PDF version matches the live version of your webpage. In other words, do not edit your webpage in any significant way after the deadline. Editing grammar and fixing typo are fine, but please do not add entire sentences or images.

Remember that grading starts with your write-up, so make it clear and easy to read! Do not forget to submit the PDF to Gradescope before the deadline.

Verifying Code Submissions

You can verify your submission by going to your profile on cs184's website, clicking on the appropriate assignment, then entering your repo's name. If your repo has a submission tag, the tool should find it and display how many late days were used.

You can also view your code submission right on GitHub under the "releases" tab. Your submission should be under a release named submission. If you click the commit "sha" on the left, you can see details of the latest commit. If you hit "browse files" on the top right of this page, you can see the full file structure of your submission.