CS 730/830: Introduction to Artificial Intelligence

Professor Wheeler Ruml
TA Devin Thomas

The goal of this class is to help you learn how to build intelligent software. We'll cover concepts and algorithms from perception (learning about the world from data), through planning (deciding what to do), all the way to acting (actually doing something). Along the way, we'll see topics in knowledge representation (how to represent what we know), learning (how to get better), and agent architecture (how to organize all this).

You should already be a fluent programmer in a high-level language (like Java, C++, Scala, or Rust), understand common data structures (like trees, hash tables, and heaps), and be familiar with basic complexity analysis (big-O notation). Contrary to the restriction listed in the course catalog, students outside CEPS who meet these prerequisites are welcome - just talk to me about getting a waiver.

In spring 2024, the class will meet Tuesdays and Thursdays 8:10-9:30am and recitations met Fridays 3:10-4pm, all in Parsons N114. The class is expected to be offered every spring for the foreseeable future.

Here are the raw student reviews from 2023.



Generic submission instructions for all assignments are here.

Bug reports and suggestions regarding assignments are always appreciated.


I'll try to post links to lecture slides, but no guarantees that I'll have them up before you need them!

Other resources

Old Assignments from Spring of 2015

The binaries are for x86 Linux. They are 32-bit, but seem to run fine on 64-bit systems.

Old Lectures from Spring of 2012

These lecture videos and slides are from spring of 2012.

Valid HTML 4.01 Transitional