Scientific Python

Dates: 19-20 May 2016

Location: University of Liverpool.

Preparatory Course Info

What you need to know

The course will assume a level of understanding of fundamental programming concepts: variables, loops, conditionals, methods/functions; it will also assume familiarity with basic python syntax for these features, along with data structures such as lists and tuples. The course will be based on Python 2.7.

For less experienced programmers, a concise introductory online course on python programming is available from e.g., Code Academy

The course will start with a very brief recapitulation of basic ideas.

What you need to bring

Attendees should bring a laptop (Windows/Mac/Unix) with the following software installed before the start of the course.

  • Python 2.7

    We strongly recommend installing on your laptop the Anaconda distribution of python available from

    This has all the packages that will be required for the main part of the course: Numpy, SciPy, Matplotlib, Jupyter. IMPORTANT. Python 2.7 will be used as the basis of the course (not version 3.x). Please make sure you download the correct version.

  • A text editor (e.g., for editing python source files)
  • Connections to the network will be required for use of ARCHER guest accounts. You will need at least a secure shell (ssh) client. We suggest
    • For Windows: an ssh client, and an X-window implementation. These are conveniently supplied together by, e.g., MobaXterm
    • For Mac: ssh (usually installed as a default), and an X-window implementation, e.g., XQuartz (note Mac-style terminal windows are not enough).

What will be supplied

The course presenters will provide guest account details for attendees without existing ARCHER accounts.

The final part of the course will provide the opportunity to run a parallel python code, and/or couple compiled code in Fortran or C from python. This requires at least a native compiler for Fortran or C, which are available on ARCHER. Instructions for ARCHER will be supplied.

Attendees may wish to try parallel python or coupling on their own laptops, but will need to arrange installation of the appropriate packages/compilers to make this possible.

Lecture Notes

PDF slides

  • L01 - Introduction
  • L02 - NumPy
  • L03 - Matplotlib
  • L04 - SciPy
  • L05 - Interfacing Fortran and C

Python scripts

  • L01 - Introduction
  • L02 - NumPy
  • L03 - Matplotlib
  • L04 - SciPy
  • L05 - Interfacing Fortran and C

Jupyter notebooks

  • Notebooks

Course Material

Day 1

Download Day 1 course material sci-py-day-1.tar.gz

Download Day 1 course material

Day 2

Download Day 2 course material sci-py-day-2.tar.gz

Download Day 2 course material