Module code: MAT3015

Module Overview

Partial differential equations (PDEs) are used to model many physical, engineering and biological processes.  Some of these systems exhibit exact analytical solutions, but in the majority of cases the PDEs cannot be solved by hand. In these cases we need to utilize computational techniques to form approximate solutions to these PDEs in order to allow understanding and interpretation of the PDE’s behaviour.

Module provider

Mathematics & Physics

Module Leader

ASTON Philip (Maths & Phys)

Number of Credits: 15

ECTS Credits: 7.5

Framework: FHEQ Level 6

Module cap (Maximum number of students): N/A

Overall student workload

Independent Learning Hours: 51

Lecture Hours: 33

Laboratory Hours: 10

Guided Learning: 23

Captured Content: 33

Module Availability

Semester 2

Prerequisites / Co-requisites

MAT2011: Linear PDEs.  

Module content

The module will include the following topics:

  • Finite difference methods – derivation, notions of accuracy, consistency and stability.

  • Euler's method; the theta method; and the Crank-Nicolson method.

  • The leapfrog method; the Lax Wendroff method; and the Lax Equivalence Theorem.

  • Finite element methods, spectral methods.

  • Gaining experience of writing and running code to solve partial differential equations using Python.

Assessment pattern

Assessment type Unit of assessment Weighting
Coursework Assessed Coursework 20
Examination End-of-Semester Examination (2 hours) 80

Alternative Assessment


Assessment Strategy

The assessment strategy is designed to provide students with the opportunity to demonstrate: 

  • Understanding of and ability to derive, devise and analyse numerical methods.

  • Subject knowledge through the recall of key definitions, theorems and their proofs.

  • Analytical ability through the solution of unseen problems in the test and exam.

  • Practical skills of implementing numerical methods in Python, and ability to understand and interpret given code.

Thus, the summative assessment for this module consists of:

  • One coursework using Python to implement some of the methods of MAT3015. This assessment is worth 20% of the module mark and corresponds to Learning Outcomes 1 to 5.

  • A synoptic examination (2 hours), worth 80% of the module mark, corresponding to Learning Outcomes 1 to 4. 

Formative assessment
There are two formative unassessed courseworks over an 11 week period, designed to consolidate student learning. 

Individual written feedback is provided to students for both formative unassessed courseworks and assessed coursework. Any issues with the unassessed courseworks are discussed in lectures. Students receive real time guidance and feedback from the instructor and teaching assistant(s) during computer lab sessions: this is particularly useful in providing guidance for the assessed coursework.

Module aims

  • This module aims to introduce students to the basic principles behind numerical schemes such as finite difference methods, finite element methods and spectral methods used to numerically approximate PDEs. The techniques are studied in terms of their derivation, their accuracy and their implementation in Python.

Learning outcomes

Attributes Developed
001 Students will demonstrate knowledge and understanding of the taught numerical methods to solve PDEs. KT
002 Students will be able to derive and devise numerical schemes with specific details for a range of mathematical problems. KCT
003 Students will be able to apply the above knowledge to determine the most suitable numerical method(s) for a particular PDE. CPT
004 Students will examine the numerical methods and understand the notions of convergence, accuracy and stability. KC
005 In completing the assessed coursework, students will demonstrate problem-solving resourcefulness and digital capabilities by using Python to implement appropriate numerical methods. KPT

Attributes Developed

C - Cognitive/analytical

K - Subject knowledge

T - Transferable skills

P - Professional/Practical skills

Methods of Teaching / Learning

The learning and teaching strategy is designed to provide: 

  • A detailed introduction to numerical methods for PDEs and their analysis.

  • Practical experience (through demonstration using Python) of the methods used to analyse, understand and solve problems involving numerical methods.

The learning and teaching methods include:

  • Three one-hour lectures per week for eleven weeks, in which notes can be taken. Lectures are delivered using blackboards/whiteboards and/or visualizers for real-time presentation. The lectures provide a structured learning environment with opportunities for students to ask questions and to practice methods taught.

  • Weekly one-hour lab sessions (from weeks 1 to 10 inclusive) to provide students with a hands-on learning experience of implementing the numerical methods in Python. In the lab sessions, students are given lab sheets and template codes which they use to solve practical problems.

  • There are two unassessed courseworks to provide students with further opportunity to consolidate learning. Students receive individual written feedback on these as guidance on their progress and understanding.

  • There is one assessed coursework to allow students to demonstrate their learning for a range of learning outcomes.

  • Lectures may be recorded. Lecture recordings are intended to give students the opportunity to review parts of the session that they might not have understood fully and should not be seen as an alternative to attendance at lectures.


Indicated Lecture Hours (which may also include seminars, tutorials, workshops and other contact time) are approximate and may include in-class tests where one or more of these are an assessment on the module. In-class tests are scheduled/organised separately to taught content and will be published on to student personal timetables, where they apply to taken modules, as soon as they are finalised by central administration. This will usually be after the initial publication of the teaching timetable for the relevant semester.

Reading list
Upon accessing the reading list, please search for the module using the module code: MAT3015

Other information

The School of Mathematics and Physics is committed to developing graduates with strengths in Digital Capabilities, Employability, Global and Cultural Capabilities, Resourcefulness and Resilience and Sustainability. This module is designed to allow students to develop knowledge, skills, and capabilities in the following areas:

Digital Capabilities The Python computer lab sessions and assessed coursework are specifically designed to help students cultivate digital skills. Students gain proficiency in basic programming structures and methodology that can be used for general coding purposes.

Employability: Proficiency in numerical methods is essential in fields such as engineering, data science, finance, and computer programming. It enhances problem-solving, data analysis, and modelling capabilities, making the students valuable to employers seeking individuals who can deal effectively with real-world data and complex mathematical problems. Further, the practical Python programming skills have broad applications across almost every industry.

Global and Cultural Capabilities: Students enrolled in MAT3015 originate from various countries and possess a wide range of cultural backgrounds. During lab sessions, students are encouraged to work together. The resulting discussions naturally cultivates the sharing of different cultures.

Resourcefulness and Resilience: The lectures and computer laboratory sessions form the foundations of a learning journey in which students develop the skills of implementation of numerical methods via Python. The computer laboratory sessions are designed to foster active participation and reflective engagement with less scaffolding provided as the module advances, enabling students to develop confidence in programming and use of numerical methods. The assessed coursework gives students scope to demonstrate thinking and decision-making processes developed from MAT3015.

Sustainability: Simulations of complex systems, such as climate systems, enable students to investigate and understand the effects that small adjustments can have on such systems. The module equips students with the skills to model and analyse complex environmental systems, optimise resource allocation, and simulate the impacts of various sustainability strategies. This proficiency contributes to informed decision-making, enabling students to develop and implement sustainable solutions in areas such as energy efficiency, environmental conservation, and resource management.

Please note that the information detailed within this record is accurate at the time of publishing and may be subject to change. This record contains information for the most up to date version of the programme / module for the 2025/6 academic year.