Skip to Content

Courses

Print or email this page: Print this page Email a Friend

 

Object-Oriented Programming in C++

Unit Code:HIT3172



Credit Points

Duration

Contact Hours

Campus

Prerequisite

Corequisite

12.5 Credit Points

1 Semester or equivalent

48

Hawthorn, Sarawak

HIT3181 Technical Software Development or HIT2302 Object-Oriented Programming or HIT3303 Data Structures and Patterns or HIT1051 Software Development 1

Nil

Related Course/s:

A unit of study in the  Bachelor of Engineering (Robotics and Mechatronics)/ Bachelor of Science (Computer Science and Software Engineering),  Bachelor of Engineering (Telecommunication and Network Engineering)/ Bachelor of Science (Computer Science and Software Engineering),  Bachelor of Science (Professional Software Development)

Aims & Objectives:

Learning Outcomes
Students who successfully complete this unit of study will be able to:
  • use C++ features that replace C constructs to make C++ a safer and more flexible programming language
  • correctly use the features offered by C++ for Object-Oriented Programming
  • write class components that protect data integrity and produce classes that are re-usable and maintainable
  • design class responsibilities and relationships with the aim of maximising class cohesion and minimising class dependencies
  • use the generic programming features of C++ including the STL
  • design and implement reliable and maintainable object-oriented applications of moderate complexity composed of several classes.

Teaching Methods:

Lecture (24 hrs), Tutorials (labs) (24 hrs)

Assessment:

Examination, Assignment, Tests

Content:

Correct use of C++ features for robust applications:
  • Exceptions
  • Reference parameters
  • C++ strings vs. char pointers
  • Containers, iterators and standard algorithms
  • Defensive memory management
  • Essential C++ idioms 
Correct use of object-oriented features for maintainable applications:
  • Class design, encapsulation, responsibilities, class relationships
  • Inheritance, polymorphism, abstract classes, delegation, inheritance vs. containment
  • OO application design. Coding to an interface
Generic programming in C++ :
  • function and class templates
  • basic STL collections, iterators, algorithms

References:

Josuttis, NM, Object-oriented Programming in C++. Wiley, 2002.
Lippman, SB, Jajoie, J, Moo, C++ Primer, 4th edn, Addison Wesley, 2005.