CS 222: Programming Paradigms for Artificial Intelligence.



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


This course has three main objectives:

Students are expected to have at least a semester worth of programming before starting this course. While homeworks can be programmed in any language, class examples will be presented in Breve. Therefore, experience with the Breve programming language is a definite plus.

Textbooks.
The following books are extremely good sources of information for the topics we will be covering this semester. While they are not inexpensive, they are a very good investment for students interested in these topics. Do you need to get them? I'm not going to check if you do or not, but your life this semester might be easier if you have them.

Homeworks:
At the end of each course section, everyone will have to submit homeworks demonstrating their engagement with and understanding of the material.
 
While students will be free to develop these homeworks in the programming language of their choosing, I will make available some simulations in the Breve language that can serve as good starting points for each of the sections. Below you will find links to pages describing these simulations.

Towers of Hanoi Maze navigation EMT scheduling
Capture the Flag
(from the Hampshire course taught by Lee Spector & Jon Klein)
WUBWorld


A word regarding plagiarism:

This course will closely follow Hampshire's general guidelines regarding academic honesty. Make sure you've looked at our official stament regarding plagiarism.




Schedule

Week Dates Topics Readings Homework
1 Sept. 6, 8 Introductions    
2 Sept. 13, 15 Breve Jaime's own introduction to NN   
3 Sept. 20, 22 Neural Networks Notes on preparing for  work on NN, imperative programming, and breve plugin building.
 
4 Sept. 29 Neural Networks    
5 Oct. 4, 6 Imperative Programming Guidelines for expanding the breve SNNS plugin.   
6 Oct. 11, 13 Object Oriented Programming   NN/Imperative programming homework due November 17th.
7 Oct. 18, 20 Object Oriented Programming    
8 Oct. 25, 27 Recursion   NN/OOP homework due November 27.
9 Nov. 1, 3 Intelligent Searching
 
10 Nov. 8, 10 Intelligent Searching    
11 Nov. 15, 17 Plugin programming labs. the NN breve class ADT. 
12 Nov. 29, Dec. 1 Event-driven programming
(The smallest introduction to building GUIs you've ever seen, & Breve events)

Programmable Logic
wxPython manual.

Breve Notifications

SWI Prolog manual (PDF)

Sample rules file. 
13 Dec. 6, 8 Natural Language Processing

Programmable logic/NLP homework due by December 13.