books-library-folders

Area/Catalogue
COMP 3023

graduate-cap

Course Level
Undergraduate

globe-earth-geography

Offered Externally
Yes

Note: This offering may or may not be scheduled in every study period. Please refer to the timetable for further details.

diploma-certificate-graduate-degree

Course ID
105295

pie-chart-graph

Unit Value
4.5

compass

University-wide elective course
No

Course owner

Course owner
UniSA STEM

Course aim

To understand the theory and practice of using design patterns to facilitate the efficient creation of good software in C++.

Course content

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.

Textbook(s)

Roth, Stephan 2017, Clean C++: Sustainable Software Development Patterns and Best Practices with C++ 17, Apress, Berkely, CA.

Prerequisite(s)

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

Corequisite(s)

Nil

Teaching method

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
Online 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.


Assessment

Examination, Programming exercise, Technical documentation

Fees

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.

Course Coordinators

Checking your eligibility