Design Patterns with C++
Course Level Undergraduate
Course Level Undergraduate
Area/Catalogue
COMP 3023
Course Level
Undergraduate
Offered Externally
Yes
Note: This offering may or may not be scheduled in every study period. Please refer to the timetable for further details.
Course ID
105295
Unit Value
4.5
University-wide elective course
No
The 2025 timetable is
not yet available.
Course owner
UniSA STEM
To 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.
Roth, Stephan 2017, Clean C++: Sustainable Software Development Patterns and Best Practices with C++ 17, Apress, Berkely, CA.
Subject Area & Catalogue Number | Course Name |
---|---|
Group 1
Students must have completed one of the following courses: |
|
COMP 2012 | Data Structures Essentials |
COMP 1040 | Programming Fundamentals |
COMP 1044 | UO Programming Fundamentals |
COMP 2033 | UO Applied Data Structures |
Nil
Component | Duration | ||
---|---|---|---|
INTERNAL, MAWSON LAKES | |||
Lecture | 1 x 2 hours x weeks 1-5 | ||
Computer Practical | 1 hour x 12 weeks | ||
Workshop | 2 hours x 6 weeks | ||
Lecture | 1 x 1 hour x weeks 6-13 | ||
EXTERNAL, MAWSON LAKES, ONLINE | |||
External | N/A x 13 weeks |
Note: These components may or may not be scheduled in every study period. Please refer to the timetable for further details.
Examination, Programming exercise, Technical documentation
EFTSL*: 0.125
Commonwealth Supported program (Band 2)
To determine the fee for this course as part of a Commonwealth Supported program, go to:
How to determine your Commonwealth Supported course fee. (Opens new window)
Fee-paying program for domestic and international students
International students and students undertaking this course as part of a postgraduate fee paying program must refer to the relevant program home page to determine the cost for undertaking this course.
Non-award enrolment
Non-award tuition fees are set by the university. To determine the cost of this course, go to:
How to determine the relevant non award tuition fee. (Opens new window)
Not all courses are available on all of the above bases, and students must check to ensure that they are permitted to enrol in a particular course.
* Equivalent Full Time Study Load. Please note: all EFTSL values are published and calculated at ten decimal places. Values are displayed to three decimal places for ease of interpretation.