3.1. About the Labs

The main purpose of the labs 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 lab material

The directives for all the lab sessions are provided in the online course notes.

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

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

3.1.2. Virtual lab

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.

The labs 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/labs/lab02 work

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

3.1.3. Submission

Lab reports are 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

Lab reports will be marked 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 lab reports with the lowest grade will be dropped. However, reports that are not submitted will not be dropped.