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, 4th ed.".

 
Class Date Topic Readings (parenthesized
reading are optional)
1 Introduction, "What is AI?"; Uninformed search: problem definition Course Information page; (Skim R&N Ch. 1, 2); R&N 3.1-3.3; Deep Blue article
2 Uninformed Search: breadth-first search, depth-first search, recursive depth-first search, depth-limited search, iterative-deepening depth-first search 3.4, HW1 Starter Code and Documentation, (Peg Solitaire Demonstration)
3 Uninformed Search: repeated state detection, in-class implementation   
4 Informed Search: heuristic search, best-first search, uniform cost search, greedy search rest of Ch. 3 except 3.5.5 (memory-bounded search)
5 Stochastic Local Search: hill descent with uphill step probability, simulated annealing, parameter tuning, demonstrations, challenge problem implementation 4.1, (4.2), Skim Science Simulated Annealing article
6 Stochastic Local Search: second challenge problem
7 Game-Tree Search: minimax, alpha-beta pruning 5.1-5.3; game-tree search slides; (FYS 187-4 videos: game trees, alpha-beta pruning)
8 Game-Tree Search: heuristic evaluation, in-class heuristic development 5.4; (FYS 187-4 videos: heuristic/static evaluation, heuristic features)
9 Game-Tree Search: time management H. Baier, M. Winands. Time Management for Monte-Carlo Tree Search in Go. (skim time management strategies)
10 Game-Tree Search: expectiminimax 5.5; Poker Squares rules/play grid, Learning and Using Hand Abstraction Values for Parameterized Poker Squares, (slides); (FYS 187-4 video: chance node, expectimax, and optimal Pig play reasoning)
11 Game-Tree Search: Monte Carlo Tree Search (MCTS), UCT Section 2 through 2.3 iof L. Kocsis, C. Szepesvari. Bandit based Monte-Carlo Planning.; Sections 1 (through 1.1) and 3.1 of C. Browne et al. A Survey of Monte Carlo Tree Search Methods
12 Machine Learning: Dynamic Programming "Solving the Dice Game Pig: an introduction to dynamic programming and value iteration", Sections 1-2; (For reference in class presentation: Pig slides)
13 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
14 Machine Learning: Value Iteration (cont.)  
15 In-class Midterm  
16 Q-Learning: definitions, backup diagram, update rule, application to Pig Solitaire section 6.5, of Reinforcement Learning: an introduction
17 Q-Learning: application to Pig Solitaire (continued)
18 Q-Learning: application to Pig Solitaire (completed); Data Science and Machine Learning: Introduction with Linear Regression, Jupyter Notebooks 01-intro.ipynb, 02-jupyter-notebook-basics.ipynb
19 Data Science and Machine Learning: Introduction to Python Operators, Values, and Data Structures; Kaggle 03-python-ops-vals-ds.ipynb, 04-kaggle.ipynb
20 Data Science and Machine Learning: Introduction to Python Control Flow, Functions, and Errors; Nonlinear Regression 05-python-control-fns-errors.ipynb, 06-nonlinear-regression.ipynb
21 Data Science and Machine Learning: Python Iterators, List Comprehensions, and Generators; Logistic Regression and Categorical Data 07-python-iters-list-comps-gens.ipynb, 08-logistic-reg-cat-data.ipynb
22 Data Science and Machine Learning: Python Modules, Strings, and Data Science Packages; k-Nearest Neighbor Classification and The Importance of Separate Test Data 09-python-import-strings-ds.ipynb, 10-knn-test-data.ipynb
23 Data Science and Machine Learning: Decision Trees, Random Forests, and Gradient Boosted Decision Trees, Numpy 12-decision-trees.ipynb, 13-numpy.ipynb
24 Data Science and Machine Learning: Neural Networks, Clustering 14-neural-networks.ipynb, 16-clustering.ipynb
25 Probabilistic Reasoning: Bayesian Networks, Gibbs Sampling, a Markov Chain Monte Carlo (MCMC) algorithm for reasoning on Bayesian networks 14.1-14.2, An Introduction to Monte Carlo Techniques in AI - Part II, 14.5.2, Pearl, Judea. Probabilistic Reasoning in Intelligent Systems: Networks of Plausible Inference, Revised 2nd Printing, Morgan Kaufmann, San Francisco, California, USA, 1988, Table 1 (p. 197), section 4.4.3 (pp. 210-216, up to "Justifying the Computations")
26 Probabilistic Reasoning (cont.), AI and Ethics  
27 Course Evaluations, AI and Ethics  
28 4th Hour Project Demos  
    Final Exam Schedules on Registrar page under "Resources" (Fall, Spring)
Final:
Tuesday, May 7th, 1:30 PM - 4:30 PM

Todd Neller
tneller@gettysburg.edu