CS 371 - Introduction to Artificial Intelligence
Course Syllabus


Note: This syllabus is tentative and subject to change.  Each reading assignment should be completed before the class on the date indicated.  If a reading assigned in class does not match the reading assignment here, the reading assigned in class supersedes.  Unless otherwise noted, readings are from Russell & Norvig, "Artificial Intelligence: a modern approach, 3rd ed.".

 
Class Month Day Topic Readings (parenthesized
reading are optional)
1 August 27 Introduction,  "What is AI?", agents, agent architectures, and environments Skim Ch. 1, read 2.1-2.3 Deep Blue article
2   29 Introduction: PEAS agent description, environment properties
Lego Mindstorm NXT sensors and actuators
rest of Ch. 2, 3.1-3.3, HW1 Starter Code and Documentation
3   31  Uninformed Search: breadth-first search, depth-first search 3.4
4 September 3 Uninformed Search: depth-limited search, iterative-deepening, tradeoffs  
5   5 Robotics Project Intro  
6   7 Uninformed Search: repeated state detection, in-class implementation  
7   10 Informed Search: heuristic search, best-first search, uniform cost search, greedy search rest of Ch. 3
8   12
Informed Search: admissibility, iterative deepening A*
Stochastic Local Search: iterative improvement
 
9   14 Stochastic Local Search: simulated annealing, annealing schedules 4.1, Skim Science Simulated Annealing article
10   17 Stochastic Local Search: challenge problem  
11   19 Stochastic Local Search: challenge problem (continued) 10.1-10.5.1
12   21    
13   24 Machine Learning: Dynamic Programming "Solving the Dice Game Pig: an introduction to dynamic programming and value iteration", Sections 1-2
14   26 Machine Learning: Dynamic Programming (cont.), Value Iteration "Solving the Dice Game Pig: an introduction to dynamic programming and value iteration", remainder; Russell & Norvig sections 17.1-17.2
15   28 Machine Learning: Value Iteration (cont.)  
16 October 1 Machine Learning: In-class problem exercise (Jack's Car Rental)  
17   3 Machine Learning: In-class problem exercise (Jack's Car Rental)   
18   5 Machine Learning: In-class problem exercise (Robot Navigation) 7.1-7.4 (through "A simple knowledge base"), "Clue Deduction: an introduction to satisfiability reasoning" sections 1-2
19   10 Knowledge Representation & Reasoning: Propositional Logic, syntax, semantics, truth assignments, models, (un)satisfiability, validity, entailment, equivalence. 7.5, "Clue Deduction: an introduction to satisfiability reasoning" sections 3-6
20   12 Knowledge Representation & Reasoning: conjunctive normal form, resolution theorem proving, various logic problems "Clue Deduction: an introduction to satisfiability reasoning" section 8
21   15 Knowledge Representation & Reasoning: Clue project knowledge base  
22   17 Knowledge Representation & Reasoning: stochastic local search for boolean satisfiability, WalkSAT and variants 7.6.2 (local search algorithms)
23   19 Knowledge Representation & Reasoning: in-class SAT solver programming  
24   22 Robotics Project Progress Presentations  
25   24 Game-Tree Search: Mancala problem intro, minimax 5.1-5.2
26   26 Game-Tree Search: heuristic evaluation, alpha-beta pruning 5.3-5.4
27   29 Game-Tree Search: time management H. Baier, M. Winands. Time Management for Monte-Carlo Tree Search in Go. (skim time management strategies)
28   31 Game-Tree Search: expectiminimax, in-class development 5.5
29 November 2 Robotics Project Progress Presentations  
30   5 Game-Tree Search: Monte Carlo Tree Search (MCTS), UCT L. Kocsis, C. Szepesvari. Bandit based Monte-Carlo Planning. 
31   7 Data Mining: k-Nearest-Neighbor Classification Hastie, T., Tibshirani, R., and Friedman, J.  The Elements of Statistical Learning: data mining, inference, and prediction., Chapter 1
32   9 Data Mining: Linear Models and Least Squares Classification  
33   12 Data Mining: Multilayer Feed-Forward Neural Networks, Backpropagation (Malec) R&N 18.7
34   14 Data Mining: Locally Weighted Regression/Learning, Curse of Dimensionality (Pennella) Atkeson, Moore, and Schaal. Locally Weighted Learning.  See also companion website.
35 16 Data Mining: Decision Tree Learning (Becker) R&N 18.3
36   19 Data Mining: Naïve Bayesian Classification and k-Fold Cross-Validation (Ianiro) R&N p. 499, section 20.2.2; Wikipedia articles: Naïve Bayesian Classification, k-Fold Cross-Validation; The Elements of Statistical Learning 7.10
37   26 Data Mining: Clustering algorithms (e.g. k-means, vector quantization) (Lalvani) The Elements of Statistical Learning 14.3
38 28 Data Mining: Boosted Ensembles of Decision Stumps, Adaboost (Taylor) R&N 18.10, The Elements of Statistical Learning 10.1
39   30 Data Mining: Support Vector Machines (Mendoza) R&N 18.9, The Elements of Statistical Learning 12.2-12.3, LIBSVM website and guide
40 December 3 Data Mining: Random Forests (Crear) The Elements of Statistical Learning 15, Wikipedia article
41   5 Review; Course Evaluations  
42   7 Final 4th Hour Requirement Robotics Presentations  


 
Todd Neller