There has been an active movement towards fun learning, using games in education. This article introduces the text-based serious game “Rise of the Java Emperor” that aims to support students in learning basic object-oriented programming concepts using Java. Information concerning the analysis, the design and the pilot evaluation of the game is presented. Thirty-three undergraduate and postgraduate students of an Applied Informatics Department voluntarily played and answered a questionnaire based on the MEEGA+ model, in order to investigate the perceived player experience and short-term learning as well as the acceptance of a text-based programming game by students. The results of the evaluation show that text based games can be both fun and instructional for the field of computer programming. An important issue that requires further research is how this or other programming games can be successfully combined with traditional teaching methods for enhancing the learning of programming.
The paper introduces Verificator, our learning programming interface aimed for learning programming in C++ at the university beginners' level. In teaching programming some specific problems concerning the teaching itself as well as the organization of the teaching process need to be considered. One of the biggest problems is that students tend to adopt certain bad programming habits in their attempt to more easily deal with their examinations, such as trying to write programs without any syntax and logical checking. It is very hard to help them correct those errors once they are deeply rooted. Our students' web questionnaire and its results show that the majority of problems in learning programming among our students arise from the gap between the understanding of programming language syntax and problem-solving algorithms. Verificator prevents students from making a lot of errors they are likely to make in learning programming and helps them to learn programming language syntax and adopt good programming habits.
This paper presents an approach for educators to evaluate student progress throughout a course, and not merely based on a final exam. We introduce progress reports and describe how these can be used as a tool to evaluate student learning and understanding during programming courses. Complemented with data from surveys and the exam, the progress reports can be used to build an overall picture of individual student progress in a course, and to answer questions related to how students (1) understand program code as a whole, (2) understand individual constructs, and (3) perceive the difficulty level of different programming topics. We also present results from using this approach in introductory programming courses at secondary level. Our initial experience from using the progress reports is positive, as they provide valuable information during the course, which most likely would remain uncovered otherwise.