CS 391 - Selected Topics: Game Artificial Intelligence
Course Information

Course Overview

Without assuming a prior introduction to Artificial Intelligence (AI), we will be covering the dominant lines of research thought behind todays most advanced game artificial intelligence.  In doing so, we will neither be mathematically rigorous (e.g. glossing over proofs), nor comprehensive (e.g. covering topics preceding or related to the main lines of thought).  Rather, guided readings are designed to bring the student most rapidly to the forefront of modern game AI practice as exemplified at the Computer Olympiad and conferences such as the "International Conference on Computers and Games" or "Advances in Computer Games".   While a broader, more comprehensive grounding would have greater utility, the goal of this course is to bring an advanced undergraduate Computer Science major most rapidly to the horizon of current research, able to comprehend key questions, implement best known algorithms, raise new questions, and create new outstanding computer players.

Learning Objectives


There is no text for this selected topics course.  Rather, we will be reading from a selection of freely available research articles and online texts.  It is especially important for students to keep up with assigned readings, as we will be tracing through lines of thought, and the structure of the readings will reflect such cumulative dependencies.


Todd Neller
Lecture: T,Th 10:00-11:15AM, Glatfelter 112
Office: Glatfelter 209
Office Hours:  Tu, Th 1-4PM or by appointment.  Note: Generally, feel free to drop in if my office door is open (i.e., most of the time beyond class).
Phone: 337-6643


80% Assignments
10% Quizzes / Exams
5% Colloquium Attendance
5% Class Attendance / Participation

You are responsible to know the material from each lecture and reading assignment before the start of the next class.  We may have some unannounced quizzes to maintain accountability.

Homework is due at the beginning of lecture on the due date.  Late homework will not necessarily be accepted.  Code must be a legal program in the relevant language in order to be graded.  (It need not be free from logic errors.)  For compiled languages, this means that the program must compile without error.  For interpreted languages, this means it must be interpretable without error.

You are required to attend 2 colloquia or approved departmental events over the course of the semester.  Class attendance and participation is required.  If you attend all classes and are willing to participate, you'll get 100% for this part of your grade.  Even if you know enough to give a particular lecture, please consider the value of helping your peers during in-class exercises.

Honor Code

Honesty, Integrity, Honor. These are more important than anything we will teach in this class. Students can and are encouraged to help each other understand course concepts, but all graded work must be done independently unless otherwise specified (e.g. group work). Submitted work should be created by those submitting it. Submission of plagiarized code or design work is a violation of the Honor Code, which I strictly enforce. For detailed information about the Honor Code, see http://www.gettysburg.edu/about/offices/provost/advising/honor_code/index.dot.

What is permitted:

What is not permitted:

Put simply, students may discuss assignments at an abstract level (e.g. specifications, algorithm pseudocode), but must actually implement solutions independently or in permitted groups. Credit should be given where credit is due. Let your conscience be your guide. Do not merely focus on the result; learn from the process.