ADVANCED C++ FOR GAMES TECHNOLOGY

CSE2ACG

2015

Credit points: 15

Subject outline

The purpose of this unit is to teach advanced aspects of C++ programming. This unit is taught using Visual Studio and Qt, with the emphasis being on GUI applications. The unit starts with a review of basic C++ programming and then moves into the more advanced C++ topics of CPU cache optimization, advanced memory management, advanced performance optimization,multiple inheritance, RTTI, function pointers, object factories and object serialisation.

SchoolSchool Engineering&Mathematical Sciences

Credit points15

Subject Co-ordinatorZhen He

Available to Study Abroad StudentsYes

Subject year levelYear Level 2 - UG

Exchange StudentsYes

Subject particulars

Subject rules

Prerequisites CSE1CPP or CSE1SYS

Co-requisitesN/A

Incompatible subjects CSE2CGT

Equivalent subjectsN/A

Special conditionsN/A

Graduate capabilities & intended learning outcomes

01. Identify and write high quality C++ programs.

Activities:
Examples of high quality versus low quality code are spread across the lecture series. In the labs students will be guided via step by step instructions on how to write high quality C++ code.
Related graduate capabilities and elements:
Critical Thinking (Critical Thinking)
Discipline-specific GCs (Discipline-specific GCs)

02. Identify and recognize common traps and errors that exist in a given program.

Activities:
Examples of traps and errors and how to fix them are spread across the lecture series.
Related graduate capabilities and elements:
Discipline-specific GCs (Discipline-specific GCs)
Critical Thinking (Critical Thinking)

03. Use knowledge of the relationship between C++ features and general algorithms and data structures to write faster and more memory efficient code.

Activities:
There is one lecture on memory management in C++ which teaches how can code be written to be more memory efficient. There are two lectures on STL data structures which discusses the relationship between generic algorithms with data structures. In the assignment the students will be required to select their own data structures to use for writing their program. There are two labs which are focused on teaching the students how to write good memory management code.
Related graduate capabilities and elements:
Critical Thinking (Critical Thinking)
Creative Problem-solving (Creative Problem-solving)
Discipline-specific GCs (Discipline-specific GCs)
Inquiry/ Research (Inquiry/ Research)

04. Select the best C++ data structure and feature to solve a particular programming problem.

Activities:
There are two lectures which are focused on C++ data structures and what they are useful for.
Related graduate capabilities and elements:
Discipline-specific GCs (Discipline-specific GCs)
Inquiry/ Research (Inquiry/ Research)
Critical Thinking (Critical Thinking)
Creative Problem-solving (Creative Problem-solving)

Subject options

Select to view your study options…

Start date between: and    Key dates

Melbourne, 2015, Semester 1, Day

Overview

Online enrolmentYes

Maximum enrolment sizeN/A

Enrolment information

Subject Instance Co-ordinatorZhen He

Class requirements

Laboratory Class Week: 11 - 22
One 2.0 hours laboratory class per week on weekdays during the day from week 11 to week 22 and delivered via face-to-face.

Lecture Week: 10 - 22
One 2.0 hours lecture per week on weekdays during the day from week 10 to week 22 and delivered via face-to-face.

Assessments

Assessment elementComments% ILO*
Laboratory workHurdle requirement: In order to pass the subject, students must obtain an overall pass grade, pass the examination and pass the assignment component.10 01, 03, 04
One 3-hour examination60 01, 02, 03, 04
One programming assignment equivalent to 1000 words30 01, 03, 04