Abstract

There is an increasing interest in providing Computer Science (CS) instruction to a wider sector of the population. On the one hand, it would be convenient to include CS instruction in higher education beyond engineering disciplines, since CS has become a powerful catalyzer for development of society, and therefore the need for a workforce with solid CS background is growing. On the other hand, it would be beneficial to bring CS instruction to primary and secondary education, used as a vehicle to increase interest in CS and capture talent for STEM disciplines from early stages. However, successful delivery of CS instruction to a wide audience is a challenge. Game-based learning is one of the most promising approaches at the moment, since they have the power to appeal to wider audiences. In this paper we identify the need to find more scalable game-based instruction paradigms that can be easily adapted to variable levels of complexity and contents related to CS. We present a flexible and scalable game architecture, and a game model to create videogames for learning CS languages, along with a game engine developed as a reference implementation. The game model focuses on level-based games where the student has to introduce short text fragments or programs to solve each of the levels. This game model is consistent to others found in the literature (Scratch, Logo, etc.) that have proven it effective, since it allow students to discover programming in a self-exploratory way, using their own intuition and learning from their mistakes. Our approach is scalable because (1) it separates the CS language used to write the programs from the game design, allowing reusing the games with different CS markup or programming languages; and (2) it provides a system of levels that allows incremental learning of CS language structures. The approach was tested by developing "Lost in space", an educational game for learning XML. In this game, students control a spaceship, and their goal is to reach a safe point in each of the levels. They provide instructions to the ship with short programs that they write using XML-based instructions. At the beginning students can use a small set of instructions. As they master these types of instructions, new ones become available, supporting in this manner scaffolded learning. The game was tested with undergraduate students from computer science and social sciences, by comparing it with traditional instruction (i.e. lecture). Students who played the game were much more engaged than those who attended the lecture, showing a more active attitude along the whole experience and also spent more time practicing after class. Findings also suggest that the game was effective for instruction regardless of the background of the students. However, the educational gain observed with the game-based instructional approach, even effective, was not significantly higher than traditional instruction. We think that our approach is adequate to introduce CS languages in general, as well as new programming languages.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call