CS 730/830: Introduction to Artificial Intelligence
Professor Wheeler Ruml
TA Steve Wissow
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 2025, the class will meet Tuesdays and Thursdays 8:10-9:30am
and recitations will meet 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.
Handouts
Assignments
Generic submission instructions for all assignments are
here.
Bug reports and suggestions regarding assignments are always
appreciated.
Lectures
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.
- Asst 5: handout,
reference solution,
test harness,
harness info,
tiny data,
real data
- Asst 4: handout,
reference solution (only does vi),
simulators and worlds
- Asst 3: handout,
sample input,
validator,
reference milestone solution,
reference solution.
- Asst 2: handout,
cnf converter,
sample input,
validator,
reference solution
- Asst 1: handout,
milestone validator,
final validator,
reference solution,
world generator,
sample worlds
Old Lectures from Spring of 2012
These lecture videos and slides are from spring of 2012.
- Part 1,
Intro: video, slides: agents
- Part 2, Combinatorial
Search: video,
slides: search, heuristics, CSPs, optimization, games
- Part 3, Certain
Knowledge: video, slides: propositional
logic, reasoning, first-order
logic, resolution, logic
in practice,
- Part 4,
Planning: video, slides: some practical
logics, planning, planning
graphs, regression,
POP, MDPs, solving
MDPs
- Part 5, Learning: video, slides: reinforcement
learning, scaling
RL, supervised
learning, decision
trees, more supervised
learning, unsupervised
learning
- Part 6, Uncertain
knowledge: video, slides: Bayesian
networks, more Bayes
nets, particle
filters, HMMs
- Part 7, Conclusion:
video,
slides: wrap-up
- Bonus: motion planning