Spring 2014 CSCI 470

= Artificial Intelligence Syllabus = Course Description: A course introducing fundamental techniques for artificial intelligence. Among topics covered are heuristic search, knowledge representation, intelligent agents, reasoning, neural networks, genetic algorithms, and artificial intelligence programming. Additional topics may include Bayesian networks, natural language processing, machine learning, rule-based systems, robotics, and data science.

Required Text: None. You will be able to get the material from lecture slides and notes, but there are a few books that are great for reference. One such book is Artificial Intelligence A Modern Approach, 3rd Edition, by S Russell and P Norvig, 2009. Retail Price $125.84.

Prerequisite: CSCI 221, MATH 207, MATH 250

Contact Information

 * Professor: Dr. Paul Anderson
 * Office: 212 J.C. Long
 * Office Hours: My door is always open. Even if it isn't, please knock. I always love to hear from students. Tuesday and Thursday from 4 - 5 PM are my posted hours.
 * E-mail: andersonpe2@cofc.edu
 * Office Phone: 953-8151
 * Facebook: andersonpe2@cofc.edu
 * Facebook group: https://www.facebook.com/groups/180277642183017/
 * Web: http://birg.cs.cofc.edu/index.php/Spring_2014_CSCI_470

Course (learning) outcomes

 * 1) Describe artificial intelligence
 * 2) Describe Planning
 * 3) Use Probability and Probabilistic Inference
 * 4) Use Machine Learning
 * 5) Use Unsupervised Learning
 * 6) Explain Representation with Logic
 * 7) Demonstrate Planning
 * 8) Demonstrate Reinforcement Learning
 * 9) Explain Bayesian Networks
 * 10) Explain Hidden Markov Models
 * 11) Explain Game Theory
 * 12) Explain Robotics
 * 13) Explain Natural Language Processing

Grading Policy

 * 1) Exam 1 - 20%
 * 2) Exam 2 - 20%
 * 3) Exam 3 - 20%
 * 4) Homework - 10%
 * 5) Programming Assignments - 20%
 * 6) Final Code Review and Presentation - 10%

Grading Scale: A: 90-100; B: 80-89; C: 70-79; D: 65-69; F: <65. Plusses and minuses will be used at the discretion of the instructor.

Grading Guidelines: Submitted work requires Analysis, Evaluation, and Creation of ideas, concepts, and materials into various deliverables (e.g., see revised Bloom's Taxonomy and reference below).
 * The grade of A is for work that involves high-quality achievement in all three Bloom areas.
 * The grade of B is for work that involves high-quality achievement in at least two Bloom areas, and medium-level achievement in the other.
 * The grade of C is for work that involves high-quality achievement in at least one Bloom area, and medium-level achievement in the others.
 * The grade of F is for work that does not meet above criteria.

Reference: Errol Thompson, Andrew Luxton-Reilly, Jacqueline L. Whalley, Minjie Hu, and Phil Robbins. 2008. Bloom's taxonomy for CS assessment. In Proceedings of the tenth conference on Australasian computing education - Volume 78 (ACE '08), Simon Hamilton and Margaret Hamilton (Eds.), Vol. 78. Australian Computer Society, Inc., Darlinghurst, Australia, Australia, 155-161.

Honor Code

 * You must do your work alone (or with your teammates, for group assignments).
 * You must identify your sources of material and inspiration. It is a violation of the honor code to present someone else's work or ideas as your own.
 * In any course deliverable, you must always identify the person(s) that helped you (directly or indirectly), if any, and explain their contribution to your work.
 * Also see the College of Charleston Student Handbook, especially sections on The Honor Code (p. 11), and Student Code of Conduct (p. 12). There is other useful information there.

Classroom Policies

 * You are expected to take good notes during class.
 * You are expected to participate in class with questions and invited discussion.
 * You are expected to attend all classes. The grade 'WA' will be given for excessive (>= 3) absences. If you miss class, you must get an absence memo from the Associate Dean of Students Office; also, you are responsible for announcements made in class, assignment due dates, etc.
 * You should turn off all electronic devices (e.g., cell phones, pagers, etc.).
 * In summary, you should contribute positively to the classroom learning experience, and respect your classmates right to learn (see College of Charleston Student Handbook, section on Classroom Code of Conduct (p. 58)).

Late Policy
No late days will be allowed without an excuse. This course is an upper level course, and it will move very fast. Falling behind on assignments will make it difficult to achieve the learning outcomes of this course.

Homework Policy
Homework will be assigned each week and turned in every Friday. Written homework will placed under my office door by 5 PM on the due date. Cheating/sharing will result in a zero on the assignment and a report to the judicial board.

Programming Assignments
Programming assignments will be submitted through the Learn2Mine environment.

Exam Policy
Student performance will be assessed through three examinations spaced throughout the semester.

= Schedule = You are responsible for coming prepared to class. This includes reading through the material before attending class. You will get a lot more out of the lectures and discussions in this manner. It is cliche, but true. The first part of the schedule is built around teaching you the foundations and theory of artificial intelligence. This will be an intense treatment of difficult material. We will then move on to the application of this material through a lab and programming environment.

Class Time and Location
TR 10:50 - 12:05 PM in 220 JC Long

Week 1 (Jan 9)

 * Overview

Week 2 (Jan 14, 16)

 * Machine Learning
 * Linear classification
 * Perceptron algorithm
 * Features and non-linearity
 * Nearest neighbors, kernel methods
 * Decision Trees, Neural Networks
 * Generalization
 * Unsupervised Learning, K-means
 * Introduction to AI
 * Vectors and an Introduction to Artificial Neural Networks

Required Reading

 * Linear Classification, Perceptron

Week 3 (Jan 21, 23)

 * Machine Learning
 * Linear classification
 * Perceptron algorithm
 * Features and non-linearity
 * Nearest neighbors, kernel methods (ice)
 * Decision Trees (ice), Neural Networks
 * Generalization
 * Unsupervised Learning, K-means (ice)
 * Features and non-linear classifiers
 * Lecture Notes from 01-21-2014
 * Lecture Notes from 01-23-2014

Required Reading

 * Machine Learning Part 2

Week 4 (Jan 28, 30)
(ice)

Week 5 (Feb 4, 6)

 * Search
 * Tree search


 * Decision Trees
 * See Machine Learning Part 2 for Reading


 * Lecture Notes from 02-04-2014
 * Lecture Notes from 02-06-2014

Required Reading

 * Search 1

Week 6 (Feb 11, 13)

 * Search
 * Dynamic programming, uniform cost search (ice - read this on your own)
 * Structured Perceptron
 * A*, consistent heuristics
 * Relaxation


 * Exam 1 on Thursday
 * Practice Exam 1

Required Reading

 * Search 2

Week 7 (Feb 18, 20)

 * Search
 * Structured Perceptron
 * A*, consistent heuristics
 * Relaxation
 * Lecture from 2-20-2014

Required Reading

 * Search 2

Week 8 (Feb 25, 27)

 * Markov decision processes
 * Policy evaluation, policy improvement
 * Policy iteration, value iteration
 * Reinforcement learning
 * Monte Carlo, SARSA, Q-learning
 * Exploration/exploitation, function approximation
 * Lecture from 02-27-2014

Require Reading

 * MDPs1
 * MDPs2

Week 9 (Mar 4, 6)
Spring break

Week 10 (Mar 11, 13)

 * Game Playing
 * Minimax, expectimax
 * Evaluation functions
 * Alpha-beta pruning
 * TD Learning
 * Game Theory

Required Reading
Games 1

Week 11 (Mar 18, 20)

 * Crash course into Markov Networks
 * Applying hidden Markov models
 * Training hidden Markov models
 * Logic
 * Propositional logic
 * First-order logic


 * Assignment 1 (Search) - Due before the beginning of the next class
 * Complete this survey before you leave the in-class portion of the assignment
 * Implement and complete the DFS, BFS, and UCS questions listed under the Search Project

Required Reading
Games 2

Logic 1

Logic 2

Week 12 (Mar 25, 27)

 * Pacman Search Project

Week 13 (Apr 1, 3)

 * Multiagent Search Project

Week 14 (Apr 8, 10)

 * Reinforcement Learning Project

Week 15 (Apr 15, 17)

 * Ghostbusters Project

Week 16 (Apr 22, 24)

 * Last day of class on April 22nd
 * Reading day on April 24th
 * Final exams begin on April 25th

Final Exam
Saturday, April 26th from 8 - 11 AM

= Homework =
 * Homework 1 - Due January 24st by 5 PM
 * Solutions
 * Homework 2 - Due January 31st by 5 PM
 * Solutions
 * Homework 3 - Due February 10 by 5 PM
 * Solutions
 * Homework 4 - Due February 28th
 * Homework 5 - Due March 13th by 5 PM