3.1. About the Homework

The main purpose of the homework is for you to gain practical experience in computational modelling. Secondary goals are to develop your scientific programming skills (in Python), as well as to deepen your knowledge of data structures and algorithm design and analysis.

3.1.1. Accessing the homework material

The directives for all the homework assignments are provided in the online course notes.

Starter notebooks and data for the homework is available via the course GitHub repository. They are also available on the course JupyterHub (on campus and VPN access only). You should be able to complete the homework via this site with no software installation required. However, you can also download the homework and complete it on your own computer if you have followed the instructions in Computing Resources.

Deliverables for the homework assignments will be submitted electronically via CourseLink Dropbox. They are due according to the dates associated with the respective Dropbox folders.

3.1.2. JupyterHub

We are running JupyterHub, which is a multi-user server for Jupyter notebooks. Log in using your U of G central login. When you first connect, you will be taken to an instance of JupyterLab running inside a Docker container.

You will see two folders:

  • public is read-only, it is a mirror of the course GitHub repository

  • work is your work directory. This persists even when you shut down your server.

Homework assignments will typically provide a starter notebook which you will fill out and submit on CourseLink Dropbox. The normal workflow is to copy the appropriate folder at the beginning of the lab from public to work, and edit the copy in work. This can be achieved via the Terminal. Use the Launcher to open a new Terminal, or use File -> New -> Terminal and then type:

cp -r public/homework/homework02 work

You can then close the Terminal and open the copied notebook for editing.

3.1.3. Submission

Homework is to be submitted as a single Jupyter notebook. If your notebook requires dependencies beyond that supplied by the course environment file, please submit an environment file that contains all the dependencies to run your notebook.

3.1.4. Grading

Homework will be auto-graded according to a terniary scheme:

  • High pass (more than average effort, essentially complete)

  • Pass (reasonable effort, may be missing some components)

  • Fail (less than average effort, mostly incomplete)

The three homework submissions with the lowest grade will be dropped. However,

homework assignments that are not submitted will not be dropped