This page gives highlights of past lectures and provides lecture notes, reading assignments, and exercises.
Chapters and sections in the readings are from the textbook, unless specified otherwise.
Dates  Lecture synopsis  Notes 

Jan 16 
Course introduction and administration.
Overview of course topics.

Introduction 
Jan 18 
Intelligent agents.
(Ideal) Rational agents.
Performance measure.
Environment, percept sequence, actions,
internal knowledge, autonomy.
Examples of natural and artificial agents.
Agents as mappings.
Environment features.

Intelligent Agents 
Jan 23 
Classes of agents, from simple reflex agents to utilitybased agents.

Intelligent Agents 
Jan 25 
More on F#.
Variable scope ands scoping rules. Function definitions.
Recursive functions.
Pattern matching. Patterns in let expressions and in function definitions. The match construct. Meaning and common uses. Scoping of pattern variables in match.


Jan 30 
Algebraic datatypes (ADT), or discriminated unions, in F#.
Basic uses.
Pattern matching with ADTs.
Functions accessing and manipulating ADTs.
Using ADTs to encode arithmetic expressions.
Simple evaluators of arithmetic expressions.
Parametric types in F#. Motivation and uses.
Parametric algebraic datatypes.
F# Lists. Basic features and examples.
Using pattern matching and recursion to implement functions over lists.


Feb 1 
More on F#.
Association lists. Using lists to implement other data types.
Maps as association lists. Sets as lists with no repeated elements.
Option types. Motivation and uses.
Immutable maps.
Mutable and immutable records. Pattern matching with records.
Mutable variables and imperative code.

Problem Solving 
Feb 6 Feb 8 
Modeling problems as search problems.
Search space and strategies.
General search algorithm.
Search strategies.
General assumptions on environments and cost functions.
Uninformed strategies:
breadthfirst, depthfirst, uniformcost, iterativedeepening search.
Completeness, optimality and complexity.
Comparisons.

Uninformed Search Informed Search 
Feb 13 
Completeness, optimality and complexity of A*.
Comparisons with other strategies.

Informed Search 
Feb 15 
Local search procedures and optimization problems.
Hillclimbing, simulated annealing, beam search and so on.
Genetic algorithms.
problem encodings, combination and mutation.
Examples.

Beyond Classical Search 