Master of Physics (MPhys)

MPhys Physics

Join a physics Department of international renown that offers great choice and flexibility, leading to master's qualification.

  • Duration: 4 years
  • Year of entry: 2025
  • UCAS course code: F305 / Institution code: M20
  • Key features:
  • Scholarships available
  • Accredited course

Full entry requirementsHow to apply

Fees and funding

Fees

Tuition fees for home students commencing their studies in September 2025 will be £9,535 per annum (subject to Parliamentary approval). Tuition fees for international students will be £36,500 per annum. For general information please see the undergraduate finance pages.

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

The University of Manchester is committed to attracting and supporting the very best students. We have a focus on nurturing talent and ability and we want to make sure that you have the opportunity to study here, regardless of your financial circumstances.

For information about scholarships and bursaries please visit our undergraduate student finance pages and our Department funding pages .

Course unit details:
Object-Oriented Programming in C++

Course unit fact file
Unit code PHYS30762
Credit rating 10
Unit level Level 3
Teaching period(s) Semester 2
Available as a free choice unit? No

Overview

Object-Oriented Programming in C++

Pre/co-requisites

Unit title Unit code Requirement type Description
Introduction to Programming for Physicists PHYS20161 Pre-Requisite Recommended

A working knowledge of programming at the level of PHYS20161 and an interest in programming.

Aims

  1. To learn the fundamentals of Object Oriented Analysis and Design.
  2. To become fluent in the C++ programming language.
  3. To develop good programming style.
  4. To be able to apply coding quickly and efficiently to realistic applications.

Learning outcomes

This course unit detail provides the framework for delivery in 21/22 and may be subject to change due to any additional Covid-19 impact.  Please see Blackboard / course unit related emails for any further updates
On completion successful students will be able to:-
1. Write C++ code that is compact and intelligible
2. Design and write programs in C++ using a wide range of ANSI standard features
3. Locate data structures and algorithms in the standard library to simplify coding
4. Select and use appropriate object-orientation techniques to solve new problems

Syllabus

1. The basic properties of C++: constants; boolean data-types; pointers and references; dynamic memory allocation; function overloading.

2. Data streams: standard input/output; managing files.

3. Classes and objects: encapsulation; access functions; constructors and destructors; arrays of objects; friends; operator overloading; assignment operator; shallow and deep copying; this pointer. Move semantics.

4. Inheritance: base and derived classes; access specifiers; overriding functions; multiple inheritance.

5. Polymorphism: base class pointers; abstract base classes; virtual and pure virtual functions; interface classes.

6. Structuring programs: header files; multiple source files; namespaces.

7. Advanced C++ features: static data; templates; runtime type checking; error handling and exceptions. 

Lambda closures.

8.The C++ Standard Library; the boost library; other libraries.

Assessment methods

6 short coding assignments, marked on code quality; One larger coding project with a short report.

Standard late penalties apply for all assessments 

Feedback methods

Written feedback will be offered for the short assignments, and demonstrators will be available to give additional oral feedback on the short assignments. Written feedback will be provided with final project marks.

Recommended reading

A. Koenig and B. E. Moo. Accelerated C++ (Addison Wesley, 2000)
Or any of the many C++ textbooks listed in the library reading list

Study hours

Scheduled activity hours
Lectures 10
Practical classes & workshops 10
Independent study hours
Independent study 80

Teaching staff

Staff member Role
Caterina Doglioni Unit coordinator
Charanjit Kaur Unit coordinator

Return to course details