CS 730/830: Introduction to Artificial Intelligence

Professor Wheeler Ruml
TA Bence Cserna

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 or ML), understand common data structures (like trees, hash tables, and heaps), and be familiar with basic complexity analysis (big-O notation).

By taking a one-credit CS 696W alongside this class, it can be used as a writing-intensive class.

The class will next be offered in spring of 2018, and is planned to be offered every spring semester after that. Very likely to be Tuesdays and Thursdays 11:10-12:30, with recitations Fridays 11:10-noon, all in Kingsbury N113, but check the official course schedule to confirm.



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