CS 263: Artificial Intelligence.



Instructor          : Jaime Davila
Office                 : ASH 204
Office Hrs          : Tuesdays and Thursdays from 10:30-12
                              Fridays from 1-2:30 PM,                       
                              or by appointment.
Phone Number : 413-559-5687
email                  : jdavila at hampshire dot edu (by far the best way to reach me)

TA's Information:

David Prude.
Email: drp01@hampshire.edu

Robert Anderson.
Email: rfa03@stout.hampshire.edu


This course will introduce students to the main topics in artificial intelligence, both from theoretical and applied points of view. Most of the topics will be presented through class exercises, on which students will then need to expand as homeworks outside of class. These homeworks will involve either coding, developing algorithms, and/or evaluating the feasibility of artificial intelligence approaches for different tasks. Homeworks will always be due at the beginning of the first class of the week, for the weeks so indicated in the syllabus below.

Students are expected to already have at least a semester of programming experience. Having taken a course on data structures, or some other advance programming class, is highly desirable.

Students can choose to program in whatever language they prefer, as long as the resulting code can be executed from a command line after being compiled by standard systems (i.e. gcc, g++, Microsoft Visual C/C++, java, perl, python, Lisp, Command Warrior, etc.). Features that depend on a particular operating system implementation should not be used (i.e. Visual C/C++ with code that keeps it from running on non-Microsoft platforms, or gcc output that requires non-standard libraries being installed).

Students will be provided access to a computer lab with OSX machines. Access will also be provided to the programming tools necessary to complete all course work, such as the Breve programming environment, a Prolog interpreter, editors, and compilers.


Textbook:
Artificial Intelligence Illuminated, by Ben Coppin. Published by Jones & Bartlett.

Some online resources.
On Software Packages
1.The Breve programming environment.
2. SWI Prolog (and the SWI manual).
On inducing decision trees
3. Wikipedia's definition of the C4.5 tree inducting algorithm.
4. ID3 & C4.5 explained by Giorgio P. Ingargiola of Temple University.
On machine learning used for team sports
4. The CMUnited-99 Champion Simulator Team, by Stone, Riley, and Veloso.
5. A Layered Approach to Learning Client Behaviors in the RoboCup Soccer Server, by Stone and Veloso.
On Prolog
6. SWI Prolog (and the SWI manual).
7. Prolog tutorial, by J.R. Fisher.
8. Another prolog tutorial, from Walla Walla University.
9. Simple natural language processing, by Dave Inman (South Bank University).
10. A more efficient prolog NLP program, also by Dave Inman.
More to be created as the semester progresses.

Below is an outline of the topics we will discuss this semester. Students are also encouraged to research online on the topics we will be seeing in class.


Week Dates Topics Reading Assignment
1 Sept. 8
Course outline.
Are you ready for this course?
What the course is and is not about.
What you should expect of the course.
Office hours, etc.
Introduction to the course.
What is A.I.?
Searching.
 Chapters 1 & 4
2 Sept. 15
Searching
(Jaime's note: I'll be away on Tuesday the 13th. Class will not meet that day.)
Chapter 4
3 Sept. 20, 22
Searching and game playing Chapter 5
4 Sept. 27, 29
Searching, Decision Trees
Chapter 10 Homework on searching assigned.
5 Oct. 4, 6
Decision Trees
Chapter 10
6 Oct. 13
Neural Networks (NN)  Chapter 11. Homework on searching due (Oct. 13).
7 Oct 18, 20
Neural Networks  Chapter 11.

8 Oct. 25, 27
Neural Networks  Chapter 14 Homework on decision trees assigned.
9 Nov. 1, 3
Genetic Algorithms  Handouts Homework on decision trees due (Nov. 3).
10 Nov. 8
Genetic Algorithms Chapters 8 Homework on NN/GA due.
11 Nov. 15, 17
Genetic Algorithms, genetic programming. Chapter 9
12 Nov. 22
Genetic Programming.
13 Nov. 29, Dec. 1.
Prolog
14 Dec. 6, 8
NLP/Prolog   Homeworks on NN/EC and prolog/NLP assigned