Programming 3: Object Oriented
Program Overview
Course Description
Object-oriented software development has become a standard methodology throughout the software engineering discipline. Therefore, a solid grasp of object-oriented programming is essential for any information technology specialist. While there are a variety of object-oriented programming languages available, C++ is one of the most widely used and is therefore the focus of this course.
Topics
The course covers the following topics:
- Compiled languages; imperative programming versus object orientation (10%)
- Objects and classes; Prototype-based vs class-based languages; Polymorphism, Inheritance, Encapsulation; message passing, abstraction, overloading, overriding, deep and shallow copies (40%)
- Exception handling; debugging (20%)
- Memory management (10%)
- Threads, processes, synchronisation (10%)
- Basics of File I/O, basics of socket programming (10%)
Availability
The course is available in the following modes:
- Online - Trimester 1
- On Campus - Trimester 1 (Toowoomba)
Course Contacts
Course Coordinator
Aqeel Sahi
Enrolment Rules
Course Pre-requisites
- CSC1401: Foundation Programming (1 Unit)
Learning Outcomes
Upon completion of this course, graduates will be able to:
- Compare and contrast interpreted vs compiled languages; and prototype-based vs class-based languages
- Competently apply the concepts of polymorphism, inheritance, encapsulation, exception handling, memory management, threads, and file I/O
- Design, code, verify, test, document, amend and refactor moderately complex programs meeting requirements by applying object-oriented principles
- Contribute to reviews of own work with others through the use of collaborative tools
Learning Resources
Other
- Malik, D. S. (2017). C++ Programming (8th ed.). Cengage. Available at Toowoomba Library
Program Level
The course is offered at the Undergraduate level.
Course Level
The course is classified as a 2000 Bachelor Degree; Intermediate Course and Assessment Level.
Student Contribution Band
The course falls under Band 2.
Fees
Please refer to the Current Course Offer Guide for fee information.
Course Specifications
Please note that course specifications may vary. Refer to the relevant handbook for the most up-to-date information.
