Rationale

Games programming can be justified on three grounds, transferable cognitive skills, metacogitive skills and affective benefits:
 * The idea behind transferable cognitive skills is that students are learning skills in areas such as mathematics and literacy while programming games and that these skills will transfer to the more traditional areas with measurable outcomes.
 * Metacognitive skills are the self management skills we employ when we are learning.
 * Affective benefits refers to our attitudes to school, teachers and classrooms. If students enjoy going to school, they will learn better.

What cognitive skills are likely to transfer?
 * Cartesian coordinates
 * negative number
 * position, speed, acceleration
 * algebraic variables
 * relative & absolute value
 * estimation
 * chance
 * a programming language similar to Visual Basic
 * metacognitive skills
 * structured thinking
 * logical thinking inc. Boolean operations
 * planning and top-down design
 * team planning and development
 * ability to represent operations as systems of sequence/selection/iteration.
 * re-usability of code and parameterisation
 * representational structures and metalanguages
 * program proving
 * simple physics of gravity, collisions, kinematics
 * outcome matrices
 * file handling
 * efficient data structures and code and possibly network issues, security, database design, graphics, etc
 * New unidentified skills for a digital age?