Skip to content

Getting started

K Clough edited this page Aug 28, 2023 · 17 revisions

You should follow this section in the first week of the course, and you may need to refer to it in future weeks as a reference.

The main thing that you need to do is to make sure that you can run the python notebooks and get course materials from github. This can be completed in your own time, or in the lab (I recommend the latter, as my colleague Llibert will be present to help you with any issues).

You should work through the following sections in order:

The key packages used in this course will be:

Python

The computer language chosen for this module is Python, more specifically Python 3. You should aim to work with Python version 3.8 or higher (and definitely not Python 2). The book A Beginner's Guide to Python 3 Programming by John Hunt is available for free at the library as an ebook.

Jupyter Notebook

All the lab exercises are written as Jupyter notebooks. A Jupyter notebook contains text boxes in markdown (the same format used for writing this wiki) and programme code in Python, and the code can be run in the notebook rather than on the command line. They are especially useful for sharing code and results.

SageMath

SageMath is an open source, python based software for doing symbolic algebra, analysis and many other abstract and numerical mathematical operations, as an alternative to closed source applications like Maple, Mathematica and Matlab. It is slightly more limited in its functionality, but it has the advantage of an open source community, and because its code is open source, you can really understand how and what it is doing, unlike something like Mathematica where you cannot see what it is doing "beneath the hood" because it is proprietary. SageMath is run in notebooks very like Jupyter ones, but requires additional packages to be installed for them to work.

git

The basic purpose of git is to allow you to regularly save all your changes to a code so you can go back and see where you screwed up when things don't work or revert to an earlier version that is functional and try again. In a collaboration, it allows you to see where other people screwed up, and blame them (GitHub really has a blame button). You can also essentially use it like a fancy version of dropbox, to store all your files related to a code project, along with documentation related to it in a wiki like this one.

Clone this wiki locally