Content area
Object-oriented programming is a required fundamental skillset for all computer science related students. However, teaching object-oriented programming to undergraduate year one students is challenging and academician need to use a different approach to find suitable methods to enhance student understanding, self-interest and self-experimentation. However, the classroom- based learning and teaching methods are insufficient to support learners or students, especially in learning a programming related subject. A game-based learning approach could be an efficient way for the students to learn object-oriented programming. This is mainly because the empirical evidence that validates computer games is an efficient tool for learning object-oriented programming is still absent from the literature. The proposed computer game is developed according to the game-based learning design approach model, where several relevant theories, such as condition of learn, operant conditioning, constructive, hierarchy of needs and bloom taxonomy are included to ensure that the entire learning process is motivating and easy to learn. The game-based learning design model is divided to three layers, such as presentation layer, learning theory layer and core game-play layer. Each layer covers a different expect, where focus is on how to make the learning environment more effective for player to learn object-oriented programming. The proposed game is a role-playing game named Odyssey of Phoenix that motivates users to learn object-oriented programming in an easy and interactive environment. Players will play along the flow of each game quest and they will easily learn and pick up the object-oriented programming paradigm. Players are not required to have any coding practice and learn via the provided game-play with pseudo code support. A group of 20 students in the second year of Bachelor of Computer Science were offered to participate a pilot testing to evaluate the game. The respondents showed positive results, where most students agreed that the proposed game is efficient as a learning tool to help them understand the object-oriented programming paradigm better. Thus, the invention of this role-playing game for novice or beginner learners to learn object-oriented programming is necessary. The objective of this paper is to discuss the development of a propriety game-based learning game to learn the object-oriented programming paradigm and examine its acceptance as a learning tool among undergraduate computer science students in Malaysia.
Abstract: Object-oriented programming is a required fundamental skillset for all computer science related students. However, teaching object-oriented programming to undergraduate year one students is challenging and academician need to use a different approach to find suitable methods to enhance student understanding, self-interest and self-experimentation. However, the classroom- based learning and teaching methods are insufficient to support learners or students, especially in learning a programming related subject. A game-based learning approach could be an efficient way for the students to learn object-oriented programming. This is mainly because the empirical evidence that validates computer games is an efficient tool for learning object-oriented programming is still absent from the literature. The proposed computer game is developed according to the game-based learning design approach model, where several relevant theories, such as condition of learn, operant conditioning, constructive, hierarchy of needs and bloom taxonomy are included to ensure that the entire learning process is motivating and easy to learn. The game-based learning design model is divided to three layers, such as presentation layer, learning theory layer and core game-play layer. Each layer covers a different expect, where focus is on how to make the learning environment more effective for player to learn object-oriented programming. The proposed game is a role-playing game named Odyssey of Phoenix that motivates users to learn object-oriented programming in an easy and interactive environment. Players will play along the flow of each game quest and they will easily learn and pick up the object-oriented programming paradigm. Players are not required to have any coding practice and learn via the provided game-play with pseudo code support. A group of 20 students in the second year of Bachelor of Computer Science were offered to participate a pilot testing to evaluate the game. The respondents showed positive results, where most students agreed that the proposed game is efficient as a learning tool to help them understand the object-oriented programming paradigm better. Thus, the invention of this role-playing game for novice or beginner learners to learn object-oriented programming is necessary. The objective of this paper is to discuss the development of a propriety game-based learning game to learn the object-oriented programming paradigm and examine its acceptance as a learning tool among undergraduate computer science students in Malaysia.
Keywords: game-based learning model, learning programming, object-oriented programming
1. Introduction
Object-oriented programming is a required fundamental skillset demand by the IT industry for all computer science or ICT students (Brinda, Kramer, Ruf, 2015). However, teaching object-oriented programming to undergraduate students is challenging. Besides that, academician need to use a different approached to find suitable methods to enhance student understanding towards object-oriented programming. The proposed game is a 2D role-playing game named Odyssey of Phoenix (OOP) that leads student to learn object-oriented programming in an easy and interactive way. Students will play along the flow of each game world and they easily will learn and pick up the object-oriented programming paradigm by completing the required tasks. A group of 10 students in the second year of Bachelor of Game Development at KDU University College were offered to participate a pilot testing to evaluate the game. Thus, the invention of this role-playing game is necessary for novice or beginner learners understand object-oriented programming (Wong, Yatim, Tan, 2014).
The paper and chalk based teaching method and lecturers learning centred approach are insufficient to support students, especially learning programming related subject (Rais, Elliyana, Sulaiman, Syed-Mohamed, 2011). A game-based learning approach could be an efficient way for the students to learn object-oriented programming, mainly because the empirical evidence that validates computer games as efficient tools for learning object-oriented programming is still absent from the literature (Wong, Yatim, Tan, 2014).. Therefore the aim of this paper is to discuss the development of game-based learning game (2D role-playing) to learn object-oriented programming paradigm.
2. Related work
2.1 Different types of game which teach programming
Most existing games to learn programming, such as Alice 2D, Greenfoot, and CodeCombat, require students to play with programming coding exercises (Wong, Yatim, Tan, 2016). However, the proposed game-based learning game focuses on the game play and game mechanics to carry out the learning objective, where no coding exercise type of game play is needed. For example, CodeCombat (Vahldick, Mendes, Marcelino, 2014) requires a player to use script languages, such as JavaScript, Lua, and phyton, in order to progress through a small story or compete against other players.
For the second example, Alice is a 3-dimentional interactive animation program visualisation environment that will enable the typing of Java code to build Alice world (Vahldick, Mendes, Marcelino, 2014).
Meanwhile, Greenfoot (Mullins, Conlon, 2008) is an educational development environment based on Java programming, where the use of text-based programming based on Java makes very sophisticated applications possible, matching students high expectations and preparing them for progression into a more general programming environment (Kolling,2012).
Most of the programming game mentioned require coding exercises, thus it is necessary to develop propriety game-based learning games to learn object-oriented programming without coding exercises.
2.2 Theories and their impact on game-based learning design
In order to obtain a good game-based learning design several theories need to be considered, such as Social Learning Theory, Cognitive Apprenticeship, Flow, Operant Conditioning ARCS Theory of Motivation, Malone's Theory of Intrinsically Motivation Instruction, Lepper's Instructional Design Principles for Intrinsic Motivation, The Taxonomy of Intrinsic Motivations for Learning, Self-Determination Theory, Distributed Practice, Scaffolding, and Episodic Memory. However, different learning contexts require different combinations.
In the proposed game, several relevant theories, such as cognitive apprenticeship (Kazimoglu, Kiernan, Bacon, Mackinnon, 2012), self-determination theory (Collins, 1991), flow theory (Deci,Ryan, 2011), ARCS theory of motivation (Csikszentmihalyi, 1975), distributed practice (Keller, 2009), episodic memory (Siang, Rao, 2013), operant conditioning (Tulving, 1985), and the taxonomy of intrinsic motivations for learning (Reynolds, 1975) are included to ensure the entire learning process is motivating and easy to learn.
3. Conceptual framework
OOP is a software pattern that has improved the practice or development of computer application (Klump, 2001). Besides that, OOP is a programming paradigm that is based on hierarchy of classes, well-structured objects and interaction among the objects (Wong, Tan, 2016). Learning and understanding OOP paradigm could be challenging to certain students. However, it is unavoidable as OOP is fundamental for computer science students and is demanded by the IT industry (Jie,Li, Chen, Zou, 2010). In order to build the proposed conceptual framework for this research, several related theories mentioned are included, such as operant condition theory, condition of learn theory, hierarchy of needs, constructive theory, Bloom Taxonomy, and ARCS Theory of Motivation. Besides all the relevant theories, it also includes instructional game design methodology (Tang, Hanneghan, 2014), which focus on abstract conceptualisation, active experimentation, reflective observation, and concrete experience to form a challenge cycle that involves synthesis, elicit performance, and feedback. For this research, the conceptual framework is divided to 3 layers namely game play inner layer, learning theory middle layer, and presentation outer layer.
4. Development of Odyssey of Phoenix (OOP)
The Odyssey of Phoenix implemented the concept of Role-Playing in the game to make it more exciting and engaging. OOP is the first mobile game that learns object-oriented programming without any coding exercises. Besides, all the game assets used are self-drawn 2-Dimension to give a sense of immersive learning. The player can travel from an area to another by clicking on the area icons. Besides that, the provided user interfaces are designed based on the mobile design approach to make the player have easy- to- use interface while playing the game. The area name will be shown at the middle top screen when selected. Besides that, the area associated with tasks have word quest appearing underneath the area icon. The major areas are 3 jetties, Crystal Cave, Abandoned Warehouse, Bandit Cave, Underground Min, and Bandit Cave.
5. Game level design
Odyssey of Phoenix is a 2D mobile game that allows players to learn object-oriented programming concept and paradigm in an easy and motivated environment. Players will play along with the game flow as they learn to build the spaceship by completing all given quests. To enhance the learning process, this game possesses an attractive storyline with proper narrative content, pleasant game environment, suitable sound effects, elegant character design, and appealing animations. The game story happens in one of the planets in an apocalypse galaxy. The player's role in the game will be the second prince of the Exora planet named Kyle. Kyle was a threat to the race of the king throne and thus was framed and charged with high treason and ordered to be immediately exiled from his own home planet forever. Halfway through his transportation to the prison planet, the transportation space shuttle was stuck down by unknown assailants and soon crashed landed. Kyle survived the crash and was saved by a kind and mysterious old man. Although slowly recovered back to health, he suffered from amnesia as a result from the crash landing. Kyle sensed an oddly warmth presence with the kind and mysterious old man albeit the first time he met him. As soon as Kyle was able to get back on his feet, the old man revealed his plan to build a spacecraft to escape out of the prison planet. The first plan was to reclaim a logbook from the bandits, which contains all the necessary information for the spacecraft parts. Facing through trials and tribulations, Kyle managed to gain enough resources to build the necessary parts of the spacecraft. With the spacecraft getting slowly assembled, Kyle slowly regained his memory and the betrayal that he suffered and vowed to take back his own home planet from the corrupted. As the final parts of the space shuttle assembled, the old man died of a natural cause. Kyle shed his final tears of gratitude before taking off with their spacecraft, Phoenix. Upon arriving back in his home country, he hid away in a small town and secretly plan to start a revolution in his home country. He started to look for potential allies within the town and slowly increase their military strength by recruiting mercenaries and soldiers. Months flew past and the military strength reached a promising state. Assaults and tactics were used to weaken the strategic points. The campaign reached its final chapter when Kyle confronted his betrayer, who was none other than his own brother, Vesper. Vesper and his men laid down their weapons and surrendered. Later it was revealed that Kyle's uncle was the true mastermind behind the betrayal but he was long gone before the war fire lit. After the revolution ended, Vesper was sentenced to be imprisoned within his room. Reasons were that he was just a tool being manipulated like a puppet by the true mastermind. Investigations were still being carried out nationwide to search for his uncle's whereabouts. At last, peace returned to the kingdom. The Odyssey of Phoenix is a stand-alone game in which each player will play and learn at his own time. The game guides users to understand the concept of objectoriented programming. The gaming part aims to increase and foster the user interest in learning the knowledge. The game provides user with all basic object-oriented concepts like encapsulation, inheritance, and polymorphism. In addition, the game includes some basic programming concepts that could improve the user understanding. Quests are featured with basic programming knowledge through two planets in the game. With these features, the Odyssey of Phoenix could be a catalyst to smoothen the learning path of object-oriented concepts. As mentioned earlier, the game consists of two planets. From the first planet, the basic object-oriented paradigm is introduced to players. A player (known as Kyle) needs to collect required resources to craft the parts of the spaceship. Kyle is given a logbook consists of hints that show him the amount of required resources, resources location , way of crafting and description of the parts. These hints reflect the requirement collection of a class and object (encapsulation) in the object-oriented design. Moreover, upon crafting the parts successfully, Kyle is required to view the pseudocode reflected from the crafting process. The player is required to craft eight items in order to build the spaceship; the items are cargo bay, wings, tail, main gear, nose gear, main engine, obituary engine and flying deck. These crafting quests are assigned to the player to ensure he comprehend the concepts behind the knowledge. Apart from the encapsulation concept, introduction of inheritance is included in the crafting quests. For example, the main gear and nose gear are the types of gear for the spaceship. Thus, the resources required for these two items can be shared. For example, the lightweight metal and scrap metal parts are required to build a gear. However, in order to craft the nose gear, extra resource ceruszite is needed. By showing these hints, it can reflect the inheritance concept to the player because he just need to collect the basic and general required resources that can build both items. However, by adding in one extra resource the specific type of gear can be crafted. From time to time, player is rewarded for his learning enthusiasm, in which he is encouraged to continue learning new knowledge and skills.
6. Odyssey of Phoenix with constructive alignment
In order to ensure the learning outcome can be achieved via the gameplay and in game mechanics, it is necessary to align the learning outcomes and in game mechanics appropriately. The proposed game is adapting Biggs' constructive alignment (Bigg's, 1996) to align the gameplay with learning outcomes.
There are two major ideas from constructive alignment from Bigg's (Bigg's, 1996) are shown below:
* how to get students engage in learning activities that are likely to enable them to attain intended outcomes
* how to set up a learning environment that supports the learning activities
According to Prensky (2007), in order to achieve constructive alignment, the intended learning outcomes (observable behaviour, degree of attainment and conditions of attainment) should be aligned to structural elements (rule, goal and feedback) of games proposed. Tables below show the constructive alignment of intended Learning Outcomes and game elements of the proposed game.
7. Pilot study
A pilot study is a preliminary study that helps researchers get an initial overview of how games are developed to be used and what are the problems that may be encountered. Moreover, it can help to identify problems and fixed it before the actual research as well as improve the research instrument. The pilot study conducted only includes a small number of students from one class in a real environment. Quantitative data were obtained by using the instrument /game evaluation form, ARCS motivation questionnaire (Keller, 2009), instructional material motivation survey (IMMS) questionnaire (Cook, Beckman, Thomas, Thompson, 2009) and pre-test and post-test. While the qualitative data are obtained through interviews. Improvements to the instrument are made based on the findings of quantitative and qualitative data obtained from the pilot study. Subject experts' opinion and feedback in the pilot study sample were taken into consideration to improve the proposed game as well. One of the major objectives to conduct the pilot testing is to identify and fix any problems before the actual survey was conducted. The pilot study was conducted to evaluate the instrument, identify questions and instructions that are not clear, evaluate the reliability of the sample and expected time required for data collection. The pilot study also helped to identify the effectiveness of the proposed game and the elements in the prototype need to be improved. In this study, a pilot study is divided into two parts: a pilot study to test the validity and reliability evaluation of the research instrument and the reliability of the pre-test and post-test.
7.1 Sampling for pilot study
For this pilot testing, 10 computer science degree year two students (where they learnt Object-Oriented Programming during year one) were randomly selected. The samples were randomly selected and suitable for pilot testing, which acquired advance information in before the actual research (Cohen et al., 2011). Total of 10 to 12 participants were sufficient to evaluate the instrument, identify questions and instructions that are not clear (Fain, 2013).
7.2 Procedure for pilot testing
It is important to identify the understanding level of selected students towards object-oriented programming before the pilot testing. Thus, the selected students will be given a set of pre-test questions that consists of 35 multiple-choice questions and fill in the blank questions (total 100 marks). The duration for the pre-test is 90 minutes. Upon completing the pre-test, selected students are given the proposed game to play for 1 month along with their daily lesson. After 1 month, all the selected students are given a set of post-tests (which is of the same standard with the pre-test) with 35 multiple- choice questions and fill in the blank questions (total 100 marks). The duration for the post post-test is 90 minutes as well. In order to achieve the pilot testing mentioned objectives, IMMS questionnaires, game evaluation form and interview were also carried out with the selected student. The duration for each activity is 1 hour.
7.3 Findings
The pre- and post-test scores obtained from students were analysed by comparing their achievements. Pre-test was conducted before the students used the game-based learning game while the post-test was carried out after the students have played the game. Pre- and post-test questions are testing the same topics with different scenario and questions construction. Results obtained showed that the post-test score was higher than the pretest score. Besides that, 5 students were interviewed to obtain player feedback. Generally, most of the students are enjoyed the game and agreed that by playing the proposed game they understand the object-oriented programming paradigm more easily. According to the data collected from the pre and post test (Table 5.0, 6.0 and 7.0), the significant value is 0.002, which lower than the standard significant level (0.5). Thus, it can conclude that, with the support of the game-based learning computer game can significantly improve the student understanding toward object-oriented programming paradigm.
8. Conclusion
The proposed research identified a game-based learning game (OOP), which covered the object-oriented programming paradigm. This was to encourage student learning by making the learning experience and process fun and attractive. Based on the pilot testing findings, it was indicated that games-based learning is a useful learning approach to learn programming. The game-based learning experiment in pilot testing showed that students were actively engaged in applying object-oriented programming paradigm with a defined game level and designed with appropriate game mechanics. The proposed game-based learning game has demonstrated the efficiency of using game-based learning as a learning tool for tertiary level. The combination of game-based learning and traditional teaching practices in object oriented programming is beneficial to students. This is because game-based learning could motivate students to learn object-oriented programming topics in a more fun, challenging and engaging environment. The main challenge for this research is to make the learning implicit while keeping the game fun and interesting to retain student motivation. One possible approach to overcome this challenge is to keep the players motivated [26], whereby the learning content, challenges and the gameplay should be balanced match the learning outcome. Programming syntax, particularly the programming language, should be replaced with pseudocodes to make beginner players comprehend the object-oriented programming concept while enjoying the game. With the adaption of Biggs' constructive alignment (Biggs, 1996), all motivation and learning theories applied and data collected from the players have proven that the game-based learning can be one of the efficient ways of learning object-oriented programming.
9. References
Asselin, M. E., & Fain, J. A. (2013). Effect of reflective practice education on self-reflection, insight, and reflective thinking among experienced nurses: A pilot study. Journal for nurses in professional development, 29(3), 111-119.
Biggs, J. Enhancing teaching through constructive alignment. Higher education, 1996, 32(3), 347-364.
Cook, D. A., Beckman, T. J., Thomas, K. G., & Thompson, W. G. (2009). Measuring motivational characteristics of courses: applying Keller's instructional materials motivation survey to a web-based course. Academic Medicine, 84(11), 1505-1509.
Biggs J (1987) Student Approaches to Learning and Studying Hawthorn, Vic:Australian Council for Edu Research
Brinda, T., Kramer, M., Hubwieser, P., & Ruf, A. Towards a Competency Model for Object-Oriented Programming. In Proceedings of the 2015 ACM Conference on Innovation and Technology in Computer Science Education . (2015, June). (pp. 345-345).
Cohen, L., Manion, L., & Morrison, K. (2013). Research methods in education. Routledge.
Collins, A. Cognitive apprenticeship and instructional technology.Educational values and cognitive instruction: Implications for reform, 1991, pp.121-138.
Csikszentmihalyi, M. Play and intrinsic rewards. Journal of humanistic psychology. 1975
Deci, E.L. and Ryan, R.M. Self-determination theory. Handbook of theories of social psychology, 1, 2011, pp.416-433.
Helme, S., & Clarke, D. (2001). Identifying cognitive engagement in mathematics classroom. Mathematics Education Research Journal, 13, 133-153
Kazimoglu, C., Kiernan, M., Bacon, L., & Mackinnon, L. A serious game for developing computational thinking and learning introductory computer programming. Procedia-Social and Behavioral Sciences, (2012). 47
Keller, J.M. Motivational design for learning and performance: The ARCS model approach. Springer Science & Business Media. 2009.
Klump, R. (2001, July). Understanding object-oriented programming concepts. In Power Engineering Society Summer Meeting, 2001 (Vol. 2, pp. 1070-1074). IEEE.
Kölling, M. The greenfoot programming environment. ACM Transactions on Computing Education (TOCE), 2012, 10(4), p.14.
Malone, T.W. and Lepper, M.R. Making learning fun: A taxonomy of Intrinsic motivations for learning. Aptitude, learning, and instruction, 3(1987), pp.223-253.
Mullins, P. M., & Conlon, M. Engaging students in programming fundamentals using Alice 2.0. In Proceedings of the 9th ACM SIGITE conference on Information technology education 2008, October. (pp. 81-88). ACM.
Prensky, M. (2005). " Engage Me or Enrage Me": What Today's Learners Demand. Educause review, 40(5), 60.
Rais, Aimi Elliyana, Shahida Sulaiman, and Sharifah Mashita Syed-Mohamad. "Game-based approach and its feasibility to support the learning of object-oriented concepts and programming." Software Engineering (MySEC), 2011 5th Malaysian Conference in. IEEE, 2011.
Reynolds, G.S. A primer of operant conditioning. 1975
Siang, A.C. and Rao, R.K, December. Theories of learning: a computer game perspective. In Multimedia Software Engineering, 2003. Proceedings. Fifth International Symposium on 2003 (pp. 239-245). IEEE.
Tang, S., & Hanneghan, M. (2014). Designing educational games: a pedagogical approach. Gamification for Human Factors Integration: Social, Education, and Psychological Issues: Social, Education, and Psychological Issues, 181.
Tulving, E. Elements of episodic memory. 1985.
Vahldick, A., Mendes, A.J. and Marcelino, M.J. A review of games designed to improve introductory computer programming competencies. In Frontiers in Education Conference (FIE), 2014 IEEE (pp. 1-7). IEEE.
Wong, Y. S., Hayati, M. Y. M., & Tan, W. H. (2016, September). A Propriety Game-Based Learning Game as Learning Tool to Learn Object-Oriented Programming Paradigm. In Joint International Conference on Serious Games (pp. 42-54). Springer International Publishing.
Wong, Y. S., & Tan, W. H. (2016, October). Examining Effectiveness of Learning Object-Oriented Programming Paradigm Through Propriety Game-Based Learning Games. In European Conference on Games Based Learning (p. 796). Academic Conferences International Limited.
Wong, Y. S., Yatim, M., Hayati, M., & Tan, W. H. (2014, April). Use computer game to learn Object-Oriented programming in computer science courses. InGlobal Engineering Education Conference (EDUCON), 2014 IEEE (pp. 9-16). IEEE
Copyright Academic Conferences International Limited Oct 2017