CSE 471/571
Introduction to Artificial Intelligence
Fall Semester 2004
Syllabus
Catalog Description: CSE 471/571 "Introduction to Artificial
Intelligence" (3-0-3)
An overview of the main thrusts in artificial intelligence, starting
with the historically symbolic, logic-based approaches to knowledge
representation, planning, reasoning and learning, leading into more
recent directions of statistics-based probabilistic approaches (such as
Bayesian approaches, belief nets, probabilistic reasoning, etc.).
The course also touches on more recent developments in natural language
processing, visual processing, robotics, machine learning, and
philosophical foundations. For details, see the timetable.
Required Textbook:
Stuart Russell and Peter Norvig, Artificial Intelligence: A Modern
Approach, Prentice Hall, 2nd edition, 2003.
Optional Books:
Elaine Rich and Kevin Knight, Artificial Intelligence, Mc Graw
Hill, 2nd Edition, 1991.
Herbert A. Simon, The Sciences of the Artificial, MIT Press,
3rd
Edition (2nd printing), 1998.
Guy Steele, Common Lisp: The Language, Digital Press, 2nd
Edition, 1990.
Professor-in-Charge: Matthias Scheutz
Office: 351 Fitzpatrick Hall
Office Hours: M, 3 p.m. - 6 p.m. and by appointment
Phone: (574) 631- 0353
Email: mscheutz@cse.nd.edu
Teaching Assistant: Alec Pawling
Room: 214 Cushing Hall
Office Hours: TH 1 p.m. - 2 p.m. by appointment
Phone: 631-8720
Email: apawling@nd.edu
Course Goals (from the catalog description):
It is the goal of this course to study the foundations of Artificial
Intelligence in today's environment and to instill an understanding of
representations and external constraints with the idea of enabling a
student to think creatively. This course will include a great
deal of cooperative and group learning during class with lectures kept
to a minimum. Students will be required to read before class and
to give presentations during class periods. A large number of
short programs and several longer programs will be required as part of
the homework assignments.
Prerequisites:
Advanced standing in Engineering or Science
(Some) knowledge of SCHEME or LISP is helpful (see the instructor if
you have no experience with either language)
Topics:
Part 1: Introduction (2 lect.)
Part 2: Problem solving/Search (4 lect.)
Part 3: (Certain/uncertain) knowledge and reasoning (7 lect.)
Part 4: Learning (7 lect.)
Part 5: Communicating, perceiving, acting (6 lect.)
Part 6: Philosophical Foundations (2 lect.)
Computer Usage:
Homework assignments will require programming in Common LISP.
Discussion, questions, etc.:
Discussions about course related topics, including questions and
answers to clarify homework problems, should be carried out via the
listserv discussion list:
cse471-mjs-fa04@listserv.nd.edu
To encourage use of this newsgroup as a means for class-wide discussion
about the course, if you email the instructor or the teaching
assistants
with a question about the course, your question will first be posted to
the newsgroup (you may request that your name be withheld from the
repost). Any student in the course may answer any question once it is
posted to the newsgroup. After sufficient time has elapsed and the
question is not answered by another member of the class, the instructor
or one of the teaching assistants will post the answer. You are
strongly encouraged to use this medium and to post your questions there
initially (as opposed to emailing it to the instructor or teaching
assistants) so that other members of the class can participate.
All course materials will be maintained at the web site
http://www.cse.nd.edu/courses/cse471/www/
and in the AFS directory
/usr/local/courses/cse/cse471.01/
Note: The directories and URLs that are given above are accurate
to the best of my present knowledge and should reflect the recent
changes. Updates, corrections, and clarifications will be given as
necessary.
Laboratory Usage:
None
Grading:
The course will be graded on the basis of homework assignments from
chapter problems and other sources, one midterm exam and a
comprehensive
final (possibly take-home). The following weights will be used to
compute the final grade
20% - Individual and Group Assignments
(10% and 10%)
10% - Midterm Exam
35% - AI Project
20% - Final Paper and Project Presentation
10% - Class Presentation
5% - Class Participation
A grade of 92% or above is guaranteed an A, 82% or above a B, 72% or
above a C, and 62% or above a D.
This grading formula implies that there is no curve; your
grade will depend only on how well you (and, to a small extent, your
partners) do, and not on how well everyone else does. (If everyone does
exceptionally badly on some exam, I may decide the exam was at fault
rather than the students, in which case I'll adjust the grade cutoffs
as I deem appropriate. But I won't adjust in the other direction; if
everyone gets an A, that's great). Plus and minus grades will be
assigned to individuals close to the boundaries between letter grades.
Make-up exams will be given only in extraordinary (and documented)
circumstances.
Assignments:
There will be two homework assignments, each with a group and
an individual component, and an "AI Project", which will be carried out
in groups and should result in an interesting AI system (details will
be announced in class). Homeworks are to be turned in before the
beginning of lecture on the day they are due. Your computer
programs are to be submitted electronically to the course hand-in
directory.
Each homework assignment will cover a major course topic. The
programming problems are designed to let you "get your hands dirty''
with computer problems, to introduce new topics, to fully develop
concepts from lecture, and to test your mastery of the course
material. Some of the problem sets may require you to demonstrate
your program to the teaching assistant, in which case part of the
problem set grade will be based on the demonstration. Any member
of your group may be asked any question at all about the problem set
during that demonstration. Therefore, it will be to your
advantage to teach each other about the material.
The programming problems will generally involve quite a bit of
computer programming. Do not wait until the night before a
homework assignment is due to start working on it!
Late work will be accepted, but a penalty of 20% per calendar day
late (and fractions thereof) will be assessed! Problem sets
turned
in after the start of class on the day that they are due will be
considered late!
Cooperative Learning:
Much of the work for this course (with the exception of individual
homework assignments) can be carried out in
groups, in which case each group will turn in one copy of the
assignment, with the names of all group members on it. If you
split up the work, then be sure that your group meets
to collect the results before the last minute! If one group member
fails
to do the work, the entire group is responsible for ensuring that it
gets finished. If some medical or personal emergency takes you
away from your group
for an extended period of time, or if you decide to drop the course
altogether, don't just silently disappear. Inform the instructor and
the other members of your group.
Class Presentation:
Student are expected to present one chapter from the main text
book in class in the course of the semester. A list of possible
topics (together with guidelines for the presentation) will be made
available online. The class presentation is thought the give
students the opportunity not only to study material in detail, but also
the check if they have really understood it by presenting and
explaining it to the whole class (although there are other measures,
being able to explain a topic in such a way that others can follow is a
sign of having a good grasp of the material).
Class Participation:
Although no rigorous attendance policy will be implemented for this
course, students are expected to attend classes regularly (students
with excessive absences will be very unlikely to pass the
course). Everybody is encouraged to participate actively and
contribute to the course by asking questions and volunteering to solve
problems on the board. Students who attend and participate
regularly are more likely to become known to the instructor (which
might count in their favor in case they are in between grades).
Exam and Final:
There will be a short in-class exam somewhere half way through the
semester and paper final combined with a project presentation at the
end.
Course Content:
- Engineering Science: 1.5 credits
- Engineering Design: 1.5 credits
Academic Honesty:
Learning cooperatively might seem to cloud the issue of academic
honesty, but really it doesn't. The honesty issues relate to the group
corporately. For instance, if a particular problem set includes a large
number of written exercises, you may be tempted to simply divide them
among the group members so that each of you does only two or three
exercises. This is perfectly fine, as long as you get together
after doing the individual work to discuss the results and to
ensure
that each member of the group understands every exercise (and could
work it individually if necessary).
Directly copying homework answers or computer code from another
group or from any other external source is not cooperative learning. It
is cheating. When in doubt, ask the instructor.
Nobody begins the semester with the intention of cheating. Students
who cheat do so because they fall behind gradually, and then panic at
the last minute. Some students get into this situation because they are
afraid of an unpleasant conversation with an instructor if they admit
to not understanding something. I would much rather deal with your
misunderstanding early than deal with its consequences later.
Please, feel free to ask for help as soon as you need it.
General Recommendations
- Come to class (on time).
- Complete the readings prior to lecture.
- Complete and understand all homework assignments.
- Discuss the course material with your classmates.
- Do not wait until the night before homework is due to start
your homework.
- Do not be reluctant to ask for help (the professor and/or
teaching assistant).
- Do not wait to ask for help if you are feeling lost.
This page is maintained by:
Matthias Scheutz
Copyright © 2004, University of
Notre Dame
All rights reserved.
Last revised on August 24, 2004