There is a high demand for program developers, but the dropouts from computer science courses are also high and course enrolments keep decreasing. In order to overcome that situation, several studies have found serious games as good tools for education in programming learning. As an outcome from such research, several game solutions for programming learning have appeared, each of them using a different approach. Some of these games are only used in the research field where others are published in commercial stores. The problem with commercial games is that they do not offer a clear map of the different programming concepts. This dissertation addresses this problem and analyses which fundamental programming concepts that are represented in commercial games for programming learning. The study also identifies game design patterns used to represent these concepts.
The result of this study shows topics that are represented more commonly in commercial games and what game design patterns are used for that. This thesis identifies a set of game design patterns in the 20 commercial games that were analysed. A description as well as some examples of the games where it is found is included for each of these patterns.
As a conclusion, this research shows that from the list of the determined fundamental programming topics only a few of them are greatly represented in commercial games where the others have nearly no representation. This shows potential spots for future research in games for programming teaching.