Project "Computer Games in the Classroom"
(scroll down for publications)
The Department of Computer Science at the University of Southern California created a Bachelor's Program in Computer Science (Games) and a Master's Program in Computer Science (Game Development), which not only provide students with all the necessary computer science knowledge and skills for working anywhere in industry or pursuing advanced degrees but also enable them to be immediately productive in the game-development industry. They consist of regular computer science classes, game-engineering classes, game-design classes, game cross-disciplinary classes and a final game project. See Zyda and Koenig, Teaching Artificial Intelligence Playfully, Proceedings of the AAAI-08 Education Colloquium, 2008 for more information. The undergraduate and graduate versions of the "Introduction to Artificial Intelligence" class at the University of Southern California are regular computer science classes that are part of this curriculum. We have developed game projects for them because games motivate students, which we believe increases enrollment and retention and helps us to educate better computer scientists.
Artificial intelligence becomes more and more important for computer games, now that games use graphics libraries that produce stunning graphics and thus no longer gain much of a competitive advantage via their graphics capabilities. Many games need trajectory-planning capabilities and thus use search algorithms. Some games already use machine learning or planning algorithms. For example, "Black and White" uses a combination of inductive learning of decision trees and reinforcement learning with neural networks, and "F.E.A.R" uses goal-oriented action planning. Thus, games can be used to illustrate many areas of artificial intelligence.
It was tempting for us to use a publicly available game engine throughout the class and then ask the students to perform several projects in it, such as a search project to plan the trajectories of the game characters and a machine-learning project to allow them to adapt to the behavior of their opponents. However, students familiar with game development already have plenty of exposure to game engines while students not interested in game development do not need the additional overhead. To put all students on the same footing and allow them to concentrate on the material taught in class, we decided to go with several small projects that do not need large code bases.
If you are using any of our projects in your class or have any questions, comments or corrections, please send us an email at email@example.com. We will use this webpage to release additional projects and post updates, errata and supporting material. If there is sufficient interest, we will create sample solutions for teachers at accredited colleges and universities.
The first non-USC course to adopt one of our projects was Artificial Intelligence (CS 482/682), taught by Konstantinos Bekris at the University of Nevada at Reno. Konstantinos reported that the students loved the project. The second non-USC course to adopt one of our projects was Intelligent Systems: Robots, Agents, and Humans (CAP6938), taught by Gita Sukthankar at the University of Central Florida. The third non-USC course to adopt one of our projects was "Principles of Autonomy and Decision Making" at Massachusetts Institute of Technology.
Our projects were also selected as EAAI Model AI Assignments. You can find many other Model AI Assignments in the Model AI Assignment Project Archive.
Representative Overview Publications
Some of this material is based upon work supported by the Fund for Innovative Undergraduate Teaching at the University of Southern California.
If you have comments on any of these papers, please send me an email! Also, please send me your papers if we have common interests.
This page was automatically created by a bibliography maintenance system that was developed as part of an undergraduate research project, advised by Sven Koenig.
Research on Computer Games
Home Page of Sven Koenig