Current Catalog Description

Contemporary computer games: techniques for implementing the program controlling the computer opponent; using Artificial Intelligence in contemporary computer games to enhance the gaming experience: pathfinding and navigation systems; group movement and tactics; adaptive games, game genres, machine scripting language for game designers, and player modeling. Credit will not be given for both CSE 348 and CSE 448. Prerequisite: CSE 327 or CSE 109.


"AI Gaming Programming Wisdom Series", Steven Rabin, Charles River Media


"Game Programming Gems 2" (Game Programming Gems Series), Vol. 1, Mark DeLoura


Students will have:

  1. Experience programming game AI with Finite State Machines
  2. Experience programming game AI for team-based Game AI
  3. Experience programming game AI for real-time strategy games
  4. Experience programming game AI for arcade games
  5. Understaning of wide range of issues for game AI


CSE 348 substantially supports the following program outcomes (in parenthesis I describe the course outcomes that support the program outcomes):

  • An ability to design, implement, and evaluate a computer-based system (supported by course outcomes 1,2,3, and 4).
  • An ability to use current techniques, skills, and tools necessary for computing practices (supported by course outcomes 1,2,3,and 4).
  • An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices (supported by course outcome 5).
  • An ability to apply design and development principles in the construction of software systems of varying complexity (supported by course outcome 5).

Prerequisite by Topic

  • Good programming skills
  • Understanding of basic notions of moder AI

Major Topics Covered in the Course

  • Finite State Machines to create game AI
  • Game AI for team-based games
  • Game AI for real-time strategy games
  • Game AI for arcade games
  • Basic AI techniques to create game AI
  • Path finding topics for game AI

Assessment Plan for the Course

The students are given 4 programming projects; one for each of the first four course outcomes. There is a final exam which tests the fifth course outcome.

How Data in the Course are Used to Assess Program Outcomes:(unless adequately covered already in the assessment discussion under Criterion 4).

Each semester I include the above data from the assessment plan for the course in my self-assessment of the course. This report is reviewed, in turn, by the Curriculum Committee.