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:
- identify and demonstrate an understanding of the hardware of a computer;
- comprehend what programming is and what a programming language does;
- know about the evolution of C++;
- identify and design suitable classes and class hierarchies and code class implementations in C++;
- design and develop C++ programs using classes and class libraries;
- apply the principles of information hiding using C++ facilities for private and protected class attributes;
- employ C++ facilities for dynamic storage;
- employ C++ input/output facilities including streams, sequential and random access files;
- employ C++ facilities such as operator overloading, inheritance, and references;
- 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
(ISBN 978-1-337-11756-2.)
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
Description | Group Assessment |
Weighting (%) | Course learning outcomes |
---|---|---|---|
Quiz | No | 10 | 1,2,3,4,5,6,7,8,9,10 |
Problem Solving 1 | No | 20 | 1,2,3 |
Problem Solving 2 | No | 20 | 1,2,3,4,5,6,7,8 |
Time limited online examinatn | No | 50 | 1,2,3,4,5,6,7,8,9,10 |