In the last year, I reviewed a large number of articles involving using video games in CS. I find the focus of these articles can be divided into two areas: playing games and making games, but the majority of projects focus on making games, especially in the introductory programming courses. For example, Figure 1 shows a scenario in MindRover. Each scenario is a challenge, such as “push the opponent off the wrestling mat”. The job of players is to program robotic vehicles to solve it. These vehicles can be equipped with different components from rocket launchers to radars and speakers, and programmed to do anything from following a track to seeking and destroying other vehicles. It is noted in Figure 1 that there is a text editor behind the graphical interface. The programming language used in this game is called ICE. Every time players add a component, set or modify its properties, new lines of ICE code are generated. Although in this release of MindRover the ICE code is regenerated and recompiled when players hit the GO button (which means they don’t need to write and modify the ICE code manually), the aim is to help players connect abstract programming languages with concrete game elements that they are familiar with and passionate about. Here is another programming game called Robocode (http://robocode.sourceforge.net/). This open source educational game is designed to help players learn to program in Java, or .NET (C#, VB.NET, etc.). Similar to MindRover, players have to develop a robot battle tank to battle against other tanks, but what makes it special is that the players have to write the code by themselves. A simple robot can be written in just a few minutes, but a more sophisticated one can take months more in order to complete higher levels of challenge. In this case, making a game can fix the disconnection between students’ perception of computer programming and the reality behind what it takes to build programming skill. It services as a motivation to know.
Figure 1 Screenshot of MindRover (Downloaded from http://www.gamershell.com/pc/mindrover/screenshots.html?id=60853)
The added benefits of using games in CS education are quite similar to those we have talked a lot, like increasing motivation and knowledge acquisition, developing 21st skills, developing computational thinking, etc. The most distinctive benefit is actively engaging students in learning process, especially in learning programming. This is mainly an attempt to increase the enrollment in CS courses. However, there is no agreement with the relationship between the interest in playing/making video games and the commitment of pursuing a CS degree. Being interested in playing video games doesn’t necessary mean higher commitment to improving programming skills and pursuing a CS degree.
Teaching CS concepts through making games is the strategy used most to integrate games into CS education. The majority of related researches focus on teaching programming by completing game-oriented programming assignments. These assignments use game programming as a vehicle to deliver CS topics. Other implication strategies include using games as environment or examples to motivate students and teach CS topics. However, the establishment of concrete guidelines or principles for how to implement these strategies in CS context, and in which context each strategy can work best, hasn’t get enough attention.
Current literature presents a positive picture of the learning effectiveness of using video games in CS, but I also find empirical evidence of supporting this conclusion is rather limited, fragmentary, and even contradictory. So, researches concerning using video games in CS are full of uncertainty and disagreement, which is not surprising based on the fact that there are too many different variables at play in education context to make valid inferences about which factors are responsible for the differences.
Above is current research about the use of video games in CS education-a field with uncertainty and disagreement. Here is a TED talk, called “Science is for everyone, kids included”: http://www.ted.com/talks/beau_lotto_amy_o_toole_science_is_for_everyone_kids_included.html. I love this quote in the talk:” The best questions are the ones that create the most uncertainty”. In this field, I’ve always hear conflicted voice about the educational use of video games. However, for so many years’ experiences of being a student, I’ve seen how happy and active I am when I collaborate with other students and learn by doing, and I’ve learnt that my learning effectiveness is the best when I learn by engaging in something and from my errors. I’ve experienced how I immerge in the role I take, and how it changes the way in which I approach to others and my communicative language. This experience renders my thoughts about how different types of role-player games attract to players. However, I’ve also experienced that too much of the official learning in school situation is boring and disconnected from real practice. Therefore, the research around the educational use of video games in a special domain such as CS is absolutely worthwhile of striving for even though it’s a very demanding task.
I am a second-year PhD in the program of Educational Technology and Learning Design at Simon Fraser University (SFU). I am interested in how games change lives and affect human learning. I spend a lot of my time figuring out what kinds of learning are involved in game playing and how we know whether players get them, what the unique added value and potential of video games for learning and assessment in the digital environment is, and how instructional designers integrate video games into their design.