Tutor: Dr Christopher Cooling
Course LevelLevel 2
Prerequisites: Basic knowledge of Python is essential. Ideally an attendee will have used Python intensively for at least three months prior to attending this course. Python users who are already familiar with NumPy and/or SciPy will gain less from this course as it is primarily aimed at those learning about these features for the first time. Knowledge of the following areas of maths is required:

  • Vectors
  • Matrices
  • Differentiation of simple functions
  • Integration of simple functions
  • Ordinary differential equation (useful, not required)

If you are unfamiliar with of some of these areas, or would like a refresher, consider taking the Maths and Stats Online Catch Up course before you attend this course. This course can be completed at your own pace. Further information can be found here.

Course Duration: 2 x 2 hour sessions
ormatMicrosoft Teams with live teaching and hands-on practice


Python has many great advantages that leads to it being the programming language of choice for a large range of audiences. However, it is an inherently inefficient language and performing extensive numerical calculations in pure Python can be very slow. Fortunately, the NumPy and SciPy modules are a popular and effective way to greatly improve the performance of Python for numerical computing.

This course aims to introduce the basic features of the NumPy and SciPy packages and give attendees the experience required to begin using these packages in their own work. This will be achieved through a series of demonstrations, followed by hands-on practicals, which challenge attendees to apply the tools demonstrated to sample problems of increasing complexity.


  • What are NumPy and SciPy?
  • Creating and manipulating NumPy arrays
  • Operations using NumPy arrays
  • Performance comparison of NumPy arrays with standard Python
  • Using SciPy to perform numerical calculations
  • Extended exercises

Pre-course Set-Up
Course Materials

The course will be delivered through a combination of written material, demonstrations and hands-on practicals.

Learning Outcomes

On completion of this workshop you will be better able to:

  • Describe the key functionality and advantages of NumPy and SciPy
  • Utilise NumPy arrays to store and perform operations on data sets
  • Locate appropriate SciPy functions for a specific problem
  • Create basic programs using NumPy and SciPy to solve numerical problems


Tuesday 04 May 2021, 10:00-12:00 (Part One)
Thursday 06 May 2021, 10:00-12:00 (Part Two)
Microsoft Teams


Tuesday 08 June 2021, 15:00-17:00 (Part One)
Friday 11 June 2021, 15:00-17:00 (Part Two)
Microsoft Teams


Summary of the table's contents

Students must attend both parts to be awarded the course credit