Downloading, Completing and Submitting Assignments

Prerequisites

At this point you should have finished installing Python (via Anaconda), Atom, and GitHub Desktop. You can also refer to the assignment 0 tutorial, which walks through these steps in more detail.

What assignments do I have?

Each assignment has its own “invite link” under the “Homework” section of the “Resources” tab of the “Resources” page on Piazza — available directly at this link.

How do I start an assignment?

Click the invite link. (If necessary, sign in to GitHub using the username and password you created earlier.) GitHub will ask if you want to “accept” the assignment. Click the button. On the confirmation screen, you’ll see a link at the bottom saying that your assignment has been “created.” Click on it.

You will be taken to a page on GitHub with the name of the assignment at the top. This is your personal repository on GitHub for the assignment; only you and the instructors can see the files in this repository. We will grade the version of the files you have uploaded (via GitHub Desktop) as of the assignment deadline.

Open GitHub Desktop. Select “Clone Repository” from the File menu. Copy the URL to the GitHub repository you just created and paste it into the upper text field. Then click on “Choose…” next to the lower text field and select the FMS directory you created to hold all of your work for the course. This will “clone” your private assignment repository on GitHub into a local copy on your computer.

How do I work on the assignment?

Open Atom. Select Open from the File menu, browse to the folder you just created in your FMS directory for this assignment, and open the README.md file. It will describe the tasks you need to complete for the assignment.

Use Atom to modify the files in the assignment directory as necessary. For the first few assignments, we will give you skeleton files which you will need to fill out with appropriate Python code. For later assignments, you may need to create appropriate files from scratch.

As you go, remember to save your progress regularly — and definitely whenever you complete a significant chunk of work. Save the files you are working on in Atom, just as you would with any other program. Then open up GitHub Desktop, select the repository for the assignment you are working on, and “commit” your changes.

To do so, type a short summary of the change in the “Summary” text field at the bottom of the left pane. Then click the “Commit to master” button.

How do I submit the assignment?

When you are ready to let the course staff see your work, open GitHub Desktop, select the assignment repository you are working on, and click the “Push origin” button at the top of the window. This copies your changes to your assignment repository on GitHub’s servers, where we can see it. When you’re done with an assignment, all you have to do is click this button and we’ll have your work, ready to go.

In fact, this is so easy that we encourage you to click the button early and often. Better to push too often than not enough. Don’t worry about pushing us incomplete or non-working code. We will only grade your code based on the final state of your repository as of the deadline.