CS353 - Artificial Intelligence
Time
11:00 AM - 11:50 AM, Monday, Wednesday, and Friday
Location
Mudd 323
Textbook
Nilsson, N. J. (1998). Artificial intelligence: A new synthesis.
San Francisco: Morgan Kaufmann.
This is a good, modern, general book on Artificial Intelligence. We will
read many chapters from the book, but it will not be the ``script'' for the
course.
Course content
The course will cover the science of artificial intelligence (AI) as well as
specific programming techniques for AI. It will focus on programs
that represent ``intelligent agents''; that is, programs that interact
(intelligently) with an external environment. Examples are controllers for
robots in the real world, agents that populate virtual environments, and
autonomous ``non-player'' characters for computer games.
I plan for the course to contain a mix of the following:
- General AI subjects that I feel should be covered in an introductory
course, such as:
- Knowledge-based systems
- Knoweldge representation
- Search
- Learning
- Philosophical issues
- AI subjects and techniques that I personally find interesting and/or know
something extra about, such as:
- Rule-based systems (particularly in the Soar language)
- Real-time, interactive agents
- Intelligent systems that play games
- Intelligent systems for modeling the mind (cognitive modeling)
- AI subjects and techniques that you (the students) particularly
want to learn about
Projects
There will be two programming projects of significant size, each to be
completed by teams of two students (except for unusual cases).
The first
project will be due sometime near the middle of the semester. The program
will implement a ``typical'' AI technique, with an eye toward teaching the
technique to others. The program will be demonstrated to the class, together
with a class presentation describing the technique.
The second project will be due near the end of the semester. For this
project, each group will create an intelligent agent that plays a networked
game. The plan is to end the semester with a ``tournament'' that will
include the agents written by this class and agents
developed by the AI class at Bowdoin College.
There will also be a handful of much smaller programs (or pieces of programs),
to reinforce some
of the subjects studied in class.
Other course work
I will ask Students to submit write-ups of less than a page each week,
either answering specific questions, or summarizing some of the readings
or lecture content for the week. These write-ups will not be ``graded'', but
will receive a ``check'', to acknowledge that the student has indeed thought
about the class that week (I'll give a ``check plus'' or ``check minus'' for
write-ups that I find particularly inspired or particularly bland).
When I'm feeling ornery, I may
actually edit the write-ups to suggest improvements to the writing.
There will be occasional take-home quizzes in order to prepare students for
the types of questions that will appear on the final exam. As with the
write-ups, these will be ``checked'' rather than graded.
The semester will end with a final exam, covering the entire content of the
course.
Grading
I will compute final grades for the course using the following proportions:
- 20%: Class participation, including attendance at lectures,
participation in discussion, and completion of write-ups and quizzes.
- 20%: Mid-semester project
- 20%: End-of-semester project
- 15%: Other programming projects
- 25%: Final exam
Randolph M. Jones
(rjones@colby.edu)