Game2learn: A study of games as tools for learning introductory programming concepts (original) (raw)
Related papers
Development of a Serious Game to Assist in Teaching Programming in Introductory Courses
International Journal Of Engineering Research And Development, 2024
The increasing difficulty students face when learning programming logic has led to high rates of retention and dropout in introductory technology courses. To address this challenge, we developed a serious game designed to facilitate the learning of programming logic through an engaging, immersive experience. The game incorporates a non-linear learning approach, allowing students to progress at their own pace and revisit specific topics as needed. This flexibility supports students who may struggle with linear course structures, helping them to reinforce key concepts without feeling constrained. Additionally, the game employs a training and reuse model, enabling learners to continuously practice programming logic by returning to the game for further exercises. With cross-platform compatibility, the game can be compiled and deployed on various operating systems, making it accessible to a broad range of students. Preliminary results suggest that the game effectively aids students in mastering fundamental programming logic, potentially reducing dropout rates in technology courses and strengthening foundational skills.
Fostering Programming Practice through Games
Information
Loss of motivation is one of the most prominent concerns in programming education as it negatively impacts time dedicated to practice, which is crucial for novice programmers. Of the distinct techniques introduced in the literature to engage students, gamification, is likely the most widely explored and fruitful. Game elements that intrinsically motivate students, such as graphical feedback and game-thinking, reveal more reliable long-term positive effects, but those involve significant development effort. This paper proposes a game-based assessment environment for programming challenges, built on top of a specialized framework, in which students develop a program to control the player, henceforth called Software Agent (SA). During the coding phase, students can resort to the graphical feedback demonstrating how the game unfolds to improve their programs and complete the proposed tasks. This environment also promotes competition through competitive evaluation and tournaments among S...
A holistic framework for the development of an educational game aiming to teach computer programming
Computer science is gradually changing, evolving and adapting according to the needs of each time period by incorporating the technological developments available. However, despite the occurring changes and the current progress in the domain, computer programming is still a vital chapter within computer science, and its teaching remains a difficult endeavour. On the other hand, students have changed the way with which they learn, interact with and search for knowledge. They spend significant amounts of their everyday lives from a very young age interacting with the computers by playing games. Thus, they are used to environments with impressive special effects and graphical interfaces where they have full control of the situation and interact with the environment's elements. Therefore, today's teachers are trying to connect computer programming learning with students' everyday usage of the computer, which does not include simple textual editors for programming lines of code with no other interaction functionalities. Hence, teachers face the challenge of incorporating environments that are similar to students' existing mentality and of creating tasks and assignments that can be executed within these environments and can provide students with the necessary programming knowledge and skills. A number of software solutions were developed towards facing the aforementioned difficulties. They can be classified into three main categories, namely educational programming environments, microworlds and educational games. Educational games used in computer programming courses are considered to present added value, due to their ability to motivate students towards actively participating in the learning process and to support high levels of interaction, group work and critical thinking. Thus, we have developed an educational game that aims to further enhance computer programming education by addressing occurring problems. This paper aims to introduce and elaborate on a holistic framework that has been constructed as a guide towards the development of this game. To this end, we collect documented difficulties identified in computer programming learning and teaching and study existing frameworks that have been proposed for the development of software solutions for computer programming courses and for the development of successful serious games that do not however focus on computer programming education. This information is thoroughly studied and refined and results in the proposed framework that could also be employed for the design and development of other future educational games focusing on computer programming education.
A Serious Game for Developing Computational Thinking and Learning Introductory Computer Programming
Procedia - Social and Behavioral Sciences, 2012
Owing to their ease of engagement and motivational nature, especially for younger age groups, games have been omnipresent in education since earliest times. More recently, computer video games have become widely used, particularly in secondary and tertiary education, to impart core knowledge in some subject areas and as an aid to attracting and retaining students. Academics have proposed a number of approaches, using games-based learning (GBL), to impart theoretical and applied knowledge, especially in the computer science discipline. Our research is concerned with the design of an innovative educational game framework focused on the development of Computational Thinking (CT) skills, and herein we introduce a serious game, based on our framework, which encourages the development of CT skills to facilitate learning introductory computer programming. We describe how a limited number of key introductory computer programming concepts have been mapped onto the game-play, and how an equivalent set of skills characterising CT can be acquired through playing the game. A survey response group of 25 students, following computer science and related degree programmes but with very diverse backgrounds and experience, provided initial usability feedback on the game. Their feedback confirmed that they found the game enjoyable, and also universally believed that this approach would be beneficial in helping students learn problem-solving skills for introductory computer programming. Feedback from this group will be incorporated in a revised version of the game, which will now be subject to rigorous experimental evaluation and analysis, to provide structured empirical evidence in support of our approach.
Experimental evaluation of an educational game for improved learning in introductory computing
ACM SIGCSE Bulletin, 2009
We are developing games to increase student learning and attitudes in introductory CS courses. Wu's Castle is a game where students program changes in loops and arrays in an interactive, visual way. The game provides immediate feedback and helps students visualize code execution in a safe environment. We compared the game to a traditional programming assignment in an introductory CS course. In our study, half of the students were randomly selected to play the learning game first and half to write a program first. Our results show that students who play our learning game first outperform those who write a program before playing the game. Students in the game-first group felt they spent less time on the assignments, and all students preferred the learning game over the program. These results suggest that games like Wu's Castle can help prepare students to create deeper, more robust understanding of computing concepts while improving their perceptions of computing homework assignments.
Game design based learning of programming
2019
We will present game-based learning and the use of game design as a method for teaching programming in primary and secondary schools in the paper. A lot of knowledge about game-based learning in general was collected in the last decade, but very few information and resources can be found on how to use game design as a method for teaching programming. We have made an extensive study of different approaches to game design-based learning with special emphasis on learning programming for novice programmers. The results will be used as a foundation for the development of methodology in the Eras-mus+ international project Coding for Girls. This project addresses open and innovative education and training embedded in the digital era by targeting programming skills that are high in demand in a technology driven society. The project also aims at addressing the gap between male and female participation in computer science education by introducing early methodological learning interventions that make computer programming attractive for girls and boys.
Learning computer programming through game playing
2012
In this paper we present an approach for teaching and learning Computer Programming through Game playing. This activity is intended to complement traditional teaching of concepts. The focus is on building program comprehension rather than program generation. In playing the game, students improve their ability to read and understand a program written in a specific language and to follow the logic in a program. They build speed in comprehension, as is required in learning any language. To win the game, students have to play certain steps repeatedly, using different strategies, and with time constraints. This repetitiveness reinforces learning. Once they master the basic elements of a program, they will experience less frustration in coding solutions for more challenging problems. The preliminary results with students using this gaming activity are encouraging.
Games as a motivation for freshman students to learn programming
34th Annual Frontiers in Education, 2004. FIE 2004., 2004
Programming is a difficult skill to acquire. It is best learned by practice and, if students are to learn effectively, at least some of this practice will have to be self-directed. Instructor's key role is to persuade our students to do this and thus to motivate them. In the past, our students identified programming as a vital skill in demand by industry. Consequently they were motivated to acquire a useful skill that would be relevant in some future job or lucrative career. Nowadays, our WEB age students have no idea why they have to study programming. Programming courses are seen simply as mandatory parts of the degree course to be negotiated. Their world of computing is multithreaded computer programs with impressive human interfaces for games and WEB. They cannot relate them with the classical programming exercises that ask for single-threaded programs performing a sequence of calculations. Given this, we decided to introduce our students in problem solving using what they view as real-world problems such as games and WEB-programming.
CONNECTING TO PROGRAMMING THROUGH GAMES
International Journal of Scientific & Engineering Research Volume 9, Issue 6, J, 2018
~ Code combat is an innovative gamification approach that focuses on teaching and learning coding and programming by writing programs for the game code editor to control the game object. The purpose of this paper is to illustrate how code combat can be used to teach JavaScript programming language courses to young ones with little or no coding experience. Because programming is perceived by the vast majority of people as a difficult concept to learn, the paper provides a structure for integrating Code Combat sessions into class activity to better illustrate the programming concept. The main concepts of programming, coding, and the general syntax of Javascript programming language is what Code Combat will help impart to the student. This paper provides 10 basic steps in preparing a course outline that gives teachers and researchers ways to implement code combat in education curricula, breaking it into levels that meet the topics of the programming language JavaScript.