Scientific Programming with Python
Dates: 16 - 17 December 2019
Location:Queen's University, Belfast
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.
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 3.6
We strongly recommend installing on your laptop the Anaconda distribution of python available from https://www.anaconda.com/download/
This has all the packages that will be required for the main part of the course: Numpy, SciPy, Matplotlib, Jupyter. IMPORTANT. Python 3.6 will be used as the basis of the course (not version 2.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
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.
Unless otherwise indicated all material is Copyright © EPCC, The University of Edinburgh, and is only made available for private study.
Lecture Notebooks
- L01 - Introduction
- L02 - NumPy
- L03 - Matplotlib
- L04 - SciPy
- L05 - Fortran/C Interfaces
- L06 - Parallel processing and mpi4py
- L07 - Python classes
Course Material
The course material is available at https://github.com/adrianjhpc/archer-python.
Course Chat page
Chat pageThe Chat page is a live collaborative online document which we will use to share links, information and comments. All course participants are encouraged to contribute.