Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

πŸ’» Work environment and submission workflow

Class 2 β€” Thursday, August 27

Stony Brook University

In addition to theory πŸ“– this course has a strong βš™οΈ practical component, with hands-on exercises and a semester-long project. To follow the course effectively you need a local development environment to interact with the course materials, and to write and run code.

This class also sets up the workflow you will use to submit every homework: a pull request to the course repository.

PrerequisitesΒΆ

Python and AnacondaΒΆ

The Anaconda distribution is an easy way to install:

Anaconda Distribution

The course uses numpy, scipy, matplotlib and sympy. All of these ship with Anaconda; no other frameworks are required.

Git and Git GUIΒΆ

Git Β· Git GUI applications

Recommended options:

GitHubΒΆ

Text editorΒΆ

Jupyter notebooksΒΆ

Jupyter notebooks have limitations

Homework submission workflowΒΆ

Every homework in this course is submitted as a pull request to the course repository. The mechanics are the same every time:

  1. Fork the course repository to your own GitHub account (once, at the start of the semester)

  2. Clone your fork to your machine git clone <address copied from the GitHub page>

  3. Branch for each assignment: git checkout -b hw1-yourname

  4. Work in your own folder β€” submissions/yourname/hw1/ β€” so that submissions never collide with each other

  5. Commit with a meaningful message: git add . && git commit -m "HW1: inventory model solver"

  6. Push the branch to your fork: git push origin hw1-yourname

  7. Open a pull request against the course repository before the deadline

Homework is discussed at the start of the class that follows it, with one student presenting the solution at the board. The presenter rotates, so plan on presenting several times over the semester β€” including code that does not work yet, which is usually the more instructive case.