RMIT University logo

Advanced Programming Techniques

Undergraduate | RMI-CPT225 | 2024

Previously RMI-CPT224

Study method
100% online
100% online
Enrol by
19 May 2024
Entry requirements
Part of a degree
13 weeks
Start dates
27 May 2024

Price from


Upfront cost


HECS-HELP and FEE-HELP available

Advanced Programming Techniques

About this subject

  • Upon successful completion of this subject, students should be able to:

    1. Analyse and Solve computing problems; Design and Develop suitable algorithmic solutions using software concepts and skills both (a) introduced in this course, and (b) taught in pre-requisite courses; Implement and Code the algorithmic solutions in the C++ programming language.
    2. Discuss and Analyse software design and development strategies; Make and Justify choices in software design and development; Explore underpinning concepts as related to both theoretical and practical applications of software design and development using advanced programming techniques.
    3. Discuss, Analyse, and Use appropriate strategies to develop error-free software including static code analysis, modern debugging skills and practices, and C++ debugging tools.
    4. Implement small to medium software programs of varying complexity; Demonstrate and Adhere to good programming style, and modern standards and practices; Appropriately Use typical features of the C++ language include basic language constructs, abstract data types, encapsulation and polymorphism, dynamic memory management, dynamic data structures, file management, and managing large projects containing multiple source files; Adhere to the C++11/C++14/C++17 ISO language definition and features.
    5. Develop skills for further self-directed learning in the general context of software engineering and computer science, including decision-making about guided design of software; Adapt programming experience and language knowledge to and from other programming language contexts.
    6. Demonstrate and Adhere to the standards and practice of Professionalism and Ethics, such as described in the ACS Core Body of Knowledge (CBOK) for ICT Professionals.

Entry requirements

To enrol in this subject, you must be admitted into a degree.

Prior study

You must have successfully completed the following subject(s) before starting this subject:

Equivalent subjects

You won't be able to enrol into this subject if you've already successfully completed or currently enrolled in the following subject(s) as they are considered anti-requisites due to the similarity of the content.

  • RMI-CPT323 (Not currently available)

  • RMI-CPT220 (Not currently available)


All students will be expected to have solid practical experience in and theoretical grasp of underlying programming concepts such as compiling / running programs, I/O, program structure, control structures, procedural and object-oriented programming, programming design including interpreting program requirements and is expected of all students entering into this course.
For students who have had a significant break between prior programming studies and undertaking this option course it is strongly recommended that you undertake thorough revision of the learning materials covered in your prior studies, including getting some practice in with programming, prior to commencing this course.
A basic understanding of UNIX operating system use and commands may also be required and tutorials on working in a UNIX operating system will be provided in the course learning materials.

Additional requirements

  • Software requirements - Access to a program such as putty or macOS terminal to enable connection to remote UNIX Server. Other software such as compilation / runtime / library packages, code editors or an Integrated Development Environments (IDE) may also be required (check learning materials for more information).
  • Other requirements - Stable internet (NBN) connection capable of streaming (and optionally downloading) podcasts / videos, as well as participating in live web conferencing sessions via Collaborate Ultra or similar. Mobile broadband connections are not recommended especially for live web conferencing sessions. Direct access to reasonably current PC or laptop is also required. It is not recommended to rely on shared facilities such as library PC's or laptops, as limited access to such shared facilities may not be sufficient to complete coursework and it may not be possible to install necessary software packages on such machines.

Study load

0.125 EFTSL
This is in the range of 10 to 12 hours of study each week.

Equivalent full time study load (EFTSL) is one way to calculate your study load. One (1.0) EFTSL is equivalent to a full-time study load for one year.

Find out more information on Commonwealth Loans to understand what this means to your eligibility for financial support.

Tell us a little about yourself

Keep track of your favourites

Create a free account or sign in to:

Create an account