Numerous studies have shown that Game-Based Learning positively impacts educational effectiveness and student motivation. However, according to Amabile’s Componential Model of Creativity, motivation is only one aspect of creativity, next to expertise and creative skills. Therefore, we looked beyond motivational aspects in order to amplify all dimensions of creativity. In a ‘Software Design in C++’ course at our local faculty of Engineering Technology, students learn to apply high-level object-oriented software development techniques on low-level embedded hardware. By introducing the Game Boy Advance (GBA), a 32-bit handheld released by Nintendo in 2001, students not only need the domain-specific technical expertise and motivation to succeed, but also the right creative skills to cope with the limitations of this embedded system that has only 96kb of VRAM. We focused the labs on stimulating these creative problem-solving techniques. Results are promising: students were highly motivated and creative output was distinctly increased; but technical expertise was still lacking during examination. Further work involves investigating the impact of peer-assessment on all aspects of creativity.
Groeneveld, W., Aerts, K. (2020). Sparking Creativity with the Game Boy Advance. In: Proceeding of the 51th ACM technical symposium on computer science education. Presented at the SIGCSE ‘20, Portland, OR, USA, 11 Mar 2020-14 Mar 2020.
Project results 2018 - 2019
Utilizing the custom-built gba-sprite-engine library residing at Github. See the README there for more information. The engine itself uses the Tonc C calls behind the scenes.
24 recorded participants.
 Have you ever played a Game Boy (Advance) game before?
Blue: yes, red: no.
 How motivated were you during project work?
Five-point Likert scale. 1: not at all. 5: extremely.
 Did the fact that you are developing on the GBA influence your motivation?
Blue: yes, positive; more motivated than classical assignment. Orange: it did not matter for me. Red: negative; less motivated than classical assignment.
Project results 2019 - 2020
‘Software Design in C++’ Course Details
The following lecture slides and lab notes were used throughout the semester to get students acquainted with the C++ programming language, high-level object-oriented design, and the Game Boy Advance hardware. Students had no knowledge of C or C++ before. They had some knowledge of programming in Java before.
This is the English index page, roughly based on the Dutch index, where students can find more information regarding the course itself. All links below contain content in Dutch.
- Introduction in C/C++: context, ecosystem
- Pointers in C, dynamic memory in C++
- Introduction in Object-Oriented thinking in C++
- Templates, operators, STL, summary, exam info
- Introduction in C
- Pointers in C and C++
- GBA Programming in C: an introduction
- GBA Programming in C: tile-sets, a simple game
- Introduction in C++
- C++ Class Inheritance, operators and templates
- Software design: thinking and testing before coding
- GBA Programming in C++: an abstraction layer
- GBA Programming in C++: scrolling backgrounds
- GUI design with C++ in Qt: an introduction
- GUI design with C++ in Qt: porting a GBA game to Qt