643 Designing Computer Games to Introduce Programming to Children Jaspaljeet Singh, Ling Leong Wei, Mohana Shanmugam, Saraswathy Shamini Gunasekaran, Siva Kumar Dorairaj Universiti Tenaga Nasional (UNITEN) 43009 Kajang, Selangor, Malaysia. {Jaspaljeet, GT074258, Mohana, Sshamini, Sivakumar}@uniten.edu.my Abstract Learning programming languages especially the first programming language is generally known to be a challenging task to most learners. It takes a long time to understand and master programming. We strongly believe that programming should be taught in stages to children at early age in efforts to turn them into experts in the future. Educational games provide a unique opportunity for integrating the cognitive, affective, and social aspects of learning. Since, learning programming is a complex subject matter, we could exploit games as means to introduce programming to children. This paper discusses how game could be used as a mechanism to introduce basic programming principles to children between the age of 5 to 7 years old. A simple 2D game prototype consisting of 7 different scenarios is being developed. Each of the scenarios covers the fundamentals of computer programming such as variables, data type, arithmetic operators, comparison operators, and operator precedence. Just like most of the game in the market today, this game is built with a storyline, rules, challenges and a reward system. 1. Introduction Many definitions of the term game exist. Games are based on the concept of fun [8]. A game is a free activity, outside ordinary life, with no profit. It has rules and a defined way of progressing. It may possess social groupings that cloak themselves in secrecy to stress their difference from the common (real) world [5]. There are several classifications of games i.e. board games, computer games, video games, athletic games, and educational games. Educational games are games that have been specifically designed to teach people about certain subject, expand concepts, reinforce development, understand an historical event or culture, or assist them in learning a skill as they play. Among the many categories of games, lots of research effort is concentrated into the utilization of existing games or development of new educational games to improve the learning of specific subject matters. There are three different approaches for the use of and research in educational games: 1) students build games to learn about the process of game development; 2) educators build games to teach students some content 3) integration of commercial off-the-shelf (COTS) games into the curriculum [12]. Of these three, choice two holds the greatest promise for education because it allows for the merging of sound pedagogy with entertainment and engagement [12]. This research paper focuses on the development of an educational game to introduce computer programming to children. Learning to program is not easy. There are five overlapping domains and potential sources of difficulty that must be mastered [3]. These are: (1) general orientation - what programs are for and what can be done with them; (2) the notional machine – a model of the computer as it relates to executing programs; (3) notation – the syntax and semantics of a particular programming language; (4) structures – the schemas/plans as discussed above; (5) pragmatics – the skills of planning, developing, testing, debugging and so on [3]. Hence, it is apparent that the process of learning programming is a very complex cognitive task that can be very imposing on children since it requires a lot of effort from them. Consequently, they need a lot of motivation to cope with it. In view of this, it is within the benefit of education to create an educational game that is interesting and stimulating for children. 2. Why introduce programming to children? Proceedings of the 4 th International Conference on 17 th – 19 th November 2008 Information Technology and Multimedia at UNITEN (ICIMU’ 2008), Malaysia