CS A405: Artificial Intelligence

Course Syllabus, Fall 2011 Textbook:

Course Description:  Objectives of the course are an understanding of fundamental concepts in AI, including search, problem spaces, heuristic evaluation, knowledge representation, game-playing, natural language processing, and planning. Additional topics including machine learning and genetic algorithms will also be introduced.

Homework Assignments: Homework assignments must be submitted online via Blackboard. Approximately five homework assignments will be given in addition to the course project. Late homeworks will be penalized 10% per day late up until the date solutions are posted. Unless otherwise indicated, programming assignments and written assignments must represent your own work. It is permissible to discuss the assignments with other students, but do not copy code.

Project: The project is to implement a computer program that can play the game "Tzaar." Information about this game is available at http://boardspace.net/english/about_tzaar.html . Rules and a computer version is available that demonstrate the rules.  In the software engineering class last year, a team of students wrote a game manager that automates playing two AI clients with each other.  At the end of the course you will be given the opportunity to pit your program against programs written by other students, and if your program wins then you will get 5% extra credit. The second place student will receive 2% extra credit.  Your program must conform to the API for the game manager.  Details are at http://code.google.com/p/daedalus-game-manager/.  Go to the source and browse the docs in the trunk.

The 3+ page design document should include your proposed board representation with rationale, proposed heuristics with rationale, additional search method with rationale, and any other strategies you intend to implement. You have to implement minimax search at a minimum.

The project review will consist of your code and a log of the output demonstrating that your system can generate valid board moves and properly update the board state.

The 5+ page final document will include the actual algorithms, code, and representation that were implemented. Also included should be an analysis of performance during the tournament. You will be required to make a short oral presentation to the class (5-10 minutes) on the heuristics and algorithms used in your program.

Questions: If you have any questions, feel free to come in to my office.  In general, I have an open door policy -- if I am available in my office, you are welcome to come by.  An even better way to reach me is through email.  I check my email frequently and you should receive a response quickly.  Email is preferred over telephone and you will probably receive a faster response since I don't check voicemail very frequently.  You can also contact me online via ICQ, AIM, Skype, or MSN Messenger (see contact info on the home page).  I'm often up late and will be glad to answer questions if I'm available! 

Grading:  Letter grade. There will be two exams, a midterm and final exam. The midterm will cover several chapters of the book. The final exam may include any material that was covered in the course. Unless prior arrangements are made no make-up exams will be given. Cheating on assignments and exams is not acceptable. Written homework and programming projects are individual assignments and it is expected that each student does his own work.

Grading breakdown:

   Midterm: 20%
  Final: 25%
  Homeworks:  30%  (All homeworks worth an equal amount)
  AI Topic presentation:  5%
  Project: Design Document 3% (~3 pages)
  Project: Project Review 2% (demo in person)
  Project: Final Writeup/Code 15% (~5 pages, Class Presentations)
  5% extra credit if your program wins the tournament!
  2% extra credit for the runner-up.

The grade scale is shown in the table below.  The grading curve may be lowered if necessary but it will not be raised.  This means that if you received an 89% then you will at least get a B+, but may receive a higher grade based on the curve.  (Final grades don't include a + or -).

An incomplete grade will only be given for a valid excuse (e.g. medical, death in the family). An incomplete grade does not let you take the class over again, your final grade will be assigned based on work submitted in class and work that remains to be submitted.

Cheating: Students are expected to uphold the UAA standard of conduct relating to academic dishonesty outlined in the UAA catalog and student handbook.  Cheating is not tolerated and constitutes grounds for dismissal.  For this class, it is permissible and encouraged to assist classmates in general discussions of how to attack the homework problems. It is not permissible to copy another's work (or portions of it) and represent it as your own.