Brief Course Description

This course will introduce the student to the fundamentals of artificial intelligence including the following topics:

  1. Search
    • classical search
    • adversarial search
    • constraint satisfaction
  2. Decision making under uncertainty
    • Probability refresher
    • Markov Decision Processes
    • Reinforcement Learning
  3. Bayes Networks
    • Bayes Networks
    • Hidden Markov Models
  4. Machine learning
    • Logistic Regression
    • Support vector machine
    • Backpropogation
    • k-means clustering, expectation maximization
    • Dimensionality Reduction

The course schedule is subject to change. See the schedule tab above.


Artificial Intelligence: A Modern Approach, 3rd Ed., Russell and Norvig


  1. All programming assignments must be completed in Python. You must be willing to learn Python in order to do these assignments.
  2. The course will require you to use basic probability and linear algebra. If you do not have this background, you must be willing to learn it as we go.

Academic Integrity

Cheating and other acts of academic dishonesty will be referred to OSCCR (office of student conduct and conflict resolution) and the College of Computer Science. See this link.

Lateness Policy

Late programming assignments will be penalized by 10% for each day late. For example, if you turned in a perfect programming assignment two days late, you would receive an 80% instead of 100%.

Instruction Staff

Primary Instructor: Robert Platt ( r [dot] platt [at] neu [dot] edu )
Office hours: Fridays, 11-12, 208B West Village H, or by Appt.

TA: Saber ShokatFadaee,
Office hours: Tuesdays, 1:15 and 3:15pm, 266 West Village H

TA: Siyong Ma,
Office hours: Tuesdays, 3:15 and 5:15pm, CS Lab (1st floor) West Village H


The exam is on 12/10 next week. Only students in CS5100 need to take it. CS4100 students do not need to take it. However, if you are in CS4100 and would *like* to take it, then you can do so. If a CS4100 student elects to take the exam, then he/she will be graded according to the CS5100 grade weighting.

The TAs have extra office hours on Monday (12/7), Tuesday (12/8), and Wednesday (12/9). Saber: T,W 1:15pm -- 3:15pm, Siyong: M 11:00am -- 1:00pm, T 3:15pm -- 5:15pm

Our Piazza page is here.

Work Load

Required course work for CS5100 is:

  • 5 Programming assignments (40% of your grade)
  • In class problem sets (20% of your grade)
  • 1 Final exam (20% of your grade)
  • 1 Final project (20% of your grade)

Required course work for CS4100 is:

  • 5 Programming assignments (40% of your grade)
  • In class problem sets (30% of your grade)
  • 1 Final project (30% of your grade)

Programming assignments

We will use the Pacman AI projects developed at UC Berkeley. (John DeNero ( and Dan Klein ( For more info, see Used with permission.) There will be five programming assignments. All programming assignments must be completed using Python and are due at midnight on the day indicated on the schedule.

In-class problem sets.

You will work alone, in pairs, or in groups of three to complete an in-class problem set during the last 1-1.5 hours of each class period. The TAs and I will be available to help you with the problem set.

Final project

The final project can be on any topic related to AI. Many people choose to work on a project applying a method studied in the class to some practical problem. The amount of project work should be equivalent to approximately two programming assignments. If they want, students my work in pairs. See schedule for due dates.