Programming in C++ (H7126)

15 credits, Level 6

Spring teaching

This module further enhances your software capabilities. We introduce you to object-orientated theory and programming practice using C++ in the content of engineering.

You will study topics as theory before having the opportunity to put them into practice.

Topics included are:

  • advanced programming concepts such as inheritance, polymorphism, abstraction, encapsulation, and overloading
  • memory, pointers and memory safety
  • compilers and linker toolchain concepts, debuggers
  • STL templates
  • exceptions
  • best programming practices
  • software design, development cycles, testing and quality.

Real world engineering problems will be solved using useful constructs such as:

  • stacks and queues
  • recursion and iteration
  • sorting.


59%: Lecture
41%: Practical (Laboratory)


100%: Coursework (Software exercise)

Contact hours and workload

This module is approximately 150 hours of work. This breaks down into about 32 hours of contact time and about 118 hours of independent study. The University may make minor variations to the contact hours for operational reasons, including timetabling requirements.

We regularly review our modules to incorporate student feedback, staff expertise, as well as the latest research and teaching methodology. We’re planning to run these modules in the academic year 2023/24. However, there may be changes to these modules in response to feedback, staff availability, student demand or updates to our curriculum. We’ll make sure to let you know of any material changes to modules at the earliest opportunity.


This module is offered on the following courses: