Artificial Intelligence

Course overview

Course Summary

Duration: 12 weeks, 84 hours

Project will be written after course completion

Principles and Techniques

What is this course about?

What do web search, speech recognition, face recognition, machine translation, autonomous driving, and automatic scheduling have in common?

These are all complex real-world problems, and the goal of artificial intelligence (AI) is to tackle these with rigorous mathematical tools. In this course, you will learn the foundational principles that drive these applications and practice implementing some of these systems.

Specific topics include machine learning, search, game playing, Markov decision processes, constraint satisfaction, graphical models, and logic. The main goal of the course is to equip you with the tools to tackle new AI problems you might encounter in life.


This course is fast-paced and covers a lot of ground, so it is important that you have a solid foundation on both the theoretical and empirical fronts.


The final project provides an opportunity for you to use the tools from class to build something interesting of your choice. Projects may be done in groups. The project will be something that you work on throughout the course and we have set up some milestones to help you along the way.

Collaboration policy and honor code:

You are free to form study groups and discuss homeworks and projects.

Course Overview:

  • Introduction: What can AI do for you? What do you need for this class?
  • Optimization
  • Machine learning
  • Linear classification
  • Loss minimization
  • Stochastic gradient descent

Section: optimization, probability, Python

  • Features and non-linearity
  • Neural networks, nearest neighbors
  • Generalization: Unsupervised learning, K-means
  • Section: recurrent neural networks (advanced)
  • Problem solving as finding paths in graphs...
  • Tree search
  • Dynamic programming, uniform cost search
  • A*, consistent heuristics
  • Relaxation

Section: dynamic programming (examples)

  • Markov decision processes
  • Policy evaluation, policy improvement
  • Policy iteration, value iteration
  • Reinforcement learning
  • Monte Carlo, SARSA, Q-learning
  • Exploration/exploitation, function approximation

Section: deep reinforcement learning (advanced)

  • Game playing
  • Minimax, expectimax
  • Evaluation functions
  • Alpha-beta pruning
  • TD learning
  • Game theory

Section: AlphaGo (advanced)

  • Constraint satisfaction problems
  • Problem solving as assigning variables (with constraints)...
  • Factor graphs
  • Backtracking search
  • Dynamic ordering, arc consistency
  • Beam search, local search
  • Conditional independence, variable elimination

Section: CSPs (review)

  • Bayesian networks
  • Representing uncertainty with probabilities...
  • Bayesian inference
  • Marginal independence
  • Hidden Markov models
  • Forward-backward
  • Gibbs sampling
  • Particle filtering

Section: variational autoencoders (advanced)

  • Learning Bayesian networks
  • Laplace smoothing
  • Expectation Maximization
  • More expressive models...
  • Syntax versus semantics
  • Propositional logic
  • Horn clauses
  • First-order logic
  • Resolution
  • Deep learning
  • Autoencoders, CNNs, RNNs

Section: semantic parsing (advanced)

  • Higher-order logics
  • Markov logic
  • Semantic parsing
  • Reflections and prospects...
  • Summary, future of AI