Advanced Research Computing 2025/26
This year’s course will cover aspects of machine learning, data analysis, and scientific computation — and their interactions with AGQ.
Logistics
To register for the course, either for credit or to audit, fill in the online poll by Monday 12 January; or fill in the poll and email Tudor Dimofte after that date.
The course meets for three hours a week, in person near the Bayes Centre (University of Edinburgh central campus) and online. Our meeting rooms/times are:
| 16 Jan | 9:30am-12:30pm | Lec 1 (Rob) | M2 – Teaching Studio, Appleton Tower |
| 23 Jan | 9:30am-12:30pm | Lec 2 (Rob) | M2 – Teaching Studio, Appleton Tower |
| 30 Jan | 9:30am-12:30pm | Lec 3 (Rob) | M2 – Teaching Studio, Appleton Tower |
| 6 Feb | 9:30am-12:30pm | Lec 4 (Rob) | M2 – Teaching Studio, Appleton Tower |
| 13 Feb | 9:30am-12:30pm | Lec 5 (Rob) | M2 – Teaching Studio, Appleton Tower |
| 20 Feb | no class | (AGQ Y2 at Glasgow Science Centre) | |
| 27 Feb | 9:30am-12:30pm | Lec 6 (Sjoerd) | M2 – Teaching Studio, Appleton Tower |
| 6 Mar | 9:30am-12:30pm | Lec 7 (Sjoerd) | M2 – Teaching Studio, Appleton Tower |
| 13 Mar | no class | (AGQ Y2 Anchored In training) | |
| 20 Mar | 1pm-4pm | Lec 8 (Job) |
online |
| 27 Mar | 9:30am-12:30pm | Lec 9 (Darrick) | M2 – Teaching Studio, Appleton Tower |
| 3 Apr | no class | (Easter) | |
| 10 Apr | 9:30am-12:30pm | Project intros | Bayes 5.46 |
Zoom links for virtual participation are sent out via email.
Assignments: There will be five assessed homework coding exercises, in addition to weekly workshop problems. For students taking the course for credit, you must score at least 60% on at least four out of five homeworks to pass the course.
Course Material
To be able to participate in workshops during the course, students will need to install Anaconda and set up an environment for running AGQ Jupyter notebooks. Below are some instructions on how to get started. Please attempt to do this before the first workshop on 16 January. If you’re having trouble, we’ll help you out during that workshop.
Installing Anaconda
First you need to install Anaconda on your laptop.
The installation is slightly different for Windows, Mac, and Linux. Whichever system you use, make sure to select “Add Anaconda3 to my PATH environment variable” (if given the option).
Windows: here’s an excellent video explaining the installation of Anaconda and use of environments. Please download Git and Git Bash as well, as explained in the video. (At around minute 11:45, VS Code pops up — it’s not required for this course, might be helpful; see below).
Mac: somewhat simpler, here’s a Mac version of the same video. (You can ignore VS Code at minute 7:15.)
Linux: no video; we assume you know what you’re doing.
Import an Anaconda environment
The environment file for the start of this course is found here:
https://github.com/tdimofte/AGQ-computing-2026/blob/main/Week0/agq-env.yaml
An “environment” is a workspace on your computer, containing particular versions of the programs and packages used to run code. In our case, the agq-env environment contains python and a few particular python modules that we’ll call upon.
You’ll need to import the agq-env environment into Anaconda in order to use it. There are two ways. We recommend using the command line (e.g. Git Bash on Windows or Terminal on Mac) and running
conda env create -f agq-env.yaml
The first time you do this, the “create” command will install Python too, since it’s required by the agq-env environment. (See the videos above for more info.) Also, here’s a cheat sheet with further Anaconda commands.
The other way to import the agq-env environment is using the visual Anaconda Navigator (instructions here). Totally fine to do it this way, but it’s better to start getting used to the command line.
Jupyter notebooks: web browser and VS Code
Most of the coding we’ll do will happen in Jupyter notebooks. For beginners, the easiest way to run a notebook is from a web browser. Follow these steps to launch your first notebook:
- Download the notebook file TestPlayBookAGQ.ipynb notebook file to a directory on your computer.
- Open a terminal (e.g. Git Bash on Windows) and navigate to the that directory. (See minute 3:20 in the tutorial here if you’re confused about the command line.)
- Run
conda activate agq-envto enter the agq-env environment. - Run
jupyter notebookto launch a notebook server in your default web browser. - Now navigate the directory in your web browser. Click on the TestPlayBookAGQ.ipynb notebook to open it.
- Run the entire notebook by clicking on the menu Cell -> Run All.
- (When finished, run
conda deactivateto exit the environment in your terminal.)
Running the notebook should at the very bottom display the line: `AGQ Tests Passed!`
If you see a bunch of red text then something has gone wrong and you may need to reach out to an expert for help. We can help you out at the first workshop.
An alternative to running Jupyter notebooks in a web browser is to edit and run them in VS Code. VS Code is a powerful and versatile code editor that works across Windows/Mac/Linux platforms. However, its great variety features may actually be confusing to beginners. If you’d like to try VS Code, download it and follow its Jupyter video tutorial.
Familiarity with Jupyter Notebooks
We will use Jupyter notebooks throughout the entire course, for machine learning, topological data analysis, and scientific computing. There are loads of guides for beginners online (you can search and find your favorite). If it’s your first time, we recommend taking a look at the Cells and Keyboard Shortcuts sections of Dataquest’s intro to Jupyter-Notebooks. See also the Geeks4Geeks tutorial, this basic Jupyter/Python tutorial on GitHub, and Anaconda’s intro to Jupyter Notebooks.
Familiarity with Python3
If you’ve never used Python before (and even if you have), we recommend downloading, opening, and playing around with the following two notebooks:
Looking at, and modifying, the examples here should help get you up to speed. Some other Python tutorials include those from python.land, python-course.eu, and Microsoft.
Lecture 1