[ U_N_I_V_E_R_S_I_T_Y___o_f___N_O_T_R_E___D_A_M_E ]

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:

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
  1. Come to class (on time).
  2. Complete the readings prior to lecture.
  3. Complete and understand all homework assignments.
  4. Discuss the course material with your classmates.
  5. Do not wait until the night before homework is due to start your homework.
  6. Do not be reluctant to ask for help (the professor and/or teaching assistant).
  7. 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