Just For Fun: Using Programming Games in Software Programming Training and Education - A Field Study of IBM Robocode Community

Introduction Improving learning effectiveness has always been a constant challenge in software education and training. One of the primary tasks educators face is to motivate learners to perform to their best abilities. One method of motivating learners is the game-based exercise. In this research, we conducted a field study in a community of software participants in the IBM Robocode game. The characteristics of the Robocode game and the Robocode community were examined. Our research could shed some light on how computer-programming games--such as the Robocode game--could be used in software programming education to increase learning effectiveness. IBM Robocode teaches participants the Java programming language in a game format. It holds tournaments and contests among participants. In our field study, we addressed the following research questions: (1) How did the Robocode game influence the participant's learning outcomes? Did the participant's programming skills and knowledge improve after participating in the Robocode game? (2) Was the Robocode game enjoyable to participants with different ages, education backgrounds and skill levels? (3) What did the participants like most about the Robocode game? (4) What were the factors that influence the participant's motivation? (5) What activities of the game were more enjoyable? In the following section, we review the theories of using computer games in general education and in software programming education. In the third section, we discuss our field study and analyzed the research results. The final section presents our conclusions and directions for future research. Using Computer Games in General Education Computer games are seen as a means to encourage learners who may lack interest to learn (Klawe, 1994). Games have also been used in enhancing self-esteem for the learners who may lack confidence in learning (Dempsey, Rasmussen, & Lucassen, 1994; Ritchie & Dodge, 1992). When games are used in training and educational settings, it is suggested that they can reduce training time and instructor load, providing more opportunities for practice and enhancing knowledge acquisition (Brownfield & Vik, 1983; Ricci, 1994). Computer games also lead to positive results in long-term learner retention by improving learning interests and more focused attention, because the students enjoy the approach (Randel, Morris, Wetzel, & Whitehill, 1992; Ricci, 1994). Games have been used to encourage learning particularly in curriculum areas such as math, physics and language arts, where specific objectives can be stated (Randel et al., 1992). Games have also been used in training the vision of partially sighted children (Sik-Lanyi & Lanyi, 2003), and teaching labeled transition systems (Roussev, 2003). Computer games can also foster understanding of theoretical models and interaction effects and can support the development of team, social, communication and resource sharing skills (Berson, 1996; Helliar, Michaelson, Power, & Sinclair, 2000; Hollins, 2003; Ritchie & Dodge, 1992; Squire et al., 2003). Since building team skills and communication skills are important components in software programming education, incorporating computer games could be beneficial. Researchers have also studied why computer games could improve learning effectiveness. Computer games are typically fast and responsive. They could provide a rich variety of graphic representations to generate a wide range of options and scenarios not possible with non-computer games (Prensky, 2001). Moreover, computer games are flexible and complex enough to cater for different learning styles (Kirriemuir, 2002; Sedighian, 1994). They can deal with infinite amounts of contents and afford differing levels of challenges. The instant feedback and risk-free environment of computer games invite exploration and experimentation, stimulating curiosity, discovery learning and perseverance (Kirriemuir 2002). …

[1]  Ken Hartness Robocode: using games to teach artificial intelligence , 2004 .

[2]  James Paul Gee,et al.  What video games have to teach us about learning and literacy , 2007, CIE.

[3]  John V. Dempsey,et al.  Instructional Gaming: Implications for Instructional Technology. , 1994 .

[4]  C. Douglas Wetzel,et al.  The Effectiveness of Games for Educational Purposes: A Review of Recent Research , 1992 .

[5]  Michael J. Berson Effectiveness of Computer Technology in the Social Studies: A Review of the Literature , 1996 .

[6]  J. Paul Gibson,et al.  RoboCode & problem-based learning: a non-prescriptive approach to teaching programming , 2006, ITICSE '06.

[7]  Katrina E. Ricci The Use of Computer-Based Videogames in Knowledge Acquisition and Retention. , 1994 .

[8]  Viswanath Venkatesh,et al.  Creation of Favorable User Perceptions: Exploring the Role of Intrinsic Motivation , 1999, MIS Q..

[9]  S. M. Arnsten Intrinsic motivation. , 1990, The American journal of occupational therapy : official publication of the American Occupational Therapy Association.

[10]  Esmail Bonakdarian,et al.  Robocode throughout the curriculum , 2004 .

[11]  John Kirriemuir Ceangal The relevance of video games and gaming consoles to the Higher and Further Education learning experience , 2002 .

[12]  Joseph J. Martocchio,et al.  EFFECTS OF FEEDBACK AND COGNITIVE PLAYFULNESS ON PERFORMANCE IN MICROCOMPUTER SOFTWARE TRAINING , 2006 .

[13]  Caitlin Kelleher,et al.  Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers , 2005, CSUR.

[14]  Keith A. Willoughby,et al.  In-Class Simulation Games: Assessing Student Learning , 2003, J. Inf. Technol. Educ..

[15]  C. Sansone,et al.  Effects of instruction on intrinsic interest: the importance of context. , 1989, Journal of personality and social psychology.

[16]  Richard E. Pattis,et al.  Karel the Robot: A Gentle Introduction to the Art of Programming , 1994 .

[17]  Sharon Brownfield,et al.  Teaching Basic Skills With Computer Games. , 1983 .

[18]  Feng S. Din,et al.  The Effects of Playing Educational Video Games on Kindergarten Achievement , 2001 .

[19]  Christopher A. Egert,et al.  Motivating OOP by blowing things up: an exercise in cooperation and competition in an introductory java programming course , 2006, SIGCSE '06.

[20]  David Power,et al.  Using a portfolio management game (Finesse) to teach finance , 2000 .

[21]  Donn Ritchie,et al.  Integrating Technology Usage across the Curriculum through Educational Adventure Games. , 1992 .

[22]  Joseph Betz Computer Games: Increase Learning in an Interactive Multidisciplinary Environment , 1995 .

[23]  Borislav Roussev Teaching Introduction to Programming as Part of the IS Component of the Business Curriculum , 2003, J. Inf. Technol. Educ..

[24]  Kurt Squire,et al.  Design Principles of Next-Generation Digital Gaming for Education. , 2003 .

[25]  Cecilia Sik-Lányi,et al.  Multimedia Program for Training of Vision of Children with Visual Impairment and Amblyopia , 2003, J. Inf. Technol. Educ..