The 10th International Conference for Internet Technology and Secured Transactions (ICITST-2015)
The Effectiveness of Digital Game for Introductory Programming Concepts Wong Seng Yue
Wong Lai Wan
School of Computing and Information Technology Taylor’s University Lakeside Campus, Subang Jaya, Selangor, Malaysia.
[email protected]
School of Computing and Information Technology Taylor’s University Lakeside Campus, Subang Jaya, Selangor, Malaysia.
[email protected]
Abstract – The adoption of games to learn introductory programming concepts has been widely used and there were many evidences of the benefits of learning to code in different levels of education even at primary level. Recent studies acknowledged that the use of games to explore coding environment can be motivating, increases female students’ perception in computing programming skill and enhances support for computing. This paper discusses the effectiveness of a Digital Game for learning introductory programming concepts, based on the following constructs: (1) playability; (2) multimedia adequacy; (3) ease of use; (4) enjoyment and (5) immersion. This study was conducted with the objective of evaluating the effectiveness of using Digital Games for understanding programming concepts. Participants are 19 students from a local higher education institution. The analysis of collected data uncovered the extent of students’ perception in programming concepts learning via exploring Digital Games and the effectiveness and efficiency of using games to learn programming. Overall results showed that the Digital Game has highly playability, multimedia adequacy, enjoyment, immersion and ease of use. In total, 78.9 % of students agreed and strongly agreed that they very quickly familiarized themselves with the game and the elements of the game are consistent with the game structure. Keywords – Programming concepts
I.
INTRODUCTION
The advent of Information Technology has become an integral part towards the study of programming [1]. In the 21st century, people are expected to be producing individuals besides consumers [2]. With this relation, there is a need to train children at younger age as they can adapt easily to this new technological world and a lot of efforts and programs have been taken to increase youngsters’ quality of learning and understanding in programming concepts, such as ‘WeSpeakCode’ and ‘Code.org’. Recent studies confirmed that Computer Games Programming is motivating [3] and increases girls’ perceived computer skills and perceived support for computing [2]. Games are also increasingly explored and adopted as a means to complement teaching and learning in various fields of studies, and at different levels ranging from primary to university. Our review of literature shows many studies on the efficacy of games-based education have been conducted and
978-1-908320-52/0/$31.00 ©2015 IEEE
the results have been promising. The idea of leveraging on the richness of games based educational means in particular to learn coding is not new. To the best of our knowledge, there have been many studies that were conducted to review the effectiveness of using games for teaching and learning programming, among which includes Alice and Scratch [4-5] through interactive story-telling modes, Code.org [2] that allows young learners to learn widely used programming languages like JavaScript or Python by following simple tutorials and Gidget [6], a debugging game that allows learning of programming concepts by adopting a debuggingfirst approach. Learning to code has always been considered a very difficult task– both for the teacher and learner. Traditionally, practical exercises and text based consoles were the means that teachers employ to help students consolidate knowledge acquired. Students have to demonstrate proficiency in a certain topic by applying theoretical knowledge to particular problems and keeping track of students’ progression is challenging when we consider the class size and that indicators of students’ learning is limited to mainly the result of work submissions. These teaching methods are considered to be inadequate because it is not an accurate indicator of students’ skills to problem solve thereby further pointing to the suggestion that the underlying mechanisms of performance gains might be different between traditional learning methods and game training [7-8]. This can probably be attributed to the change in demands of the young generations in terms of learning coupled with a constant need for higher order engaging tasks. The 21st century sees a new group of younger and emerging generations who grow up with and are exposed to different devices in their daily lives. They are innovators and are more receptive to new technologies. They need to be educated in a similar manner that stimulates high order thinking skills and provided with problem solving opportunities within a communicative mode that promotes a unique kind of social relationships [9]. It has often been thought that logical reasoning and algorithmic thinking are essential to succeed in learning programming. It has been demonstrated that children who played games benefitted and showed improvement in their understanding of programming concepts like sequence, iteration and decision making which are all important in
421
The 10th International Conference for Internet Technology and Secured Transactions (ICITST-2015)
learning how to code which in turn enhances their ability to problem solve. Similar results suggesting that playing games can lead to gains in engagement, logical and analytical skills, and improvement in attitude towards programming have also been reported. All the studies above suggest positively that learners benefit from playing games as compared to those who do not. The introduction of programming concepts into various groups of school-going children can be seen as evidence of the benefits of learning to code in different levels of education, from primary to tertiary education. Besides learning tools, digital games have been utilized to learn programming concepts since digital game based learning is an effective tool in enhancing students’ motivation towards learning.Thus, this study is aimed at using Digital Games for introductory programming concepts among students and an effectiveness evaluation was carried out for this educational purpose. Difficulties of learning programming concepts are undeniable due to tedious theoretical concepts and techniques, lack of interest, poor teaching method and low interaction between students in the classroom teaching [3]. We hope the use of digital games for introductory programming concepts will be an effective tool in recent and future studies. II.
LITERATURE REVIEW
Programming has traditionally been considered a difficult subject to teach and learn. A number of studies exist to document the difficulties faced by students of Programming subjects in tertiary education. Some of the difficulties that were documented in learning programming points to understanding of core concepts in programming such as construction, loops manipulation, structure controls and algorithms while other studies suggest that these are mainly due to manner of teaching causing low engagement and motivation levels further resulting in lack of interest [10-11]. This lack of interest has also been attributed to the fact that students typically view programming as technical and full of Author(s) Ouahbi et al. [3] (2014)
tedious concepts [12-13]. In response to such situations, a number of changes have been made in an effort to increase the transfer from teaching to learning. These changes range from a change in environment to medium of teaching. The rationale for this is because games are engaging and motivational thereby encouraging students to learn programming in an entertaining environment to improve transfer of learning. Cheng [9] proposes an online competitive game-based learning containing learning points, competition mechanism, training room mechanism, questioning & answering mechanism, tips mechanism, and feedback mechanism. Particularly, the competition mechanism can effectively enhance the students’ learning interests, performance, and willingness to learn continuously. There are many studies in programming education that focuses on how to study programming concepts effectively or how to learn coding easily, as well as how to assess programming languages based on peer code review model. Table I shows a selection of studies related to learning programming concepts. III.
METHODOLOGY
This research investigates the effectiveness of digital games using the “Program Pacman” game over a period of two two-hour workshops specifically studying the possible improvements on understanding of fundamental programming concepts, on ability to solve a programmatic problem and on their interest in the subject of computer programming. This study involved 19 second semester students enrolled in the Foundation of Computing course. These students mostly have experienced and are explored to at least one programming subject. The instrument is modified from a previous study [14]. Five constructs were evaluated for the effectiveness of using digital game to learn programming concepts: (1) playability; (2) multimedia adequacy; (3) ease of use; (4) enjoyment and (5) immersion. The participants went through a two-hour programming workshop playing the Pacman Game.
TABLE I. SEVERAL STUDIES RELATED TO PROGRAMMING CONCEPTS LEARNING Games / Tools Area of study Evaluation results Scratch game Effectiveness of learning basic programming 65% students who have experienced with concepts by creating games with Scratch game Scratch game environment will consider environment continuing their studies in programming.
Mohd Nor et al. [1] (2012)
Instructional design and learning theory
The possibilities of using Gagne’s theory and instructional design on teaching and learning computer programming
The findings indicated Gagne theory can be used to provide and assist students in computer programming learning.
Kalelioğlu[2] (2015)
Code.org
Teaching programming skills to K-12 students via Code.org
Students developed a positive attitude towards programming, female students showed that they were as successful as male students and programming can be part of their future plans.
Ahmad Zamzuri and SitiRosminah[15] (2013)
Hardware-Software interfacing visualization kit
Usability and user satisfaction of hardwaresoftware interfacing visualization kit for novice learning programming
The developed tool seems very helpful and useful for beginners in understanding hardware-software interfacing programming.
Wang et al. [16] (2012)
Peer code review model
Implementation of assessment programming language learning based on peer code review model
The assessment approach demonstrates high practical values in assessing students’ learning outcomes in programming languages.
978-1-908320-52/0/$31.00 ©2015 IEEE
422
The 10th International Conference for Internet Technology and Secured Transactions (ICITST-2015)
Generally, there are two parts to the questionnaire. The first part consists of 3 questions to determine participants’ demographic (gender and age group) and programming background. The second part consists of 23 questions to determine participants’ programming experience of, using Pacman Game as a tool to enhance learning of introductory programming concepts and effectiveness of digital game to learn introductory programming concepts. All questions are rated on a 5-point Likert scale ranging from 1 to 5 (1-Strongly Disagree; 2-Disgree; 3-Neutral; 4-Agree; 5-Strongly Agree). IV.
FINDINGS AND RESULTS ANALYSIS
As presented in the methodology, quantitative analysis was performed on the questionnaire together with descriptive statistics, figures and the tabulation of data. This exploratory study was designed to be an initial investigation on the effects of Pacman Game, digital game-based learning (DGBL) approach to enhance programming learning. There were 19 students (15 Male, 4 Female) from second semester of Foundation in Computing at Taylor’s University at tertiary education level and all participants have learnt at least one computer language prior to the workshop. Of the 19 participants, 100% of them had learnt Java programming and 17 students were at beginner level. Besides that, 12 participants have studied HTML and 8 participants have learnt C/ C++/ C# programming. Most of the participants (73.7%) learnt programming as part of a course for second semester students and three participants learnt via both self-taught and course-taught methods. Table II shows the responses of the participants for past programming experience via the playability construct. There are six statements to be been rated for playability construct. Most of the students gave positive responses for all the statements. 78.9% participants agreed and strongly agreed TABLE II.
Number of responses % Number of responses % Number of responses %
with the consistency of game elements with the game story. Besides that, 73.7% participants agreed and strongly agreed that key concepts to play were easy to remember and learn. Furthermore, 68.4% participants agreed and strongly agreed that the game is fun and interesting. The responses of participants in multimedia adequacy for digital game effectiveness study to learn introductory programming concepts are presented in Table III. 68.5% of participants agreed and strongly agreed that the game is very interactive. Participants who agreed and strongly agreed that the sound effects of the game are appropriate reached 68.4%. Table IV shows the responses of participants in understanding programming concepts via ease of use by using digital game construct. 78.9% participants agree and strongly agree that they were quickly familiarized with the game. Furthermore, 73.7% participants agree and strongly agree with four statements under this construct. The statements are: the game can be simplified; they feel easy to use the button to explore; they feel easy to access the main menu and they feel easy to follow the game instruction. Table V tabulates participants’ responses on effectiveness of using digital game in understanding programming concepts via enjoyment construct. The participants gave positive results that they enjoyed playing the games, at 78.9%. 73.7% of participants also agree and strongly agree that they were comfortable while playing the game. Lastly, 63.2% of participants agreed and strongly agreed that they were able to immerse themselves in the learning process and consider themselves to be a part of the game and they feel easy to focus on new things when the game ended. These results also have been illustrated in Fig. 1.
PARTICIPANTS RESPONSES ON THEIR PROGRAMMING EXPERIENCE VIA PLAYABILITY CONSTRUCT BY USING DIGITAL GAME “The way you play the game is fun and interesting.” Strongly Disagree Disagree Neutral Agree Strongly Agree 0 2 4 8 5 0 10.5 21.1 42.1 26.3 “Key concepts to play are easy to remember and learn.” Strongly Disagree Disagree Neutral Agree Strongly Agree 0 2 3 8 6 0 10.5 15.8 42.1 31.6 “The elements of the game are consistent with the game story.” Strongly Disagree Disagree Neutral Agree Strongly Agree 0 0 4 11 4 0 0 21.1 57.8 21.1
TABLE III.
PARTICIPANTS RESPONSES ON THEIR PROGRAMMING EXPERIENCE VIA MULTIMEDIA ADEQUACY CONSTRUCT BY USING DIGITAL GAME “The sound effects of the game are appropriate.” Strongly Disagree Disagree Neutral Agree Strongly Agree Number of responses 2 1 3 5 8 % 10.5 5.3 15.8 26.3 42.1 “The game is very interactive.” Strongly Disagree Disagree Neutral Agree Strongly Agree Number of responses 0 2 4 4 9 % 0 10.5 21.1 21.1 47.3
978-1-908320-52/0/$31.00 ©2015 IEEE
423
The 10th International Conference for Internet Technology and Secured Transactions (ICITST-2015)
TABLE IV.
PARTICIPANTS RESPONSES ON UNDERSTANDING PROGRAMMING CONCEPTS VIA EASE OF USE CONSTRUCT BY USING DIGITAL GAME “The game can be simplified.” Strongly Disagree Disagree Neutral Agree Strongly Agree Number of responses 0 2 3 10 4 % 0 10.5 15.8 52.6 21.1 “I quickly familiarized with the game.” Strongly Disagree Disagree Neutral Agree Strongly Agree Number of responses 0 0 4 12 3 % 0 0 21.1 63.1 15.8 “I feel easy to use the button to explore.” Strongly Disagree Disagree Neutral Agree Strongly Agree Number of responses 1 1 3 11 3 % 5.3 5.3 15.8 57.9 15.8 “I feel easy to access the main menu.” Strongly Disagree Disagree Neutral Agree Strongly Agree Number of responses 1 1 3 10 4 % 5.3 5.3 15.8 52.6 21.1 “I feel easy to follow the game instruction.” Strongly Disagree Disagree Neutral Agree Strongly Agree Number of responses 1 1 3 10 4 % 5.3 5.3 15.8 52.6 21.1
TABLE V.
PARTICIPANTS RESPONSES ON EFFECTIVENESS OF UNDERSTANDING PROGRAMMING CONCEPTS VIA ENJOYMENT CONSTRUCT BY DIGITAL GAME “I was comfortable while playing game.” Strongly Disagree Disagree Neutral Agree Strongly Agree Number of responses 1 0 4 11 3 % 5.3 0 21.1 57.9 15.8 “I enjoyed playing game.” Strongly Disagree Disagree Neutral Agree Strongly Agree Number of responses 1 0 3 12 3 % 5.3 0 15.8 63.2 15.8
Participants' responses for the statement that they feel easy to focus on new things when the game ended
5% 0% 26% 32%
Strongly Disagree Disagree
Participants' responses on ability to immerse themselves in learning process and consider themselves to be a part of the game 5% 16%
Neutral
Neutral Agree
37%
16%
Strongly Disagree Disagree
16% 47%
Agree Strongly Agree
Strongly Agree
Figure 1. Pie charts for participants responses on two statements in immersion construct.
V.
CONCLUSION
Programming concepts always appeared to be a challenging course to be learned, especially for novice students. Since digital game has its potential to boost the motivation of students and enable them to develop their knowledge efficiently, this study focuses on the effectiveness of understanding introductory programming concepts using
978-1-908320-52/0/$31.00 ©2015 IEEE
digital games. Overall results showed that the digital game has highly playability, multimedia adequacy, enjoyment, immersion and ease of use. 78.9 % students agreed and strongly agreed that they were able to become quickly familiarized with the game and the elements of the game are consistent with the game structure. The results and findings show that digital game is an effective tool to learn programming concepts.
424
The 10th International Conference for Internet Technology and Secured Transactions (ICITST-2015)
ACKNOWLEDGEMENT We would like to thank Dr. Stephen Tang, from Liverpool John Moores University, U.K. who has contributed his times by providing consultation and updates to us from time to time. REFERENCES [1]
[2]
[3]
[4]
[5] [6]
[7]
H.H.J. Mohd Nor, A.A. Azlan, I. Mohamad andM.N. Norsaniah, “Instructional design and learning theory on the development of C++ programming multimedia content,” Procedia – Social and Behavioral Sciences, vol. 67, pp. 335-344, 2012. F. Kalelioğlu, “A new way of teaching programming skills to K-12 students: Code.org,” Computers in Human Behavior, vol. 52, pp. 200210, 2015. I. Ouahbi, F. Kaddari, H. Darhmaoui, A. Elachqar, andS. Lahmine, “Learning basic programming concepts by creating games with scratch programming environment,” Procedia – Social and Behavioural Sciences, vol. 191, pp. 1479-1482, 2015. C.K. Chang, “Effects of Using Alice and Scratch in an Introductory Programming Course for Corrective Instruction,” Journal of Educational Computing Research, vol. 51(2), pp.185-204, 2014. P. Gruenbaum, “Undergraduates Teach Game Programming Using Scratch,”Computer, vol. 2, pp. 82-84, 2014. M.J. Lee, F. Bahmani, I. Kwan, J. LaFerte, P. Charters, A. Horvath, and A.J. Ko, “Principles of a debugging-first puzzle game for computing education,” In Visual Languages and Human-Centric Computing (VL/HCC), 2014 IEEE Symposium on (pp. 57-64). IEEE, 2014. M. Akcaoglu, and M.J. Koehler, “Cognitive outcomes from the GameDesign and Learning (GDL) after-school program,” Computers & Education, vol. 75, pp. 72-81, 2014.
978-1-908320-52/0/$31.00 ©2015 IEEE
[8]
[9]
[10]
[11]
[12] [13]
[14] [15]
[16]
E. Núñez Castellar, A.All, L. de Marez, andJ. Van Looy, “Cognitive abilities, digital games and arithmetic performance enhancement,” Computers & Education, vol. 85(C), pp. 123-133, 2015. Y.M. Cheng, S.H. Kuo, S.J. Lou, and R.C. Shih, “The Construction of an Online Competitive Game-Based Learning System for Junior High School Students,”Turkish Online Journal of Educational TechnologyTOJET,vol. 11(2), pp. 214-227, 2012. E. Lahtinen, K. Ala-Mutka and H-M.Järvinen, “A study of the difficulties of novice programmers,” ACM SIGCSE Bulletin, vol. 37(3), pp. 14-18, 2005. N.J. Coull, and I.M. Duncan, “Emergent requirements for supporting introductory programming,” Innovation in Teaching and Learning in Information and Computer Sciences, vol. 10(1), pp. 78-85, 2011. J. Bennedsen, and M.E. Caspersen, “Failure rates in introductory programming,” ACM SIGCSE Bulletin, vol. 39(2), pp. 32-36, 2007. F. Alajmi, and A.A. Alkhatib, “Enhanced Teaching Model (ETM) for Teaching Programming Languages,” International Journal of Computer Applications, vol. 121(20), 2015. R. De Asmundis, “An evaluation model to measure impact and usability of a serious game,” Master Thesis, University of Bari, 2014. M.A. Ahmad Zamzuri, and M.D. Siti Rosminah, “Usability and user satisfaction of hardware-software interfacing visualization kit for novice learning programming,” Procedia – Social and Behavioral Sciences, vol.103, pp. 1252-1260, 2013. Y. Wang, H. Li, Y. Feng, Y. Jiang, and Y. Liu, “Assessment of programming language learning based on peer code review model: implementation and experience report,” Computers & Education, vol.59, pp.412-422, 2012.
425