Teaching Problem Solving Skills using an Educational Game in a Computer Programming Course

Problem solving skills are considered an important component in learning to program in an introductory programming (IP) course for novices. This study introduced a PROSOLVE game to enhance problem solving skills of novice programmers in the introductory programming course. The game is based on pseudo-code technique. A survey was employed to collect students’ feedback and semi-structured interviews were organized to collect instructors’ opinion about the game. The results show that the game helped most of the students in understanding the programming concepts, structures and problem solving strategies. Moreover, the game supports students’ cognitive engagement, gains, and affective engagement in the IP course. Instructors appreciated the game and considered it as an additional supporting teaching tool in the IP course. Moreover, they considered the game as good alternative of traditional pen and paper learning approach in attracting students’ interest in the programming domain.

[1]  Imran A. Zualkernan A framework and a methodology for developing authentic constructivist e-Learning environments , 2006, J. Educ. Technol. Soc..

[2]  Gary B. Wills,et al.  A Conceptual Framework for Serious Games , 2009, 2009 Ninth IEEE International Conference on Advanced Learning Technologies.

[3]  Patrice Torguet,et al.  Experimental Feedback on Prog&Play: A Serious Game for Programming Practice , 2011, Comput. Graph. Forum.

[4]  Sohail Iqbal Malik,et al.  Learning problem solving skills: Comparison of E-learning and M-learning in an introductory programming course , 2019, Education and Information Technologies.

[5]  Glenda A. Gunter,et al.  Taking educational games seriously: using the RETAIN model to design endogenous fantasy into standalone educational games , 2008 .

[6]  Stelios Xinogalos,et al.  Studying Students' Attitudes on Using Examples of Game Source Code for Learning Programming , 2014, Informatics Educ..

[7]  Sohail Iqbal Malik Enhancing practice and achievement in introductory programming using an ADRI editor , 2016, 2016 IEEE International Conference on Teaching, Assessment, and Learning for Engineering (TALE).

[8]  Tiffany Barnes,et al.  Game2Learn: improving the motivation of CS1 students , 2008, GDCSE.

[9]  Sohail Iqbal Malik,et al.  Role of ADRI model in teaching and assessing novice programmers , 2016 .

[10]  Sohail Iqbal,et al.  A Self Review and External Review Model for Teaching and Assessing Novice Programmers , 2013 .

[11]  Mete Akcaoglu,et al.  Design and Implementation of the Game-Design and Learning Program , 2016, TechTrends.

[12]  Tiffany Barnes,et al.  Experimental evaluation of teaching recursion in a video game , 2009, SIGGRAPH 2009.

[13]  Sohail Iqbal Malik,et al.  A model for teaching an introductory programming course using ADRI , 2017, Education and Information Technologies.

[14]  Frederick W. B. Li,et al.  Failure rates in introductory programming revisited , 2014, ITiCSE '14.

[15]  Martinha Piteira,et al.  Innovate in your program computer class: an approach based on a serious game , 2011, OSDOC '11.

[16]  Sohail Iqbal Malik Improvements in Introductory Programming Course: Action Research Insights and Outcomes , 2018 .

[17]  Till Becker The Character of Successful Trainings with Serious Games , 2010, iJET.

[18]  Sohail Iqbal Malik,et al.  PROBSOL: A Web-Based Application to Develop Problem-Solving Skills in Introductory Programming , 2019 .

[19]  Lauri Malmi,et al.  Why students drop out CS1 course? , 2006, ICER '06.

[20]  Michael de Raadt Teaching programming strategies explicitly to novice programmers , 2008 .

[21]  Sohail Iqbal Malik Assessing the Teaching and Learning Process of an Introductory Programming Course With Bloom's Taxonomy and Assurance of Learning (AOL) , 2019, Int. J. Inf. Commun. Technol. Educ..

[22]  S Mohamed Shuhidan,et al.  Probing the minds of novice programmers through guided learning , 2012 .

[23]  Edward R. Sykes,et al.  Determining the Effectiveness of the 3D Alice Programming Environment at the Computer Science I Level , 2007 .

[24]  Daniel Zingaro Examining Interest and Grades in Computer Science 1: A Study of Pedagogy and Achievement Goals , 2015, TOCE.

[25]  Nicholas McGuigan,et al.  From digital natives to digital wisdom: Hopeful essays for 21st century learning , 2012 .

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

[27]  Christiane Gresse von Wangenheim,et al.  Design and Large-scale Evaluation of Educational Games for Teaching Sorting Algorithms , 2017, Informatics Educ..

[28]  Susan Wiedenbeck,et al.  Factors affecting course outcomes in introductory programming , 2004, PPIG.

[29]  Ioannis Paliokas,et al.  PlayLOGO 3D: A 3D Interactive Video Game for Early Programming Education: Let LOGO Be a Game , 2011, 2011 Third International Conference on Games and Virtual Worlds for Serious Applications.

[30]  Andrew M. Phelps,et al.  MUPPETS: multi-user programming pedagogy for enhancing traditional study: an environment for both upper and lower division students , 2005, Proceedings Frontiers in Education 35th Annual Conference.

[31]  Amy J. Ko,et al.  Personifying programming tool feedback improves novice programmers' learning , 2011, ICER.

[32]  Stelios Xinogalos,et al.  Educational Games for Teaching Computer Programming , 2014 .

[33]  Jo Coldwell-Neilson,et al.  Impact of a New Teaching and Learning Approach in an Introductory Programming Course , 2017 .

[34]  Christopher Watson,et al.  Game-based concept visualization for learning programming , 2011, MTDL '11.

[35]  Mohanaad Shakir,et al.  Promoting Algorithmic Thinking in an Introductory Programming Course , 2019, Int. J. Emerg. Technol. Learn..

[36]  Kirsti Ala-Mutka,et al.  A study of the difficulties of novice programmers , 2005, ITiCSE '05.

[37]  Mark Guzdial,et al.  Teaching the Nintendo generation to program , 2002, CACM.

[38]  Michael Eagle,et al.  Experimental evaluation of an educational game for improved learning in introductory computing , 2009, SIGCSE '09.