have been integrated into C Rocks, an Android game that has been ... Android platform and the new curriculum in the UK .... Last Accessed: 19th March 2014.
SCARP 2014
Game Based Learning of C Programming on the Android Platform: Pedagogical Approaches and Learning Styles Stuart Perks stuart.m.perks @gmail.com
ABSTRACT Game based learning has begun to impact educational institutions across the world. With the increased availability of mobile devices, educational games have the potential to become a major tool for learning. This paper compares and contrasts the different pedagogical approaches and learning styles and discusses how they have been integrated into C Rocks, an Android game that has been developed to teach C programming. Recent technical advancements for mobile devices have enabled opportunities to develop complex games on them. Commonly, games are often used outside of the classroom therefore game based teaching has not been successfully integrated into many educational institutions. Academic papers, books, web sites and news reports were used to understand the needs of education in computer science, the current research for game based learning and the methods used for teaching programming. C Rocks combined many pedagogical approaches and learning styles, to create a complete learning tool rather than just an entertaining game. 1.
INTRODUCTION
Teaching programming is a well-researched and discussed topic. This paper will discuss the methods used for teaching and learning, stating how they have influenced and have been integrated into C Rocks. C Rocks is the game developed that teaches C programming targeted at the age group of 12 years and older. Figure 1 is a sample image from the game. In the United Kingdom (UK) a new computing curriculum is replacing the current I.C.T curriculum [1]. The new curriculum, stated by Michael Gove the secretary of state education, means children will learn to program from the age of five. Increased resources and methods for teaching programming will allow students to have more options in the way they learn. Multiple learning resources may increase motivation to overcome the challenge of learning programming. Computer programming is closely allied with mathematics and considered to be a science. It has been documented that in the United States of America (USA) the teaching of science has changed from a behaviourist approach to a constructivist one through the 20th century
Proc. 13th School Conf. for Annual Research Projects School of Systems Engineering University of Reading ©2014 SCARP
[2]. Behaviourism is teacher led in which the learner would respond from stimuli to test their knowledge [2].
Figure 1. C Rocks Constructivism is a student lead approach in which the student is active in his or her own learning and seeks out the answers from different knowledge sources [2]. Alternatively instructivism can be used it combines behaviourism, objectivism, and operant conditioning [4]; this approach has been extended from behaviourism. Operant conditioning is where the learner will use past experiences and their consequences to learn and objectivism is where the teacher is the only source of knowledge [18]. A major proportion of today’s younger generation are said to have spent 10,000 hours playing computer games by the time they are 21 years old [10,13]. A common assumption is that today’s generation have a shortened attention span because they get instant results from technology rather than spend time searching for in depth answers and knowledge [11, 17]. People and particularly students of the digital age do not distinguish between information and knowledge, they simply find a quick answer through technology and do not interpret it [12]. However when people are playing games they can continue to concentrate for prolonged lengths of time rather than short bursts [10]. Technology has been seen to change the way that people learn therefore using games in the classroom would improve the learning experience the new generation of students [10]. An example game is ‘Age of Empires’ it can be seen as teaching history due to the historical correctness and player engagement in the games time zone. In this context the player will be enjoying the game, but
1
SCARP 2014
subconsciously take in information about the era it is set in and how people lived and survived [5]. A player solves complex problems and gains a deeper understanding when playing games; they have been seen to quickly understand all of the rules and tasks required using multiple sources within the game [10]. Educational establishments are now accepting games into the classrooms of younger students. In particular Finland where education is seen as play time [13]. Finland is ranked as the number one in the world for education, proof that this technique is having benefits [14]. China has signed an agreement to use the techniques and software being used in Finland [13] indicating that this technique is spreading across the globe. However not all parents and educators are convinced about using games in education, because of the common theme of violence in the top rated games [10]. C programming is an imperative language that has a relatively small amount of syntax; therefore learners can easily understand the fundamentals quickly and start programming [15]. Enabling learners to see the practicalities of the C language quickly keep motivation for learning it high. The concept of teaching C programming through a game, the accessibility of the Android platform and the new curriculum in the UK pushing computer science justified the project to create a mobile game that teaches C programming. Although for this concept to be a real educational tool it needs to use proven pedagogical approaches. 2.
LEARNING STYLES
Research has shown that people learn in four major ways visual, audio, reading/writing and kinaesthetic [7]. Visual learning is defined as knowledge gained by reading text or seeing diagrams and pictures. Audio learning is established during listening to people speaking or discussions. The reading and writing approach is a style where the learner reads text on the learning topic and makes notes. Kinaesthetic learning is a hands on approach where the learner absorbs knowledge through doing and demonstrating [7]. These four distinct styles can be combined; teaching methods should try and include all four to make sure that they are covering the most types of learning styles to give all users the best chance of learning. The Dunn and Dunn learning style model shows more specific attributes for learning focusing on environmental, emotional, sociological and psychological stimuli for the learner [6]. This section discusses the specific attributes and how they have been included in C Rocks to help many different types of learners. Environmental stimuli such as sound and light can be used to keep the learner involved and interacting with the game. The games screen is bright which will keep the learner focused on the game. Sounds are played to represent interaction and success in the game, keeping
2
the user stimulated and aware of their progress so that they remain motivated. Emotional elements of structure and motivation are satisfied in C Rocks. The levels focusing on specific topics of the C languages give the game structure, along with a consistent structure within each level including introduction, task and end of level test. The user is kept motivated by the game with the grading system it is considered that the user will compete with himself or with others to achieve the highest score and grade for each level. The sociological element of the Dunn and Dunn model covered in C Rocks is the single player and multiplayer modes [9]. This function enables people to interact and learn from each other, a method commonly used for social constructivism and connectivism. The integration of social media means that groups of people can be involved in the game and through discussion, share knowledge and ask questions to other players arriving at a group consensus of how best to proceed strengthening the cause to use connectivism in C Rocks. Mobility of the resource is important in learning to provide users with easy access. Android is currently the most popular mobile platform therefore the game is accessible to a large audience [8]. This constant availability will result in the learner having more opportunities to play and learn. Perceptual elements of learning include sound to stimulate the user and visual learning. C Rocks is designed to be a bright and enjoyable environment, visually pleasing the user, with learning content used within the game graphics to enhance the user’s visual learning experience. Kinaesthetic and tactile learning is a major part of C Rocks as the user is constantly touching the screen and controlling the player to complete the tasks. This hands on approach means that kinaesthetic learners will find it easy to learn through the game. The feedback and suggestions on the topics will give the learner time to reflect on their progress, this will also act as motivation when making progress. 3.
PEDAGOGICAL APPROACHES
Meeting the learning styles discussed will ensure that each user will have opportunities to learn in their preferred style. Proven pedagogical approaches have been researched such as constructivism that have influenced the design and have been integrated into C Rocks to further increase the chances of learning C programming successfully. Constructivism is a student centred approach to teaching where the student learns by taking initiative and exploring content and learning from it [3]. The constructivist approach was popularised by Seymour Pappert for teaching maths and science [3]. This approach works well when teaching programming as it means the learner will build up their own learning framework by taking control of their learning. Examples of methods used are code debugging or walkthroughs Proc. 13th School Conf. for Annual Research Projects School of Systems Engineering University of Reading ©2014 SCARP
SCARP 2014
with the students taking control of the activity [3]. In C Rocks constructivism influenced the design greatly. Drawing from the theories of constructivism, the player is actively seeking out the challenges and tasks of the level and completing them. The levels have extras that the user can explore such as the information nodes, and the testing teachers who will ask extra questions. Providing opportunities for the user to explore means they are making decisions about their learning and the content they want to find out. The end of level and teacher questions use the behaviourist approach to teaching where, once the learner has been provided with the programming facts, the question is the stimuli to the learner and the answer will see how well they react to it. This game will allow the user to have multiple attempts at the question but will reduce the score with each attempt adding incentive to get the answer correct with their first attempt. Three choices are given so if the user incorrectly guesses the answer they have a further step of thinking rather than just skipping on stating I got it wrong. The C Rocks game requires the user to complete tasks. This could be done simply by letting the user explore the level and try and work out the tasks following the constructivist approach, but this could be too much guesswork for the user and they will not make progress quickly enough reducing motivation. Resulting in the user just giving up on completing the game. Influenced by the instructivist method of teaching, instructions are given to the user to make obvious the tasks of each level. Learning through instructivism is the controlled display of text or graphical instructions for the user to follow [4]. This approach is necessary for the progress of the student, especially as the game will be used by children as young as 12 with only simple programming knowledge being taught to them. When playing C Rocks it is the only source of knowledge to the user, which is the objectivist approach. As C Rocks does not contain all the knowledge about C programming feedback is given that encourages the user to look at other sources to further their knowledge. Social constructivism is based on interaction with others who have knowledge based on their own experiences. The people that the learner interacts with can have similar or differing views to speak about. The multiplayer function of the game in which one player creates a map and then the second player programs their way around the map, will encourage learning with others who are also trying to learn C programming. It is considered, this interaction will share the knowledge of both players and will bring new knowledge to each. Connectivism is the concept of having a network of resources [16]. These resources are other people where the network is created usually online and knowledge is shared through their own websites or blog posts. In C Rocks a social media page is available on Facebook and accessed through the game. Therefore users of the game can interact with other users, building up a network of resources. Each user is encouraged to ask questions in Proc. 13th School Conf. for Annual Research Projects School of Systems Engineering University of Reading ©2014 SCARP
the group if they struggle with any of the content of C Rocks, meaning they have a network of connections for knowledge discovery. Using multiple teaching methods means that many of the learning styles detailed by Dunn and Dunn are covered in the game C Rocks. Therefore C Rocks should impact as many users as possible with C programming knowledge. The concept of the game and teaching C programming is only a small part of the whole process of learning the language. The game encourages the user to explore and research the topics further along with programming their own code, not just the programming within the game. 4.
CONCLUSION
A single teaching method may have not covered all of the common learning styles, therefore the combination of them used in C Rocks will help all the users who spend time on the game to learn efficiently in a style that suits them. C Rocks was influenced greatly by the teaching methods and learning styles researched. Without the use of teaching theories many of the learning styles would not have been satisfied and C Rocks may simply have been an enjoyable game, but lacking the depth required as a learning tool for the user. Further to this studies showing that game players gain a deeper understanding of the games underlying information proves that C programming knowledge can be extracted from C Rocks. With the change in curriculum in the UK making computer science a key part and the success of teaching using games in Finland, game based learning could be used in classrooms in the UK. Playing on C Rocks is entertaining and challenging while teaching the user the fundamentals of programming. This game based approach matches what young people enjoy as a hobby, resulting in an education that is no longer a chore but an interesting and interactive challenge. With the new curriculum in the UK and children learning to program at a younger age, C Rocks has the balance of enjoyment and knowledge that will encourage users to continue on with the challenge of learning to program. C Rocks has considered this new generation of young learners in the computer science field and embraces them, providing simple instructions and using simple language to convey tasks. As the game player progresses more advanced topics and an increased freedom of learning are provided to satisfy older more experienced users of the game, and set a challenge to the less experienced. Acknowledgement: The author would like to thank Dr Karsten Oster Lundqvist for his help and guidance throughout the project. Patrick Parslow for his feedback on the project. 5.
REFERENCES
[1] Michael Gove, “Education Secretary Michael Gove speaks to the BETT conference about how
3
SCARP 2014
technology and computing are changing education”. https://www.gov.uk/government/speeches/michaelgove-speaks-about-computing-and-educationtechnology, (January 2014). Last Accessed: 19th March 2014. [2] Reinders Duit, David F. Treagust, “Learning in Science – From Behavioursim Towards Social Constructivism and Beyond”, Kluwer Academic Publishers, 1998. Last Accessed: 19th March 2014. [3] Tom Wulf, “Constructivist Approaches for Teaching Computer Programming”, College of Applies Science, University of Cincinnati, Ohio, 2005. Last Accessed: 19th March 2014. [4] Peter McKenna, Ben Laycock, “Constructivist or Instructivist: Pedagogical Concepts Practically Applied to a Computer Learning Environment”, Manchester Metropolitan University, 2004. Last Accessed: 19th March 2014. [5] Bengona Gros, “Digital Games in Education: The Design of Games-Based Learning Environments”, University of Barcelona, 2007. Last Accessed: 19th March 2014. [6] Christian Wolf, “iWeaver towards 'learning style'based e-learning in computer science education”, RMIT University, 2002. Last Accessed: 19th March 2014. [7] William A Drago, Richard J. Wagner, “Vark Preferred Learning Styles and Online Education”, University of Wisconsin Whitewater, 2004. Last Accessed: 19th March 2014. [8] Android Developers, “Android the worlds most popular operating system”. http://developer.android.com/about/index.html, (2014). Last Accessed: 19th March 2014. [9] Teresa Dybvig, “Learning Styles”. Available: http://www.teresadybvig.com/learnsty.htm (2010). Last Accessed: 19th March 2014.
[11] Rob Weatherhead, The Guardian, “Say it quick, say it well – the attention span of the modern consumer”. http://www.theguardian.com/medianetwork/media-networkblog/2012/mar/19/attention-span-internet-consumer (2014). Last Accessed: 19th March 2014. [12] Marc Settle, BBC News, “Is computer use changing children?”. http://news.bbc.co.uk/1/hi/technology/7564152.stm (2008). Last Accessed: 19th March 2014. [13] Alex Hudson, “Angry Birds game fires into classrooms”. http://www.bbc.co.uk/news/technology-24228473 (2013). Last Accessed: 19th March 2014. [14] Sean Coughlan, “Education Sixth in global rankings”. http://www.bbc.co.uk/news/education20498356 (2012). Last Accessed: 19th March 2014. [15] Brian Kernighan, Dennis Ritchie, “C Programming Language”, Prentice Hall Software Series, Second Edition, 1988, pp 6. Last Accessed: 19th March 2014. [16] Frances Bell, 2010, “Network theories for technology-enabled learning and social change: Connectivism and Actor Network Theory”, Salford University. Last Accessed: 19th March 2014. [17] Elon University School of Communications, “Pew Internet Survey”. http://www.elon.edu/eweb/predictions/expertsurveys/2012survey/future_g eneration_AO_2020.xhtml (2012). Last Accessed: 19th March 2014. [18] Hallgeir Nilsen, Sandeep Purao, “Balancing Objectivist and Constructivist Pedagogies for Teaching Emerging Technologies: Evidence from a Scandinavian Case Study”, Journal of Information Systems Education Vol 16. Last Accessed: 19th March 2014.
[10] M.Prensky, “Digital Game Based Learning”, Games2Train, New York, 2003. Last Accessed: 19th March 2014.
4
Proc. 13th School Conf. for Annual Research Projects School of Systems Engineering University of Reading ©2014 SCARP