Brief Course Description

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

  1. Search
    • Uninformed search
    • Informed search
    • Adversarial search
    • Constraint satisfaction
  2. Decision making under uncertainty
    • Probability refresher
    • Markov Decision Processes
    • Reinforcement Learning
  3. Graphical Models
    • Bayes Networks
    • Hidden Markov Models
  4. Machine Learning
    • Supervised learning
    • Unsupervised learning
    • Deep learning

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

Textbook

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

Prerequisites

  1. Prereq. CS 2800 and CS 3500.
  2. All programming assignments must be completed in Python. You must be willing to learn Python in order to do these assignments.
  3. 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.

Instruction Staff

Instructor: Chris Amato (c.amato [at] neu.edu)
Office hours: 2-3:30pm on Mondays in ISEC 522

TA: Uli Viereck (viereck.u [at] husky.neu.edu)
Office hours: 1-2:30 on Tuesdays in Snell Library 047

TA: Akhilesh Hegde Innoli (hegde.ak [at] husky.neu.edu)
Office hours:  1-2:30 on Wednesday in Kariotis Hall 308

TA: Shlok Gandhi (gandhi.shl [at] husky.neu.edu)
Office hours:  5-6:30 on Thursday in Snell Library 047


Announcements

Our Piazza page is here. If you haven't already been added, please register.

Work Load

Required course work is:

  • 4 Programming assignments (30% of your grade)
  • Problem sets (20% of your grade)
  • 2 MidTerms (30% of your grade)
  • 1 Final project and presentations (20% of your grade)

Problem sets

Problem sets are due at the beginning of each Thursday class. Students may discuss the problems with other students, but must write up their own solutions.

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. Students my work alone, in pairs or groups of three.

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