In 2018, we published a review of 49 serious games for learning how to program:
- Michael A. Miljanovic, Jeremy S. Bradbury. “A Review of Serious Games for Programming,” Proc. of the 4th Joint Conference on Serious Games (JCSG 2018), pages 204-216, Darmstadt, Germany, Nov. 7-8, 2018.
For each game we assessed the programming content of the game using the ACM/IEEE-CS Joint Task Force on Computing Curricula: Computer Science Curricula 2013. We also assessed how each game was evaluated both in terms of the research methods used (e.g., surveys, formal interviews, skill tests, etc.) and the research questions asked:
- Did the users have positive feelings about the game?
- Was the game accessible?
- Were the users engaged while playing the game?
- Was there a learning effect from playing the game?
Assessment of serious programming game content
Assessment of Serious Programming Game Evaluations
More Information – Serious games for computer programming
Not all of the games are publicly available however we have compiled a list of serious programming games that are either available to play or have source code available. If you know of other games we should add to the list please leave a comment on this post or email email@example.com or firstname.lastname@example.org.
- BOTS [play]
- Gidget [play] [source]
- GidgetML – a modifed version of Gidget that uses machine learning to adapt gameplay to the learner [play] [source]
- Lightbot 2.0 [play]
- Code Combat [play]
- Code Hunt – a puzzle solving and debugging game from Microsoft. [about] [play]
- Human Resource Machine [play]
- Leek Wars [play]
- Minecraft Hour of Code [about]
- RoboCode – a competitive programming game. [about] [source]
- RobotON! – a program comprehension game. [play] [source]
- RoboBug – a program debugging game. [play] [source]
- Threaded Paws – a game about identifying the fixing concurrency programming pitfalls. [play] [source]
- Prog&Play [about]
- CodinGame – an advanced programming game [play]
Game sites and repositories
- Hour of Code / Code.org (general programming)