Introduction to Artificial Intelligence (Comsc 334), Fall 2009

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
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.