Assignment Submission Instructions
ISTA 421 / INFO 521 Home
Introduction
Unless otherwise noted, we will use GitHub for submitting all assignments.
In general, all assignments will involve two components: written portion and programming portion.
Follow the instructions for the specific assignment, versioning only what is specified plus any additional files you create yourself that your code depends on. We use Travis CI for continuous integration to build and test your code. If it fails to run, we won't grade it.
Submission
GitHub
You need a personal (free) account on GitHub to clone and push your changes. If you already have one, you can use it, otherwise you can sign up here.
You will have an individual, private repository on GitHub for each of the assignments. You will use this repository to check in your progress, submit your final code and written solutions and request feedback from the instructors of the course. If you need to get acquainted with git, you can start by reading some of the tutorials at https://try.github.io.
Programming Portion of Assignments
Important note: Include comments in your code that explain clearly what your code is doing!
You will implement the code in the python source files where specified by the assignment's specifications. When you make progress, you will need to commit and push your changes into the repository.
Written Portion of Assignments
All written assignments will be completed and versioned into the individual git repository for the assignment. All written portions of assignments must be submitted in PDF format.
Use the following naming convention to name your submitted pdf:
hw<homework-number>-answers.pdf
So, for example, if you are submitting homework 3, then your file will have the following name:
hw3-answers.pdf
And can be added to the repository with:
$ git add hw3-answer.pdf
$ git commit -m "Versioned the written part of my assignment"
$ git push
Final submission
Your final submission should be pushed into the master branch. Every time you make some progress. It is advised that you commit and push your changes into your local repository by running:
$ git commit -a -m "Insert here a descriptive message for your commit"
$ git push
Automatic Testing
Local testing
You can test your progress on the programming part of the assignment locally with pytest. If you have a Linux or Mac machine, navigate to the top-level directory of the assignment and run:
$ PYTHONPATH=. pytest
To execute the unit tests included with the assignment. When you're done implementing the excercises, all the tests will pass. Otherwise, you will see an error message that may help you debug your code.
Testing with TravisCI
You can test your code on Travis. For this, you will need to merge your code into the solution branch and push the aformentioned. You can log into Travis CI and inspect the status of build and the output of pytest.
Automated testing on Travis takes time to finish and all the builds of all the students are enqued, therefore it is highly encouraged that you start testing early and not do it the night before the due date, as there will a "build jam" in Travis.
Requesting feedback on your code
You can request feedback from the instructors by using GitHub's features. Open the relevant commit from on GitHub and add comments where appropriate. You can tag any of the instructors with their GitHub handles and they will be notified. You can find detailed instructions here.
|