Could not download file: This paper is available to authorised users only.


M. Meyer1, J. Fendler2

1University of Applied Sciences Gelsenkirchen (GERMANY)
2Polytechnic of Namibia (NAMIBIA)
Foundational software engineering skills such as numerical mathematics, algorithm design and programming are often taught as disjunct courses in many undergraduate computer science programmes. While those and other skills have to be combined in order to develop suitable solutions, such combination often only takes place in advanced courses where larger projects have to be completed and evaluated in groups.

In this paper we are proposing the PrimeGame as a novel game-based programming tool which combines a wide variety of computer science skills in a small and manageable environment.

The PrimeGame is a two-player board game, based on a very simple set of rules, but not fully-enumerable and thus not to solve with pure computational power. Students are required to implement autonomous players for the game, in an attempt to model their own ideas on how to play the game best and eventually beat the opponent. All submitted players will finally compete against each other in a tournament setting. As a simple player interface is provided, as is a comfortable and fully functioning testing environment, students don't have to care about the game engine, GUI components, or any other advanced aspects. They can instead focus on the design of suitable algorithms, as well as syntactically correct implementations thereof.

In developing PrimeGame players, students are very early exposed to a combination of skills as will become necessary in every major computer science project: initial ideas and intuitive algorithms, studies of potentially more performant solutions in literature, formal representations and implementation in a programming language, and the evaluation and testing cycle are all combined in a game project that can be completed within a few weeks time.

In the past we have witnessed an increased student interest in the subject matter, as well as a lot of fun among participating students as well as guests in the final public tournament.

Moreover, as over the last years the PrimeGame approach has been used and evaluated in undergraduate CS courses both in Europe and Africa, it also demonstrated different cultural attitudes towards competitive learning.

The PrimeGame testing environment as well as the interactive graphical tournament framework including various on-line board presentations and ranking schemes are currently implemented as a Java project, thus student's players can easily be provided as Java classes. A common interface for players developed in other programming languages is available as well.

While so far we have focused on undergraduate aspects of the PrimeGame, we are currently looking at advanced concepts which could be taught similarly well in graduate and post-graduate programmes. These include autonomous and co-operative agents, advanced data structures and algorithms, artificial intelligence and advanced numerical methods.