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
Course Resources
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
- Early Career Researchers (Research Degree Students, Postdocs, Research Fellows) should book via Inkpath using your Imperial Single-Sign-On.
- All other members of the Imperial community, should book here.
Please ensure you have read and understood ECRI’s cancellation policy before booking.