Curriculum descant: pedagogical dimensions of game playing

or pedagogical effectiveness, very few topics capstone the AI/Computer Science experience for a student like a programming exercise in game playing. Game playing is one of the oldest AI topics, and yet it is worth revisiting in the context of a three-to four-week programming exercise in a one-semester course. To begin, the choice of the game to be implemented should lie somewhere between tic-tac-toe and chess, the former being trivial to play and the latter perhaps too complicated for a short assignment. I have had moderate success with versions of checkers. The choice of game is important for most of the dimensions discussed below; it should be any game that is amenable to the two-person, zero-sum game algorithms. It should be a non-trivial , even largely unfamiliar game. It should also allow the possibility for students to think about, develop, and implement heuristics. There are several pedagogical dimensions that such an exercise could facilitate. First and foremost, such an exercise serves as a big motivating factor. The typical undergraduate these days has grown up playing video and computer games. This would more than likely be his or her first " behind the scenes " exposure to how such games may be built. That in itself serves to encourage curiosity and motivate the student to put a good amount of effort into the exercise. Add to that the freedom to explore and design the student's own heuris-tics that would characterize the game as his or her own creation. If planned ahead of time, the completion of the exercise could culminate in a tournament where not only the students' programs, but they themselves may also play in it. While I have seen courses where similar tournaments were held, most involve programs playing against programs. However, inserting the students (or other human recruits) into the tournament brings about the " human against machine " angle and serves to contextualize the tournament in an AI course. There is also the computer science dimension. In not-so-large departments where faculty resources are stretched, there are often concerns over offering elective courses like AI. However, just in the context of a game-playing programming assignment, there is potential for putting together several aspects of a student's preparation in computer science. For a non-trivial game, the amount of programming expertise required could serve challenging to most students. They have to design data structures (class descriptions for the OOP types), …