Programming in C++ (H7126)

15 credits, Level 6

Spring teaching

This module will further enhance students software capabilities by introducing object orientated theory and programming practice using C++ in an Engineering context. Topics will be theoretically introduced and studied in lectures and then put into practice in a computer laboratory project.

The topics included are:

  • Advance 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

Teaching and assessment

We’re currently reviewing teaching and assessment of our modules in light of the COVID-19 situation. We’ll publish the latest information as soon as possible.

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.

This module is running in the academic year 2021/22. We also plan to offer it in future academic years. However, there may be changes to this module in response to COVID-19, or due to staff availability, student demand or updates to our curriculum. We’ll make sure to let our applicants know of material changes to modules at the earliest opportunity.

It may not be possible to take some module combinations due to timetabling constraints. The structure of some courses means that the modules you choose first may determine whether later modules are core or optional.


This module is offered on the following courses: