Submission Guide

How to start and submit assignments through GitHub and Gradescope

You need to have Git installed on your computer, and have a GitHub account. You can use command line Git or RStudio itself to push, pull, etc. to/from GitHub. See Seminar 1 for an illustrated setup guide and illustration of the full workflow from accepting an assignment to submission.

Start a new assignment

  1. Accept: Click on the assignment invitation link for the assignment in Canvas. Each individual assignment/deliverable will have its own link, whereas the group project will only have one link at the start of the project (all deliverables will use the same shared repository). After you accept the assignment, a GitHub repository will be automatically be generated for you.

  2. Clone the repository to your local machine (see Seminar 1 for illustration of this workflow). Now you can begin working on your submission files locally. See below for more detail on repositories and organizing files.

How to “turn in” your work: Save, Commit, Push, Submit

Follow these steps carefully, and be sure they are complete before the deadline of each deliverable. Important Note: the deadline is automated, so you will not be able to perform a late submission (even by one second). Make sure to allow plenty of time for submission!

  1. Please include a link to your assignment repository at the top of your main output file.

  2. Save all the files associated with your solution locally (i.e. for coding assignments R Markdown, GitHub Markdown, and any associated output files - see below for more detail).

  3. Commit those files to your local Git repository.

  4. Push the current state of your local repo to your private repo on GitHub. Double check that this was successful, by viewing your repo on GitHub to verify that the most recent commits are visible.

  5. Submit the repository on Gradescope via the link in Canvas.

That’s it! You can commit/push to update your assignment as often as you’d like before the deadline (frequent commits are actually encouraged). A snapshot of your repo at the deadline will automatically be captured for grading.

If you’re concerned that something hasn’t gone right with the submission and the deadline is imminent, send the TAs an e-mail with your assignment attached. Note: this is only a last-minute emergency back-up plan, and penalties may apply. We will work with you until you get it submitted via GitHub/Gradescope.

Files & organization

Individual assignments

Group project

Main required file types

In general for coding assignments, you need to commit and push your R Markdown, GitHub Markdown, and any associated figure/output files with your assignments (note: you should not to commit raw data to your repository - see below). Writing assignments are the exception (e.g. paper critique, project proposal): a Markdown file sufficient.

This workflow is specific to STAT 540 and may not necessarily reflect your workflow in other contexts.

R Markdown (source file)

GitHub Markdown (output file)

---
title: "Homework assignment"
author: "Your Name"
output: github_document
---

Figure files (output files)

Files not to commit: Data files (input files)

Locally, you may keep input data files in some logical place within the assignment’s directory. But list the names of such data files in your top-level .gitignore file, so that Git ignores it. Or better yet, include commands that download the data directly (if available and not too large). This is to reduce storage required on GitHub and when the TAs download your repositories for marking.

General tips for working on the assignments