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.
School: School Engineering&Mathematical Sciences
Credit points: 15
Subject Co-ordinator: Zhen He
Available to Study Abroad Students: Yes
Subject year level: Year Level 2 - UG
Exchange Students: Yes
Subject particulars
Subject rules
Prerequisites: CSE1CPP or CSE1SYS
Co-requisites: N/A
Incompatible subjects: CSE2CGT
Equivalent subjects: N/A
Special conditions: N/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)
Melbourne, 2015, Semester 1, Day
Overview
Online enrolment: Yes
Maximum enrolment size: N/A
Enrolment information:
Subject Instance Co-ordinator: Zhen He
Class requirements
Laboratory ClassWeek: 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.
LectureWeek: 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 element | Comments | % | ILO* |
|---|---|---|---|
| Laboratory work | Hurdle 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 examination | 60 | 01, 02, 03, 04 | |
| One programming assignment equivalent to 1000 words | 30 | 01, 03, 04 |