Playing serious games

in introductory
programming courses
ADILSON VAHLDICK
PhD in Information Science and Technology
Synthesis work for Technologies and Learning course

Playing serious games in introductory programming courses

Summary

Motivation

Programming Competences and Skills

Research Method

Results

Discussion

Conclusion

Playing serious games in introductory programming courses Summary  Motivation  Programming Competences and Skills  Research Method  Results  Discussion  Conclusion .

Playing serious games in introductory programming courses Motivation  (1 of 4) Global demand X Enrollment X Retention in Computer Courses .

Playing serious games in introductory programming courses Motivation (2 of 4)  Learning programming needs a lot of practice  Students must be motivated to practice .

Playing serious games in introductory programming courses Motivation  (3 of 4) Motivate students by using games Producing games Playing games .

Playing serious games in introductory programming courses Motivation  (4 of 4) 35 games for playing to improve programming competences Relation between the games and the competences .

Playing serious games in introductory programming courses Summary  Motivation  Programming Competences and Skills  Research Method  Results  Discussion  Conclusion .

Playing serious games in introductory programming courses Competences and Skills Competences Skills Reading and Comprehension Testing and maintenance Writing Notional machine Testing Abstraction Programming language (Syntax and semantic) Debugging (Find and solve bugs) Generalization Models and representations Documentation Decomposition Problem-solving .

Playing serious games in introductory programming courses Summary  Motivation  Programming Competences and Skills  Research Method  Results  Discussion  Conclusion .

Science Direct e IEEE Xplore  Brazilian Computer Society Congress.Playing serious games in introductory programming courses Research Method   Research Questions  1) How many and which are the games available to assist the introductory programming learning published in literature or on the web after 2000?  2) Which are the abilities and subjects covered by these games?  3) What lacks are there about games to support introductory programming learning? Data Source  ACM Digital Library. Brazilian Informatics in Education Conference. and Brazilian Digital Entertainment and Games Symposium   game OR introductory programming OR computer programming OR novice programming Sites: Apple Store. Google Play and Gamasutra .

Playing serious games in introductory programming courses Summary  Motivation  Programming Competences and Skills  Research Method  Results  Discussion  Conclusion .

Playing serious games in introductory programming courses Results (1 of 3) Games by genre General puzzles 8 Adventure games 13 LOGO-like 14 .

.

Playing serious games in introductory programming courses Results  (2 of 3) LOGO-like .

writing by drag&drop commands • Maintenance: track and evaluate the variables state modifications.Playing serious games in introductory programming courses Results  (3 of 3) Adventure and General puzzles Activities • Comprehension: match elements. ordering code. programm the behaviour of elements. gap-fill and single choice • Writing: traditional exercises. change the parameter of cycle and conditional structures .

Playing serious games in introductory programming courses Summary  Motivation  Programming Competences and Skills  Research Method  Results  Discussion  Conclusion .

Bacon.programyourrobot. Sci.. vol. “A Serious Game for Developing Computational Thinking and Learning Introductory Computer Programming. M. Behav. . Mackinnon.” Procedia . L. and L. 47. 2012. pp. Jan. 1991–1999.Soc. Kiernan. Kazimoglu.com  C.Playing serious games in introductory programming courses Discussion  (1 of 4) Games Availability    Papers  Methodological experiments and statistical results  Need to contact authors Web  Downloadable and usable  Without instructional design documentation Program your robot  http://www.

Playing serious games in introductory programming courses Discussion  (2 of 4) LOGO-like  iOS  Visual appeal  Availability of the gadgets  Program your robot: solving the problems near as using programming code  Robozzle and LighBot 2: level editors and using recursivity as cycle structure .

Playing serious games in introductory programming courses Discussion  (3 of 4) Adventure Games and General Puzzles  Comprehension: Reinforcement of concepts  Maintenance: Solving bugs in code  Both are just available by contacting authors .

Playing serious games in introductory programming courses Discussion  (4 of 4) Adventure Games and General Puzzles  Writing:  Alternative as traditional assignments  Problem-solving skill is natural  Programming Language  Almost available on the web .

Playing serious games in introductory programming courses Summary  Motivation  Programming Competences and Skills  Research Method  Results  Discussion  Conclusion .

Playing serious games in introductory programming courses Conclusions  (1 of 3) 1) How many and which are the games available to assist the introductory programming learning published in literature or on the web after 2000? Games by genre 8 14 13 LOGO-like Adventure games General puzzles .

Playing serious games in introductory programming courses Conclusions  (2 of 3) 2) Which are the abilities and subjects covered by these games? LOGO-like: computing thinking .

More than one language are available just in two games 2. Neither has the ability to change from a simple language (as block based) to traditional programming language 3.Playing serious games in introductory programming courses Conclusions (3 of 3) 3) What lacks are there about games to support introductory programming learning?  1. Half of the games are available by author contact .

pp. 5–30.” J. “What about a simple language? [20] C. “Personifying Programming Tool Feedback Improves Novice Programmers’ Learning.. P. Viallet. 1. Kazimoglu. pp. Lopez. Learning Online with Games. Fidge. Bacon. H. Richter. A. Ko. Kiernan. Mar. “Games that teach programming: A brief overview. N. vol. Järvinen. Lister. [9] A. 2007. 3.” in 4th International Workshop on Computing Education Research.References (1 of 2) [1] T. Godwin. 2012. Educ. [8] R.-M. vol. Mannila. Probl.” Comput. 17–22. Res. “Learning and teaching programming: A review and discussion. p. F. 1. 2005. 500–504. D. Pea. 101–112. and L. [5] S. Chaffin. Lockhart. [14] M. and T. Jessel.” in 7th International Workshop on Computing Education Research. [18] D. and H. [6] M.” in International Conference on Engineering Education. Elliman.” in Norsk informatikkonferanse. pp. 2006. vol. du Boulay. “Some difficulties of learning to program. [16] M. 2008. E. “Programming pedagogy . pp. Robbins. tracing and writing skills in introductory programming. Robins. [19] R. Aldrich. no. . M. Rosbach and A. Rountree. Tahar. no. 2. Sci. 1991–1999. “Further evidence of a relationship between explaining. 2006. 2012. M. 2009. E. “Learning to program-difficulties and solutions. Educ.Soc. pp. Powell.” in International Conference on Education and e-Learning Innovations. 2003.. Winslow. 2013. 41. Peltomäki. and C. [2] A. 37. 16. Lahtinen. a serious game for programming practice. no. “Relationships between reading. “Using serious game to simplify algorithm learning. “The buggy path to the development of programming expertise. Sci. and J.” ACM SIGCSE Bull. Sep. J. 2010. vol. vol. C. no. 3. Comput. H.. vol. Mendes. Strout. 47.. L. E. 57–73.php [10] B. [3] C. 38. K. J. [13] A. pp. 1987.com/blogs/RobLockhart/20130905/199667/Games_That_Teach_ Programming_A_Brief_Overview. [7] M. Spohrer. pp. and N. 84–88. 137–172. Higgins. Salakoski. [12] L.” in 10th SIGCSE Conference on Innovation and Technology in Computer Science Education. 1996. and J. D. 109–116. Ala-Mutka.” [Online]. 14–18. Simulations. pp. [11] L. Wassila and B. 9. Jan. 39. 2009. 115. 1986. 3. “An Analysis of Patterns of Debugging Among Novice. Teague. “A games first approach to teaching introductory programming. Barnes. “Experimental feedback on Prog & Play.” in 14th ACM SIGCSE Conference on Innovation and Technology in Computer Science Education. “A Serious Game for Developing Computational Thinking and Learning Introductory Computer Programming. “Classifying and Measuring Student Problems and Misconceptions. vol. C. pp. and H. tracing and writing skills in introductory programming.” Procedia .” Focus Learn. [17] E.. Lister. no. Sep. Educ. 3. Muratet. “Game2Learn: Building CS1 Learning Games for Retention. D. A. 2007. John Wiley & Sons. Mackinnon. vol. pp. pp. Leutenegger and J. Torguet. Rountree. pp. Behav.” in 37th SIGCSE Technical Symposium on Computer Science Education. “A study of the difficulties of novice programmers. Ahmadzadeh. Available: http://gamasutra. [15] R. 1. P.” in 10th SIGCSE Conference on Innovation and Technology in Computer Science Education.. no. no. Analyzing the difficulties in learning to program. pp. [4] J. 121–125. and R. 161–165. J. Lee and A. Bayliss and S.” ACM SIGCSE Bull.” in 12th SIGCSE Conference on Innovation and Technology in Computer Science Education. vol. 2011. Soloway. “Games as a ‘flavor’ of CS1. 211–227.” in EUROGRAPHICS.. J.” Comput. J. and D. 2007.a psychological overview. Gomes and A. Whalley. 2005. and Virtual Worlds: Strategies for Online Instruction. Math. Sci. Bagge. Edgington. 28.

Doran. Y. and J. Sci. 18. Dantas. F. Nov. Maragos and M. Coll. Dim and F. D. H. Pavleas. “ProGame : Um jogo para apoiar o ensino-aprendizagem de programação. Chang. “APIN : Uma Ferramenta Para Aprendizagem de Lógicas e Estímulo do Raciocínio e da Habilidade de Resolução de Problemas em um Contexto Computacional no Ensino Médio.” Int. 2006. [23] K. [25] C. and S. and R. Malliarakis. Melo. M.” EAI Endorsed Trans. [26] J. Hoppe. and T. Adamo-villani. Nunes. “Exploiting TALENT as a Tool for Teaching and Learning. “Serious game for introductory programming. and D. 1907–1918.-W. D. C. 1. Wahner. Pereira. J. Barnes. p. J. Hicks.” in 6th Balkan Conference in Informatics. 2011. A. Sigl. 2013. E. Dantas. 1. D. pp. 2012. 13. E. 2005. Neto. 61–71.” in Workshop on Open Source and Design of Communication. E. Scaico. and M. no. Vasconcelos. McCarthy. Barnes. S. B. Marques. “Learning programming with serious games.-W. S. Whittinghill. XXXI Congresso da Sociedade Brasileira de Computação. J. vol. Labanca. Nolte.” in XX Workshop sobre Educação em Computação. 2011. and A. J. Comput.” in II Congresso Brasileiro de Informática na Educação. no. vol. 2011. Eagle and T. pp. “Towards a new massive multiplayer online role playing game for introductory programming. R. and P.’” in Serious Games Development and Applications. Kartheuser. [24] C. [29] N. Gonçalves. “Innovate in your program computer class: an approach based on a serious game. Edson. V. Game-Based Learn. 1. Zapušek and J.” in XIX Workshop sobre Educação em Computação. 57. R. Rugelj. Júnior. S. 212. vol.. Alencar. 321–325. M. Cheng. D. May. L.” in Serious Games Development and Applications. L. 2012. R. [32] V. no. Souza. Piteira and S. and A. 174–182. “Experimental Evaluation of Teaching Recursion in a Video Game. pp. A. “Building a serious game for teaching secure coding in introductory programming courses. Sung. and C. “Experimental evaluation of an educational game for improved learning in introductory computing. L. de França. pp.” in XXXIII Congresso da Sociedade Brasileira de Computação. “The effect of simulation games on the learning of computational problem solving. pp. R. Cavalcante. Chaffin. K. Freitas. and D. no. 2011. [22] M. Xavier. Dang. pp. S. [27] A. “Logical Thinking by Play Using the Example of the Game ‘Space Goats. 28. Satratzemi. [34] C. Liu. [36] M. 2011. Coutinho. [28] P. A. T. “Jogo Baralho das Variáveis. M. Grigoriadou. 49–54. [31] A. 156. T. Mar.” in 2009 ACM SIGGRAPH Symposium on Video Games. 2013.” in 40th ACM Technical Symposium on Computer Science Education. F. [30] V. 2012. L. 227–236. . 3. no. M. p. XXXII Congresso da Sociedade Brasileira de Computação.-C.” Comput.. F. no. 2012. pp. M. A. vol.. no. 2012. André. R. 431–440. Coelho. K. F. J. Xinogalos. Bay. “Experience with Dream Coders: developing a 2D RPG for teaching introductory programming concepts. 2009. Carvalho. “Um jogo para o ensino de programação em Python baseado na taxonomia de Bloom. J. pp. no. D. J. 1. L. “Combinando desafios e aventura em um jogo para apoiar a aprendizagem de programação em vários níveis cognitivos. 2013.. vol. B. Kato. Oliveira. no. Huang. Kahwage.References (2 of 2) [21] C. Andrade. G. Educ.” in Eurographics 2012 . De Macedo. [33] T. A. A. Learn. 450–459. Scaico. 2001. J.” in XXII Simpósio Brasileiro de Informática na Educação. Cooper. 2011. E. 2009.-B.” J.Educators. Haddad.. pp. 79–86. K. 2013. A. [35] M.