Fees and funding

Fees

Fees for entry in 2027 have not yet been set. For reference, the fees for the academic year beginning September 2026 were as follows:

  • MSc (full-time)
    UK students (per annum): £22,600
    International, including EU, students (per annum): £36,800

The fees quoted above are fully inclusive of tuition, administration and computational costs.

Fees for entry are subject to yearly review. The University reserves the right to increase your tuition fee by up to 7% each year for courses lasting more than one year, including to reflect rising costs associated with delivering our educational and wider student experience. Postgraduate fees information .

Always contact the admissions team if you are unsure which fee applies to your qualification award and method of attendance.

Policy on additional costs

All students should normally be able to complete their programme of study without incurring additional study costs over and above the tuition fee for that programme. Any unavoidable additional compulsory costs totalling more than 1% of the annual home undergraduate fee per annum, regardless of whether the programme in question is undergraduate or postgraduate taught, will be made clear to you at the point of application. Further information can be found in the University's Policy on additional costs incurred by students on undergraduate and postgraduate taught programmes (PDF document, 91KB).

Scholarships/sponsorships

We know that student finance can be complicated. The links below provide further information to help guide you.

Learn more about - student finance options for UK students.

Learn more about - fees and finance for international students.

Graduates of The University of Manchester and Manchester Metropolitan University can receive a 10% discount on their master's degree tuition fees as part of our Manchester Alumni Loyalty Discount scheme.

Course unit details:
Scientific Computing

Course unit fact file
Unit code MATH69111
Credit rating 15
Unit level FHEQ level 7 – master's degree or fourth year of an integrated master's degree
Teaching period(s) Semester 1
Available as a free choice unit? No

Overview

This course covers the techniques required to develop C++ programs that solve mathematical and scientific problems both as an individual and in groups.

As well as covering the rudiments of C++ (which will be taught with no assumed prior knowledge) the course will also outline the basic techniques used in scientific programming, such as discretisation of equations, numerical error, debugging and code validation, version control and how to make code publicly accessible.

The material is examined primarily through programming projects, chosen from a list of mathematical topics, which will cover specific algorithms or techniques in more depth. The projects will be assessed by a written presentation and confirmation that the resulting code passes a set of tests.

Much of this course is taught in practical computer labs, which limits the number of places available.
 

Pre/co-requisites

Students are not permitted to take, for credit, MATH49111 in an undergraduate programme and then MATH69111 in a postgraduate programme at the University of Manchester, as the courses are identical.

Aims

The unit aims to:
To develop the knowledge required to solve mathematical and scientific problems by writing computer programs in C++.
 

Learning outcomes

On successful completion of this module, students will be able to: 

  • Implement numerical algorithms by writing simple object-oriented C++ programs,
  • Create and evaluate different algorithms and C++ code architectures that could be used to solve a given mathematical or scientific problem,
  • Debug the code and validate its results in the context of the problem being solved
  • Explain and justify your numerical results by creating and combining written arguments, figures and numerical data.

 

 

Syllabus

Syllabus:

Introduction to C++ programming language:

- statements, expressions, control flow, functions, types

- standard C++ library: streams and file i/o, strings, containers, algorithms

- use of external libraries

 

Code structure and object-oriented programming:

- methods, member data, constructors, destructors, access specifiers

- inheritance, virtual methods and run-time polymorphism.

- operator overloading

 

Fundamental concepts and techniques:

- numerical error

- discretisation

- writing efficient code (algorithm complexity, optimisation, parallelism)

- communication and visualisation of numerical results

- common algorithms (covered in coursework, and in lectures as time permits) such as numerical linear algebra, root finding, quadrature, sorting, BVPs, PDEs

 

Debugging and validation:

- error handling

- testing and test-driven development

- debugging

- validation of numerical results

Teaching and learning methods

The main concepts will be delivered asynchronously through a set of bespoke videos and interactive online tests to give formative feedback on each student’s level of understanding. The concepts will be reviewed and implemented using appropriate software during the scheduled 2-hour lab sessions each week. These sessions will provide an opportunity for students' work to be discussed and also provide feedback on their understanding.  Coursework will also provide an opportunity for students to receive feedback.  Students can get feedback on their understanding directly from the lecturers.

Assessment methods

100% coursework/project, as follows:

1. selected example sheet questions, during lab sessions: 10%

2. smaller project, 2 weeks: 30%

3. main project, 4 weeks: 60%

Feedback methods

Feedback given on individual projects.

Recommended reading

•  S.B. Lippman, J. Lajoie, B. Moo. C++ Primer (Fourth edition). Addison Wesley, 2005. (Available as an e-book from the university library)

•  W.H. Press, S.A. Teukolsky, W.T. Vetterling, B.P. Flannery. Numerical Recipes: The Art of Scientific Computing (Third edition). Cambridge University Press, 2007.

•  B. Stroustrup. The C++ Programming Language (Third edition). Addison-Wesley, 1997

•  S. Meyers. Effective C++: 55 specific ways to improve your programs and designs (Third edition). Addison-Wesley, 2005.

•  D. Yang. C++ and object-oriented numeric computing for scientists and engineers. Springer, 2000
 

Study hours

Scheduled activity hours
Practical classes & workshops 22
Independent study hours
Independent study 128

Teaching staff

Staff member Role
Mark Muldoon Unit coordinator
Matthias Heil Unit coordinator

Return to course details

Regulated by the Office for Students

The University of Manchester is regulated by the Office for Students (OfS). The OfS aims to help students succeed in Higher Education by ensuring they receive excellent information and guidance, get high quality education that prepares them for the future and by protecting their interests. More information can be found at the OfS website.

You can find regulations and policies relating to student life at The University of Manchester, including our Degree Regulations and Complaints Procedure, on our regulations website.