精东传媒app

UniSQ Logo
The current and official versions of the course specifications are available on the web at .
Please consult the web for updates that may occur during the year.

CSC2402 Object-Oriented Programming in C++

Semester 1, 2022 Toowoomba On-campus
Units : 1
Faculty or Section : Faculty of Health, Engineering and Sciences
School or Department : School of Mathematics, Physics & Computing
Grading basis : Graded
Course fee schedule : /current-students/administration/fees/fee-schedules

Staffing

Examiner: Thao Duong

Requisites

Pre-requisite: CSC1401 or Students must be enrolled in one of the following Programs: GDTI or GCSC or GCEN or METC or MCOT or MCTE or MCOP or MPIT or MCTN

Overview

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.

This course extends the student's basic procedural design and programming knowledge into the object-oriented paradigm. The student will be expected to learn and apply the basic concepts of object-oriented design and programming, i.e., abstraction, inheritance, and polymorphism, in the context of the C++ language. Key software engineering principles such as decomposition and component re-use will also be emphasised.

Course learning outcomes

On completion of this course students will be able to:

  1. identify and demonstrate an understanding of the hardware of a computer;
  2. comprehend what programming is and what a programming language does;
  3. know about the evolution of C++;
  4. identify and design suitable classes and class hierarchies and code class implementations in C++;
  5. design and develop C++ programs using classes and class libraries;
  6. apply the principles of information hiding using C++ facilities for private and protected class attributes;
  7. employ C++ facilities for dynamic storage;
  8. employ C++ input/output facilities including streams, sequential and random access files;
  9. employ C++ facilities such as operator overloading, inheritance, and references;
  10. develop programs using the C++ Standard Template Library (STL) at a basic level.

Topics

Description Weighting(%)
1. Anatomy of a computer, C++ Basics 5.00
2. Control flow 5.00
3. Function Basics 5.00
4. Parameters and Overloading 10.00
5. Arrays, Structures and Classes 10.00
6. Constructors, Operator Overlading, Friends and References 15.00
7. Strings, Pointer and Dynamic Arrays 10.00
8. Separate Compilation and Namespace 5.00
9. Streams and File IO 10.00
10. Inheritance, Polymorphism and Virtual Functions 15.00
11. Exception Handling 5.00
12. Standard Template Library 5.00

Text and materials required to be purchased or accessed

Malik, D.S 2018, C++ Programming: Program Design Including Data Structures, 8th edn, Cengage.
(ISBN 978-1-337-11756-2.)
(The student must have access to a standard C++ compiler. The only supported compilers are the Linux g++ compiler and its equivalent MinGW running under Windows. The MinGW software is available on the course web site).

Student workload expectations

To do well in this subject, students are expected to commit approximately 10 hours per week including class contact hours, independent study, and all assessment tasks. If you are undertaking additional activities, which may include placements and residential schools, the weekly workload hours may vary.

Assessment details

Approach Type Description Group
Assessment
Weighting (%) Course learning outcomes
Assignments Written Quiz No 10 1,2,3,4,5,6,7,8,9,10
Assignments Written Problem Solving 1 No 20 1,2,3
Assignments Written Problem Solving 2 No 20 1,2,3,4,5,6,7,8
Examinations Non-invigilated Time limited online examinatn No 50 1,2,3,4,5,6,7,8,9,10
Date printed 10 February 2023