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
  2. Decision making under uncertainty
    • Probability refresher
    • Markov Decision Processes
  3. Graphical Models
    • Bayes Networks
    • Hidden Markov Models
  4. Machine Learning
    • Reinforcement Learning
    • Supervised Learning
    • Deep Learning
    • Deep Reinforcement Learning
  5. Modern Topics
    • Attention, Transformers and LLMs
    • Alignment: RLHF, Reward Models and DPO
    • Multi-Agent Reinforcement Learning

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

Textbook

Artificial Intelligence: A Modern Approach, 4th Edition, Russell and Norvig

Prerequisites

  1. Prereq. 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: updated on Piazza and Canvas, in ISEC 522 and Teams

TAs listed on Piazza and Canvas


Announcements

Our Piazza page is here. Please register since we'll use it for questions.

Work Load

Required course work is:

  • Programming assignments (10% of your grade)
  • Problem sets (20% of your grade)  
  • In-class exercises (10% of your grade)
  • 2 Midterms (30% of your grade)
  • 1 Final project and presentations (30% of your grade)

Note: Grades are on Canvas but the 'total' grade is likely incorrect and you should calculate it manually to check.

Problem sets and programming assignments

There are four problem sets and four programming assignments. Problem sets cover the written and mathematical side of the material; programming assignments are done in Python. Students may discuss the problems with other students, but must write up their own solutions and write their own code.

In-class exercises

Short exercises will be given during most class meetings. They are done individually or in small groups and handed in at the end of class. They are graded for participation and effort rather than correctness. Because they are done in class, no outside resources or tools may be used. Your lowest few scores will be dropped to account for absences.

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 may work alone, in pairs or groups of three. Presentations will be held in class on December 3, 7, and 10. Final reports are due December 15 at 11:59 PM.

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.

Any access of code or solutions for any of our problems is strictly forbidden as is using any tools for assisting with code or solution generation.

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