Design Patterns with C++

Undergraduate | 2026

Course page banner
area/catalogue icon
Area/Catalogue
COMP 1039
Course ID icon
Course ID
205768
Level of study
Level of study
Undergraduate
Unit value icon
Unit value
6
Course level icon
Course level
1
Study abroad and student exchange icon
Inbound study abroad and exchange
Inbound study abroad and exchange
The fee you pay will depend on the number and type of courses you study.
No
University-wide elective icon
University-wide elective course
No
Single course enrollment
Single course enrolment
No
alt
Note:
Course data is interim and subject to change

Course overview

In successfully completing this course, students will understand the theory and practice of using design patterns to facilitate the efficient creation of good software in C++. Design patterns; Gang of Four patterns including structural, behavioural and creational; discuss the importance and use of design patterns to reduce the complexity of software engineering projects; introduction to C++; structure of C++ program; C style strings; object oriented programming in C++ (classes and objects; inheritance and polymorphism, templates); nested classes and friend classes; exception handling; Stream I/O); operator overloading; big three methods (destructor, copy constructor and copy assignment operator); pointers and pointer-based strings; dynamic memory allocation and management; introduction to standard template library; and coding standards and guidelines.

Course learning outcomes

  • Describe design patterns and their use in software development
  • Select the appropriate design pattern and implement a software solution
  • Design, implement, test and debug maintainable object oriented computer programs in C++
  • Use pointers and dynamic memory allocation and management

Prerequisite(s)

N/A

Corequisite(s)

N/A

Antirequisite(s)

N/A