CSCI 3202
Artificial Intelligence

Tu, Th 12:30 - 13:45
ECCR 150


Professor Michael Mozer (
Department of Computer Science
Engineering Center Office Tower 7-41
(303) 492-4103
Office Hours:  W 11:30-12:30, Th 14:00-15:00

Teaching Assistant

Michael Howe (
Office Hours: M 11:30-12:30, F 10:00-11:00 (beginning Sep 3), ECCS 1B23

Course Objectives

This course surveys techniques involved in creating computer systems that engage in intelligent human-like behavior.  Although Artificial Intelligence (AI) has received a lot of play in the media, the true state of AI research is nowhere near the vision depicted in the movie of the same name, or in the Matrix and Terminator series.  The goal of this course is to present a realistic view of the state of AI techniques and research, and for students to develop small systems that exhibit learning and intelligent behavior.

Although AI as a field has been around since the 1960's, in the past decade it has undergone a radical transformation.  The traditional approach to AI was based on symbol processing:  the mind was conceived of as a symbol processing engine that creates and manipulates symbol strings.  The modern approach to AI treats the mind a  statistical and probabilistic computing engine.  CSCI 3202 will emphasize the modern approach.


CSCI 3104 and CSCI 3155 are the official prerequisites.  However, it will also be useful for you to have had linear algebra and some background in probability and statistics.

Course Materials


The course text is Artificial Intelligence:  A Modern Approach (Second Edition) by Russell & Norvig.  This text is difficult but thorough and state-of-the-art.  We will focus on the second half of the text, which covers current trends in AI.  Some resources related to the text, including code, are available here.


You may do homework assignments using any programming language that you are comfortable with, and you may use your own machine, the CSEL facilities, or the ITS facilities on campus.   Please see the TA if you need help gaining access to computing facilities.

Course Schedule

Class Date
Lecture Topic
Reading Homework

Aug 24

Homework 1 assigned
Aug 26
Examples of AI systems

Homework 1 due
Aug 31
History of AI
Ch. 1

Sep 2
Intelligent agents
Ch. 2, Section 7.2
Homework 2 assigned
Sep 7
Representing uncertainty I
Ch. 13 (don't worry about logic rules on p. 463); Section A.3

Sep 9
Representing uncertainty II
Homework 2 due; Homework 3 assigned
Sep 14
Reasoning under uncertainty I
Ch. 14

Sep 16
Reasoning under uncertainty II
Homework 3 due
Sep 21
Reasoning under uncertainty III
Homework 4 assigned
Sep 23
Simple decision making
Ch. 16

Sep 28
Sequential decision making
Sections 17.1-3

Sep 30
No class -- Fall break

Oct 5
Reinforcement learning I
Ch. 21

Oct 7
Reinforcement learning II

Homework 4 due;
Homework 5 assigned
Oct 12
Supervised learning I
Sections 18.1-3

Oct 14 Supervised learning II
Section 20.4

Oct 19 Supervised learning III
Sections 20.1-2
Homework 5 due; Homework 6 assigned
Oct 21
Neural networks I
Section 20.5; Section A.2

Oct 26
Neural networks II

Oct 28
Neural networks III

Homework 6 due; Homework 7 assigned
Nov 2
Amplifying human capabilities with AI (Gerhard Fischer)
to be announced
Nov 4
Application:  Data mining
Mozer et al. (2000)
Nov 9
Application:  Adaptive control
Mozer (2004)
Nov 11 Ensemble methods
Section 18.4

Nov 16
Speech recognition
Chapter 15
Homework 7 due;
Homework 8 assigned
Nov 18
Exploiting chaos (Liz Bradley)
web link

Nov 23
Cognitive modeling
Mozer et al. (2004)

Nov 25
Thanksgiving -- No Class

Nov 30
Game AI:  Collaborating agents in game design (Alex Reppenning)
to be announced

Dec 2
Vision (Jane Muilligan)
Chapter 24
Homework 8 due
Dec 7
Robotics (Greg Grudic)
Chapter 25

Dec 9
Philosophical issues; Directions of AI research
Chapters 26, 27

Course Requirements


Reading assignments from the Russell & Norvig text are listed in the course schedule above.  I suggest that you attend lecture and then attempt to read the corresponding material in the text, because the more mathematical sections of the text are challenging, and I'll present the highlights of the text which should help in understanding the details when you read the text.


Class attendance is mandatory.  If you find that you are not getting a lot out of lectures--either because the material is too basic or too complex--it is your job to let me know, and I'll adjust the lectures.

Homework Assignments

Although students may understand AI techniques in principle by reading the book and attending lectures, there is no substitute for the sort of understanding one obtains by actually implementing a technique and trying it out on a problem, even if the problem is small relative to the sort of problems we wish AI system to tackle.  To this end, the course will entail 8 homework assignments. For the assignments inovlving programming, you may use whatever language you are most comfortable with -- Java, C++, python, matlab, etc.

Because the course schedule is tentative, homework due dates may change.  However, when homework is assigned, the due date will be indicated, and it is not flexible.  Late assignments will not be accepted.  Assignments must be turned in at the start of class on the assignment due date.  If you anticipate any difficulty turning in your homework on time, let your professor know at the time when it is assigned.

Tentatively, the homeworks will be weighted as follows:
Homework #
Research existing AI systems
Wumpus world agent
Probability theory
Probabilistic inference
Reinforcement learning
Simple classifiers
Neural networks
Final project


We will have a final exam, at the time scheduled by the university, which is Saturday December 11, 7:30 p.m. - 10 p.m.  The exam will be cumulative, and will focus on evaluating your understanding of material that was presented in the course but not central to the homework assignments (e.g., guest lectures). 

Semester Grade

Semester grades will be based 80% on the homework assignments, 20% on the final.

Academic Honesty

In accordance with the University Honor Code, you may not give nor receive unauthorized assistance on the homework.  "Unauthorized assistance" includes help on designing solutions to homework problems or sharing of code.  You are encouraged to discuss course material with fellow students, but you are not to use any code anyone else has written as your own.  You should limit your discussion of homework assignments to understanding the requirements of the assignment.  If you have questions about how to approach the problem, or get stuck working on your solution, you should talk to the professor or TA.