Fundamentals of Scientific Computing module (MA32005)

Understand how numerical computations work, and learn tools, techniques, and theories that enable computer-assisted solutions to complex problems.

On this page


Module code


Scientific computing is the cornerstone for problem-solving across science and engineering. It offers tools, techniques, and theories that enable computer-assisted solutions to complex problems.

This introductory module will allow you to develop core skills in scientific computing.

You will be able to understand how computations work in practice. You will also use MATLAB to develop algorithms for the numerical solution of important scientific problems. 

What you will learn

In this module, you will:

  • understand how to store and manipulate numbers in a computer
  • understand how errors in computations occur, and how they propagate
  • learn about numerical stability and its importance in computations
  • learn how to solve linear systems using direct and iterative linear algebra techniques
  • use MATLAB to develop scientific computing algorithms

By the end of this module, you will be able to:

  • demonstrate a strong understanding of number systems
  • understand the different sources of error in computations
  • estimate errors in computations and how they propagate
  • measure the numerical stability of a computation
  • use direct linear algebra for inverting matrices and solving linear systems
  • demonstrate how to improve the stability of a computation
  • solve linear systems with iterative linear algebra
  • develop new techniques for core linear algebra computations
  • develop practical skills and gain valuable experience in software development
  • develop efficient and stable algorithms using MATLAB

Assignments / assessment

  • coursework (40%)
    • includes MATLAB assessments
  • final exam (60%)

Teaching methods / timetable

You will learn by taking a hands-on approach. This will involve taking part in tutorials and labs. Tutorials involve presentations, discussions, and problem-solving activities.

Learning material is provided through review notes, examples, and tutorial questions, including software development presentations and demonstrations.


This module is available on following courses: