Introduction to Artificial Intelligence (Comsc 334), Fall 2009

 

wall-e.jpg

 

Meets: T, Th 1:15-2:30, Clapp 201

 

Prof. Lisa Ballesteros

 office: Clapp 220

Phone: 413 538 2421

  email: lballest@mtholyoke.edu

http://www.mtholyoke.edu/~lballest

 

 

Calendar

 

Course Overview

 

Artificial Intelligence (AI) is a fascinating research field.  AIÕs tools and approaches to problem solving are used in a wide variety of areas such as airport control systems, medical surgery systems, fraud detection, video gaming, search engine technology, business systems, data analysis, and more.  Many interesting, cutting-edge problems and developments find their birthplace and first home in this research community.

 

In this course, we will look at a broad range of techniques used in artificial intelligence.  Presented with the unifying theme of constructing intelligent agents, we survey an interesting variety of research problems and modern problem solving techniques.  We will employ both software agents and robots to investigate topics that will include search mehtods for problem solving, game-tree search, knowledge representation and reasoning, planning algorithms, reasoning under uncertainty, machine learning, robotics, and philosophical foundations.

 

Learning Objectives

á      Understand the role of AI in the context of Computer Science, and how AIÕs diverse problem solving techniques can be unified in terms of agents and optimization.

 

á      Experientially learn several AI problem solving techniques through pair programming work on interesting, non-trivial problems.

 

á      Grow in the ability to observe complex problems, model them simply and formally through abstraction and approximation, and apply programming skill to create "intelligent" software artifacts.

 

á      Write clear, well documented code.

 

Textbook

 

Artificial Intelligence: A Modern Approach, 2nd edition, S. Russell and P. Norvig, Prentice Hall, Englewood Cliffs, N.J., 2003

 

Grading

 

Class participation        10%

Hw assignments            30%

Final Project                 25%

Midterm                       15%

Final exam                    20%

 

Homework assignments will include both written problems and programming.

 

Working on Assignments:

All assignments submitted for grading are to be done independently, unless specified by the instructor as a group assignment.  All assignments should be submitted electronically via Ella. 

 

All programming assignments are to be individual work and are graded on the completeness and correctness of the program results and answers to any accompanying questions.  Follow instructions exactly.  For example if an assignment tells you not to change the order in which statements are given, then donÕt.  Roughly 5% of the grade for each programming assignment will be based on comments, so document your code well.  Additionally, comments in your code may help in determining partial credit when your solution is not completely correct. 

 

Assignments are due on the dates specified.   Late assignments lose five points for each day late.  Labs will not be accepted beyond 3 days late unless some other arrangement has been made with me in advance of the due date.  Bring a USB drive with you to the laboratory in order to save project files as this protects you in the event that the network goes down and your home directory cannot be accessed.  Inability to access your account is not an acceptable excuse for not finishing a programming assignment.

 

Attendance:

Announcements made during normal class meetings are official communications for this course.  Although I do not always take attendance, regular attendance is expected.  Consequently, absence is no excuse for failure to act in accordance with class announcements.  If you miss class, talk with your classmates to find out what you missed.  The lecture notes will also be posted on line.