The goal of this class is to help you learn how to build intelligent software. We'll cover concepts and algorithms in areas such as agent architecture, combinatorial search and decision making, knowledge representation and reasoning, planning, reasoning under uncertainty, and learning. You should already be a fluent programmer (as from CS 671), understand common data structures, and be familiar with basic complexity analysis and big-O notation.
In spring of 2012, we will meet for lecture on Mondays and Wednesdays, 1:10-2:30pm in Kingsbury N133, and for recitation on Fridays, 1:10-2:00pm, also in Kingsbury N133.
Bug reports and suggestions regarding assignments are always appreciated.