Key Information

Tutor: Dr Christopher Cooling 
Duration: 2 x 2 hour sessions 
Format: Live (In-Person) & Live (Online)
Course Credit (PGR only): 1 credit 
Audience: Research Degree Students, Postdocs, Research Fellows

Dates

  • 25 & 26 November 2025
    10:00-12:00, MS Teams
  • 02 & 05 February 2026
    12:00-14:00, South Kensington
  • 05 & 06 May 2026
    14:00-16:00, MS Teams

Python has many great advantages that leads to it being the programming language of choice for a large range of users. 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. 

In this course you will learn to use the basics of the NumPy and SciPy packages, allowing you to handle large amounts of data in an efficient way. You will also apply these tools to solve more advanced problems like those you might encounter in research.

Syllabus

  • 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
  • Solving initial value problems with SciPy
  • Extended exercises

The course will be delivered through a combination of written material, demonstrations and hands-on practicals. This course is aimed at programmers who are comfortable with the basics of Python and want to learn how to perform larger scale numerical calculations more efficiently.

This course is open to Research Degree Students, Postdocs & Research Fellows. Limited spaces available for wider Imperial community.

Learning Outcomes

After completing 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

Prerequisites

Basic knowledge of Python is essential. One place you could attain this is through studying the online course -  Introduction to Python for Researchers. 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. This learning resource is for PhD or Master's students who feel they need to brush up on their Maths and Stats. The College has two banks of revision resources covering A-level content: our four “A-Star” MOOCs, available on edX, and the Metric collection, available on the Web.

How to book

 

Please ensure you have read and understood ECRI’s cancellation policy before booking