Time and Place: Tuesday 11:45am - 1:25pm, Thursday 2:50pm - 4:30pm, International Village 022

College of Computer and Information Science

Instructor: Robert Platt

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

- Search
- uninformed search
- informed search
- adversarial search
- constraint satisfaction
- Decision making under uncertainty
- Probability Refresher
- Markov Decision Processes
- Reinforcement Learning
- Bayes Networks
- Bayes Networks
- Hidden Markov Models
- Machine learning
- Supervised Learning
- Unsupervised Learning
- Deep Learning

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

- All programming assignments must be completed in Python. You must be willing to learn Python in order to do these assignments.
- 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.

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.

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%.

Primary Instructor: Robert Platt ( r [dot] platt [at] neu [dot] edu )

Office hours: Tuesdays, 10--11:30am, 526 ISEC, or by Appt.

TA: Bharat Vaidhyanathan (programming assignments), vaidhyanathan.b@husky.neu.edu

Office hours (when programming assignments are out): Tuesdays 2--3:30pm,
Thursdays 12--1:30pm, third flr WVH

TA: Ruiyang Yu (problem sets), xu.r@husky.neu.edu

Office hours: Fridays every week, 3--5pm, third flr WVH

Our Piazza page is here.

Required course work is:

- 4 Programming assignments (30% of your grade)
- Approximately weekly problem sets (20% of your grade)
- 2 Midterm exams (30% of your grade)
- 1 Final project (20% of your grade)

We will use the Pacman AI projects developed at UC Berkeley. (John DeNero (denero@cs.berkeley.edu) and Dan Klein (klein@cs.berkeley.edu). For more info, see http://inst.eecs.berkeley.edu/~cs188/pacman/home.html. Used with permission.) There will be four programming assignments. All programming assignments must be completed using Python and are due at midnight on the day indicated on the schedule.

We will assign approximately one problem set each Thursday that will be due on the following Tuesday.

The final project assignment can be found here. The final project can be on any topic related to AI. Students will work alone or in groups of two. 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.

We're using git. You should follow the instructions outlined here.