At 21st century Computational Thinking (CT) is considered a fundamental skill that anyone should possess and develop from a young age. Serious games and more specifically educational games (EGs) are a promising means of introducing algorithmic thinking and programming concepts and engaging students through the process of learning. In this article, a new EG called BlocklyScript is presented. BlocklyScript aims to help students develop their CT by learning basic programming concepts, designing algorithms and correcting mistakes. During the designing phase different EGs were taken under consideration and an EG design framework was followed in order to provide a better user experience. The game was evaluated by 10 experienced computer science educators of primary and secondary schools. The positive results of this pilot evaluation show that BlocklyScript is expected to help students understand the basic concepts of CT. However, the game should be evaluated by more teachers and students in order to provide future researchers with safe results.
Since pair programming appeared in the literature as an effective method of teaching computer programming, many systems were developed to cover the application of pair programming over distance. Today's systems serve personal, professional and educational purposes allowing distributed teams to work together on the same programming project. The current research focuses in distributed pair programming systems which are suitable for supporting students in learning computer programming. Systematic review of publicly available systems revealed that there is an absence of effective collaboration support for the students. The main drawbacks of pair programming, such as uneven workload distribution and infrequent role switches, cannot be addressed with available systems. While building an enhanced version of a distributed pair programming system, successful instructional strategies in similar collaborative learning systems were explored, in order to improve students' interactions when applying pair programming over distance. As a result, the new system allows students to practice distributed pair programming in the form of collaboration scripts. This paper presents the features and the underlying concepts of the system, and the results of its first evaluation. The study showed that distributed pair programming attracted positive feedback from students, and that scripted collaboration affected students' engagement in programming, and resulted in an evenly distribution of learning objectives among pairs.
Games for learning are currently used in several disciplines for motivating students and enhancing their learning experience. This new approach of technology-enhanced learning has attracted researchers' and instructors' attention in the area of programming that is one of the most cognitively demanding fields in Computer Science. Several educational, or else serious, games for learning programming have been developed and the first results of their evaluation as a means of learning are quite positive. In this paper, we propose using arcade games as a means for learning programming. Based on this approach students first play a simple game, such as Snake or Tetris, study its code and then extend it. In a pilot study carried out in the context of an undergraduate programming course, students studied the source code of the well-known game Snake and extended it with new functionalities. The analysis of students' replies in a questionnaire showed that using arcade games as a means of learning programming concepts enhances students' motivation for learning programming, supports them in comprehending complex concepts and engages them in carrying out programming activities.