Subject Descriptions - Subject Information

Calendar: 2017 Postgraduate
Faculty: Faculty of Engineering and Information Sciences
Department: School of Computing and Information Technology

Subject Information
Subject Code CSCI851
Subject Name Advanced Programming
Credit Points 6
Pre-Requisites None.
Co-Requisites None.
Restrictions None.
Equivalence None.
Assessment Practicals 40% Final exam 60%
General Subject Yes.

Subject Description
The subject develops a thorough understanding of programming features, which are implemented in the C++ programming language. It comprises of four main components, namely procedural-based, object-based, object-oriented and generic programming. The subject addresses topics including memory management issues and dynamic memory allocation; classes; STL sequential and associative containers; operator overloading; advanced features in object-oriented programming; C++ RTTI; templates and exception handling; the latest C++ features (e.g. C++11 and C++14 standards).

Subject Learning Outcomes
On successful completion of this subject, students will be able to:
1. Design and implement solutions to problems with the C++ programming language.
2. Design and implement procedural-based programming to solve problems.
3. Design and implement objects providing encapsulation, inheritance and polymorphism.
4. Design solutions to problems through the use of generic programming.
5. Design object-oriented solutions to problems.
6. Incorporate advanced features in C++ to achieve efficient implementations.