Programming for Games 2
This module continues to teach C++ programming, introducing some 2D games techniques
Synopsis of Module
This module will extend the programming capabilities of the students. The use of abstract data types will be introduced, as will the use of dynamic memory allocation. Students will be taught to design, test and debug their software in a more systematic manner.
This module will also allow students to create simple games, as they will be using a software library to draw images to the screen and move them around using a game loop.
Aims of Module
- To provide students with the principles, knowledge and skills to use predefined abstract data types and dynamic memory allocation in programs.
- To provide students with basic understanding of a suitable OO modelling notation that will allow them to draw the intended structure of an OO program.
- To provide students with knowledge and skills necessary to enable them to design and test computer programs in a high level language
- To provide students with the knowledge and understanding required to move and animate images on a computer screen, using a suitable library.
Learning Outcomes
On completion of this module students will be able to:
- Understand and make use of the principles of dynamic memory allocation.
- Make use of predefined abstract data types in the development of programs.
- Create a set of test cases using appropriate black and white box analysis.
- Use a design notation to design and draw the structure of an OO program.
- Use standard libraries to read and write data to/from a suitably formatted data file.
- Use a library to draw moving, animated images to the screen and control them during a game loop.
Outline Syllabus
- 10% Algorithms for using data files for storage - such as the use of character-delimited data files.
- 10% The use of predefined abstract data types in programs.
- 20% The software definition of simple abstract data types. (The creation of simple structs and classes, but without complex features, such as inheritance and dynamic binding.)
- 10% Dynamic memory allocation and its application in simple programming situations.
- 10% Debugging strategies and defensive programming.
- 10% OO notation - class diagrams & collaboration diagrams
- 10% Testing strategies - black and white box testing.
- 20% Algorithms for moving and animating images within a game loop.