CSE 471/571
Introduction to Artificial Intelligence
Fall Semester 2000
Syllabus
Catalog Description: CSE 471/571 "Introduction to Artificial Intelligence"
(3-0-3)
The philosophical base that makes up Artificial Intelligence today.
Development of various representations commonly used. A study of
knowledge bases including several applications and expert systems.
A close look at genetic algorithms, a new area of Artificial Intelligence.
Required Textbook:
Stuart Russell and Peter Norvig, Artificial Intelligence: A Modern Approach,
Prentice Hall, 1995.
Herbert A. Simon, The Sciences of the Artificial, MIT Press, 3rd Edition
(3rd printing), 1999.
Optional Books:
Elaine Rich and Kevin Knight, Artificial Intelligence, Mc Graw Hill, 2nd
Edition, 1991.
Professor-in-Charge: Gregory R. Madey
Office: 350 Fitzpatrick Hall, Phone: (219) 631- 8752, E-mail: gmadey@nd.edu
Office Hours: by appointment
Teaching Assistant: Shuang (Szan) Luan
Office: 385 Cushing Hall, Phone: (219) 631-3637, E-mail: sluan@cse.nd.edu
Office Hours: by appointment
Course Goals:
It is the goal of this course to study the foundations of Artificial Intelligence
in today's environment and to instill an uinderstanding of representations
and external constraints with the idea of enabling a student to think creatively.
Students will be required
to present chapters from the book by Simon.
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 will be helpful
Topics:
All chapters in the book by Russell & Norvig will be covered. Some will be covered in more depth that others, based on student
interest. Our approach will be breadth first, with selective depth search based on students interests.
Computer Usage:
Some homework assignments will require programming in LISP or SCHEME.
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:
-
40% - Homework Assignments and Projects
-
20% - Exam
-
25% - Final
-
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.
Homework assignments:
There will be about six homework assignments, some of which are to be done
alone, others will be done in groups of three (these assignments will be
specified as group problems). Homeworks are to be turned in at 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 to be
late!
Cooperative Learning:
Much of the work for this course (with the exception of homework assignments
that have to be solved individually) 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.
This may be the first time in your college career that you have worked
cooperatively in a group and it will be a change from the traditional approach
in which students work competitively and in isolation. However, current
educational research has shown that cooperative learning is an extremely
effective means of learning.
One advantage of cooperative learning is that it allows the instructor
to give very comprehensive (and very intense) assignments, from which you
will learn a great deal. At the same time, the amount of individual work
per student is kept at a reasonable level. Another advantage is that the
students can understand new ideas by discussing them with other students.
Even the ``smartest'' person in a group will learn alot by discussing the
material with other students. Most professors will tell you (and I certainly
will) that they didn't really understand their course material until
they had to teach it. And, hopefully, all of you are here to learn as much
as you can - not to just get by.
Also, working as a member of a project team is (in all likelihood) how
you will work in real life. Learning how to do that well -- and how to
work out the little inconveniences (scheduling, personalities, etc.) that
come along with it -- is a valuable skill that you will be able to take
with you into the world of work.
In this text there are no ``drill and practice'' exercises; every problem
teaches a new idea. For example, a good question to ask about each exercise
in this followup session is, ``Why did they include this exercise in the
book?'' It's best if your group also discusses the problems together before
you split up to work on individual exercises, to make sure that everyone
in the group understands the broad ideas of the assignment. Always keep
in mind that the exams will be done individually!
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:
Every student is expected to present part of one chapter from the book by Simon
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 (probably in-class) exam somewhere half way through
the semester and a comprehensive (probably take-home) final at the end.
Take-home exams have the advantage that students can take them at their
whim within a given time frame and that the problems can be more advanced
since there is more time to solve them. Yet take-home exams are
still exams and are not thought to be group exercises (academic honesty!).
So, work alone on a take-home, start it early and not a few hours before
it is due.
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.