Introduction to Scientific Programming with Python
ARCHER, the UK's national supercomputing service, offers training in software development and high-performance computing to scientists and researchers throughout the UK. As part of our training service we will be running a 2 day 'Introduction of Scientific Programming with Python' training session.
Details
This course is aimed at programmers with little or no Python knowledge seeking to learn how to use Python for scientific computing. We will introduce Python's fundamental scientific libraries numpy, scipy and matplotlib. We will also introduce how to interface Python with Fortran and C codes, along with parallel programming methods including MPI via mpi4py.
This course is free to all academics.
Trainers
Adrian Jackson
Adrian Jackson is a Research Architect at EPCC, where he works on a range of different research, from investigating new memory hardware and programming models, to optimising and porting parallel codes, and working with application scientists to enable their computational simulation or data analysis. He also teaches on EPCC's MSc in HPC, giving lectures on Programming Skills, HPC Architecture, and Performance Programming.
Structure
The course will be delivered over two days in person. The course will interleave many practical exercises with short lectures and discussions.
Pre-requisites
To attend, you must have some experience of writing code and/or scripts and be familiar with programming concepts including conditionals, loops, arrays and functions. You should also have some basic knowledge of the Python language. For an introduction to Python, please see Code Academy's Python tutorial: https://www.codecademy.com/learn/learn-python-3
You should also be comfortable with using the bash shell. For an introduction to the shell, please see, for example Software Carpentry's lessons on Unix Shell: https://swcarpentry.github.io/shell-novice/
- The course will be hands-on, and you should bring your own laptop.
- We strongly recommend you download, before the course, Anaconda python Version 3.6 from https://www.anaconda.com/download/ (version 2.7 will work at a stretch). This has all the packages required (and more).
- Please download the course material (link below).
Timetable
Please note the exact contents of the Belfast run of the course may differ slightly from those that appear here:
Day 1
- 09:45 - Registration and check installations
- 10:15 - L01 : Introduction
- 11:15 - Break
- 11:30 - L02 : NumPy
- 13:00 - Lunch
- 14:00 - L03 : Matplotlib
- 15:30 - Break
- 16:00 - Exercises
- 17:00 - end
Day 2
- 10:00 - L04 : SciPy
- 11:00 - Break
- 11:30 - L05 : Fortran/C Interfaces
- 13:00 - Lunch
- 14:00 - L06 : Parallel processing and mpi4py; ARCHER Exercise
- 15:30 - Break
- 15:45 - L07 : Python classes
- 16:45 - end
Course Materials
Slides and exercise material for this course.
Location
The course will be held at Queen's University, Belfast.
Registration
Please use the registration page to register for ARCHER courses.
Questions?
If you have any questions please contact the ARCHER Helpdesk.