Applications built for undergraduate programming assignments are typically single-user systems, of which the programmer is also the sole user. Real-world information systems differ from this scenario in a number of ways. In particular, they are usually client-server systems within which many users concurrently access the same data. In order to illustrate for our students the benefits and pitfalls of multi-user systems based around a shared database, we asked them to build a simple massively-multiplayer online role-playing game (MMORPG) which stored game-world and player state in a relational database. We provided students with a graphical client written in Visual Basic. As players moved about the game world, interacting with objects and other players, their client programs called procedures in the central database to update game state accordingly. The students’ task was to implement database tables and procedures that allowed the clients to work. The system’s client-server architecture resembled that of commercial information systems and often occasioned concurrent access to data. In this paper we describe the system, the students’ experience of building it, and our perception of its pedagogical pros and cons.
[1]
Ron Weber,et al.
Ontological foundations of information systems
,
1997
.
[2]
Lynn Andrea Stein,et al.
Challenging the Computational Metaphor: Implications for How We Think
,
1999,
Cybern. Syst..
[3]
Richard R. Weber.
Ontological Foundations of Information Systems: Coopers and Lybrand
,
1997
.
[4]
Christopher D. Hundhausen,et al.
Integrating algorithm visualization technology into an undergraduate algorithms course: ethnographic studies of a social constructivist approach
,
2002,
Comput. Educ..
[5]
James Turner,et al.
Technologies For Building Open-Source Massively Multiplayer Games
,
2002
.