Subject details

At the completion of this subject students will be able to:

  1. understand object-oriented programming features in C++
  2. apply these features to program design and implementation
  3. understand object-oriented concepts and how they are supported by C++
  4. gain some practical experience of C++
  5. understand implementation issues related to object-oriented techniques
  6. build good quality software using object-oriented techniques
  7. understand the role of patterns in object-oriented design.
  • Topics
    • Introduction to C++
    • Language fundamentals
    • Function parameters, arrays and pointers
    • Inheritance and containership
    • Polymorphism, virtual functions and casting
    • Operator overloading, conversion and strings
    • Templates
    • The standard template library (STL)
    • Streams and exceptions
    • Optimisation
    • Design and design patterns
    • Comparison of C++, C and Java
  • Study resources
    • Instructional Methods
      • Disscusion forum/Discussion Board
      • Online Quizzes/Tests
      • Online assignment submission
      • Standard Media
      • Web links
    • Online Materials
      • Quizzes
      • Printable format materials
      • Resources and Links
      • Online Assessment

Entry Requirements

You are recommended to have completed the following subjects(s) or have equivalent knowledge before starting this unit:

Special requirements

  • OtherDetails -

    Stable broadband connection required to access online learning materials and live chat sessions / recordings. (note: mobile broadband users may have difficulties participating in live chat sessions)

This subject introduces C++ as an object-oriented programming language, building on existing knowledge of C and Java. The subject covers the C++ language with a focus on its object-oriented features, and how these can be implemented as part of program designs and implementation. You will also study and gain practical experience with the implementation issues related to object-oriented techniques, be able to build good quality software using object-oriented techniques and understand the role of patterns in object-oriented design.

  • Assignment 1 - Assignment 1 (20%)
  • Assignment 2 - Assignment 2 (30%)
  • Assignment 3 - Invigilated Exam (50%)

Textbooks are subject to change within the academic year. Students are advised to purchase their books no earlier than one to two months before the start of a subject.


  • Programming -- Principles and Practice Using C++
  • Stroustrup, B
  • 9780321992789
  • Print
View textbooks

Related degrees