Recent Changes - Search:
ECG Home






Spring 2017

Older Courses

Fall 2016

Spring 2016

Fall 2015

Spring 2015

Fall 2014

Spring 2014

Fall 2013

Spring 2013

Fall 2012

Spring 2012

Fall 2011

Spring 2011

Fall 2010

Spring 2010

Fall 2009

Spring 2009

Fall 2008

Spring 2008

Fall 2007


edit SideBar


Home Assignments Lecture Blog Resources Project Discussion Group

91.420/91.543 Artificial Intelligence, Fall 2014
Prof. Fred Martin, click for fred's email
Grader: tba
MWF, 10:00a–10:50a, OS401

We will be using the following book:

Artificial Intelligence: A Modern Approach (3rd edition – 2009)
Stuart Russell and Peter Norvig

By far the best AI text.

What is AI?

There are few areas in computer science as broad as artificial intelligence. AI encompasses algorithm design, agents and robots, natural language understanding, expert systems, music and sound, as well as philosophical questions about the nature of consciousness!

One organizing principle across the field is the formalization of real-world problems based on utility functions, and then the use of various techniques to maximize expected utility. Based on this unifying theme, we will study:

  • search
  • game-playing, including adversarial and stochastic search
  • probabilistic reasoning, including Markov Decision Processes (MDPs) and Hidden Markov Models (HMMs)
  • reinforcement learning, including value iteration and q-learning

Ideas will be developed theoretically and with practical programming challenges using the U.C. Berkeley “Pac-Man projects,” in which you program a progressive series of challenges inspired by the original Pac-Man arcade game.

These problem sets “teach foundational AI concepts, such as informed state-space search, probabilistic inference, and reinforcement learning. These concepts underlie real-world application areas such as natural language processing, computer vision, and robotics” (see

Coding will be done in Python, which you will learn during the class if you don't know it yet.

A big part of AI is not just knowing a collection of approaches, but understanding which approach is right for which problem. To encourage the development of these skills, there will be a significant semester project where you will apply ideas from the course to a problem of your own choosing.


The textbook, as shown above, is Artificial Intelligence: A Modern Approach, by Russell and Norvig. The book is comprehensive, is well-written in the most exemplary manner, and has detailed bibliographies for each chapter. It is by far the most popular book used to teach AI, and it is also the best.

The recommended book is the third edition. New and used copies are available at the UML bookstore, or online (3rd edition: alibris; amazon; bookfinder). It would be acceptable to get a used second edition (alibris; amazon; bookfinder). Do not use the first edition.


There are five categories of work that will be assessed. These are:

  • Programming assignments 20%. The assignments are the primary way for developing an understanding of how to put AI theory into practice. Assignments will lose 10% of their value per day that they are late up to a maximum of 50% off. Assignments are due before class of the day that they are assigned.
  • Literature review assignment 5%. You will read two papers related to an area of AI in which you are interested, and prepare conference-style reviews of the papers.
  • Two mid-semester exams 10% each x 2 = 20%.
  • Final exam 25%.
  • Term project 25%. A significant part of the class will be an independent implementation project, which you will specify and carry out, primarily over the last month of the semester. We'll start conceptual work on the project earlier than that. I will expect the project to represent a significant work effort.
You will apply the ideas developed in the class in an original software implementation. You may thus connect the ideas of the class with your own interests—music, robotics, art, databases, the web, networking, gaming, etc. The learning goal of the project is to have you find some real-world relevance of the ideas in the class.
Because of the high number of enrolled students, projects will be done in teams. Each partner will be responsible for an equal share of the work.
  • Classroom and discussion forum participation 5%.

Undergraduate Project Sequence

For undergraduates, 91.420 Artificial Intelligence can be grouped with 91.421 Machine Learning or 91.450 Robotics I to form a course pair.

Graduate Group

For graduate students, 91.543 is in Group III, “Human-Computer Interaction, Visualization, Robotics and AI.”

Collaboration and Academic Integrity Policy

You are welcome to discuss ideas in the class with your peers. However, pair programming or other side-by-side work that involves sharing of code is not allowed. By turning in an assignment, you attest that you have written the new code that it includes. Please be familiar with the university's academic integrity policies: for undergraduates for graduate students

Discussion Group / E-Mail List

We will use Google Groups for announcements and discussion of material outside of class. Join the group by entering your email address in the box below, and following the subsequent confirmation instructions.

Google Groups Subscribe to uml-ai-fall14
Browse Archives
Edit - History - Print - Recent Changes - Search
Page last modified on May 18, 2016, at 12:17 PM