CS 472/572, Spring 1997

INTRODUCTION TO ARTIFICIAL INTELLIGENCE


SYLLABUS

(Available on the Web at: http://www.cse.buffalo.edu/~rapaport/572/S97/syl.html)
(For other files, see the CS 472/572 directory.)
11 February 1997
NEW material is highlighted

PREREQUISITE:

The prerequisite for this course is knowledge of Common Lisp (e.g., CS 202 or CS 505)
STAFF:

Professor:
Dr. William J. Rapaport, 214 Bell Hall, 645-3180 x 112, rapaport@cse.buffalo.edu
Office Hours: NEW Mondays & Tuesdays, 2:00-2:50 p.m., and by appointment.

Teaching Assistants:

CLASS MEETINGS:

CLASS INSTRUCTOR REGIS. NO. DAYS HOURSLOCATION
LectureRapaportCS 472: 457249
CS 572: 456180
TTh9:30 a.m.-10:50 a.m. NatSci 210
Recitation R1 Campos CS 472: 434139
CS 572: 379380
T 8:30 a.m.-9:20 a.m.NatSci 210
Recitation R2 CS 472: 286866
CS 572: 091612
F 2:00 p.m.-2:50 p.m.
CANCELLED!
PLEASE ATTEND EITHER
MON OR TUE RECITS
but do NOT officially
drop or add!!
NatSci 210
Recitation R3 Cuddihy CS 472: 114814
CS 572: 391068
M 2:00 p.m.-2:50 p.m.NatSci 210
Recitation R4closed CS 472: 091816
CS 572: 433832

NOTE: Recitations begin the week of January 27.

TEXTS:

  1. Russell, Stuart, & Norvig, Peter (1995), Artificial Intelligence: A Modern Approach (Englewood Cliffs, NJ: Prentice-Hall).

    • required for CS 472 and CS 572

  2. packet of readings on SNePS, to be made available later

    • required for CS 472 and CS 572

  3. Luger, George F. (ed.) (1995), Computation and Intelligence: Collected Readings (Cambridge, MA: MIT Press)

    • required for CS 572; recommended for CS 472

  4. Shapiro, Stuart C. (1992), Common Lisp: An Interactive Approach (New York: W. H. Freeman).

    • recommended for CS 472 and CS 572

TOPICS:
This course is a survey of artificial intelligence (AI) - the study of how to program computers to behave in ways normally attributed to ``intelligence'' when observed in humans. (For other definitions, see ``Some Definitions of Artificial Intelligence''.) Topics will include: the nature of AI, search, logic and automated reasoning, knowledge representation, natural-language understanding, and philosophical issues. In addition, you will learn to use the SNePS semantic-network knowledge-representation and reasoning system, and you will meet Cassie, a computational cognitive agent implemented in SNePS.

ATTENDANCE, HOMEWORKS, PROJECTS, AND EXAMS:

IMPORTANT DATES:

Tuesday January 21 First Lecture
Mon., Tue., Fri. January 27, 28, 31 First meetings of recitations
Tuesday February 11 *** PROJECT 1 (mini-Eliza) DUE ***
Friday March 7 Len Schubert, CS Colloquium speaker
Tuesday March 11 *** MID-TERM EXAM ***
(covering some or all of Chs. 1-4, 6-10.2)
Friday March 14 *** Last day to withdraw with a grade of `R' ***
Sat.-Sun. March 15-23 Spring break; no classes
Tuesday March 25 *** PROJECT 2 (automated theorem prover) DUE ***
Tuesday April 15 *** PROJECT 3 (SNePS KB) DUE ***
Thursday April 24 *** PROJECT 4 (NLU) DUE ***
Monday April 28 Roger Schank (Center for Cog. Sci. Distinguished Speaker)
Mon., Tue.,
Fri.
April 28, 29
May 2
Last meetings of recitations
Thursday May 1 Last Lecture
Tue., Wed. May 6, 7 Reading Days
Thu.-Fri. May 8-16 Exam Week
(Assume our exam is the afternoon of the last day)

TENTATIVE SCHEDULE:

Readings Topics Lecture Dates
R&N 1, 2
Luger 2, 3, 4, 5
Intro: What is AI?
agents, Cassie
Jan. 21-28
R&N 3, 4.1, 4.2
Luger 16
Search Jan. 30-Feb. 11
R&N 6, 7, 9, 10.1, 10.2
Luger 10, 14
Logic & automated reasoning Feb. 13-Mar. 13
R&N 8, 10.5, 10.6
SNePS readings
Luger 6, 7, 9, 19
Knowledge Representation Mar. 25-Apr. 8
R&N 22, 23
SNePS readings
Luger 8
Natural-Language Understanding Apr. 10-Apr. 24
R&N 26, 27
Luger 29, 30
Philosophical Issues Apr. 29
Review May 1

Note to CS 572 students: You may prefer to read the Luger chapters in chronological, rather than topical, order, viz: 2, 14, 3, 16, 19, 7, 8, 9, 4, 10, 6, 5, 29, 30. In any case, there are 14 chapters from Luger, so 1 chapter synopsis will be due on Tuesday of each week.

READING:

  1. I strongly urge you to read all of Russell & Norvig (not to mention all of Luger :-), including those sections that we do not cover in the course. This is especially true for students in CS 572! At the very least, you should read the introductory and summary sections of all chapters that we don't cover.

  2. Not all assigned readings will be covered in lecture (in lecture, we shall only cover interesting or hard material, plus occasionally material that is not in Russell & Norvig), but you are responsible for all assigned material in Russell & Norvig and lectures.

  3. See ``How to Read (a Computer Science Text)''.

HOMEWORKS:

  1. Homework assignments will be of the ``paper-and-pencil'' variety, to be done at home.

  2. The purposes of homeworks are:

    • to give you practice in applying the concepts covered in the course

    • to give you a chance to assess the level of your understanding

  3. There will be approximately 1 HW each week.

  4. Due dates will be announced in lecture when the homework is assigned. HWs will be collected at the start of lecture on the due date. If you try to hand yours in after they have been collected (e.g., at the end of lecture, in my mailbox, in the TAs' mailboxes, etc.), it will not be accepted. To repeat:

    NO LATE HOMEWORKS WILL BE ACCEPTED.

    This is so that the homework can be discussed in the class period when it is due.

  5. Put your full name, date, and your recitation (R1, R2, R3) at the top right-hand side of each page, and secure all pages with a staple in the top left-hand corner.

  6. Note: The lowest homework grade will be dropped; you should assume that you will fail to turn in one homework (oversleep, get stuck in traffic, etc.) - that's the one that will be dropped. If you know now that you will regularly be late, see me to make alternative arrangements for turning in your work. Your graded HW will be returned in recitation. Occasional extra assignments or quizzes from recitation can be used to replace low HW grades, at your TA's discretion.

PROJECTS:

  1. Lisp and Unix: The prerequisite for this course is knowledge of programming in Common Lisp. The implementation for this course is Allegro Common Lisp (acl), which runs under the Unix operating system. If you don't have an account on one of the department's or the university's Unix machines, please get one. (To do this, first get an account on the CIT ubunix machines; then send mail to cs-accounts@cse.buffalo.edu asking for an account on Armstrong for CS 472 or CS 572.) You will be expected to learn how to use Unix and to learn the idiosyncrasies of Allegro Common Lisp on your own (the Shapiro text should be of help). For more information on Lisp, see ``An Introduction to Common Lisp''. CIT offers short courses on Unix, etc., or call 645-3542, or email consult@acsu.buffalo.edu for more information).

  2. Project Policies:

    • For each project, you will be expected to hand in a paper, typed or printed from a computer file, on 8.5 by 11 inch paper (stapled in the upper left-hand corner, without sprocket holes, and with your own title page), plus a well-documented listing of your program. (Please do not use folders or covers, unless your report is too thick to be stapled.) I strongly suggest that you learn to use Latex and ispell.

      The main product of your work is the paper, not the program! In the paper, you should say what you have done, and say (in English summary, not in programming detail) how you have done it. It should also include annotated examples of your program in action. These should be well chosen to illustrate the range of performance of your program. The examples should not be redundant, nor included merely because they look complicated. Each example should illustrate a particular ability of your program. Nevertheless, the reader will assume that your program does nothing interesting that isn't illustrated!

      The listing should either be presented as figures throughout the paper, or as an appendix. In either case, the listing is included as documentation for what you say in the paper.

      Thus, each report must consist of the following components:

      • descriptive title (not: ``Project 1'')

      • your name, the course number (either CS 472 or CS 572), & date completed

      • abstract of project (a 1-paragraph summary)

      • description of the project (the body of the paper)

      • list of references (if appropriate)

      • annotated sample runs (could be part of the description of the project)

      • commented code (could be as an appendix)

    • Late policy for projects:

      • Projects must be handed in at the start of lecture on the due date.

      • Projects handed in between the start of lecture on the due date and the start of the next class are 1 day late.

      • Projects handed in between the start of class on the nth day after the due date and the start of the next class are n+1 days late.

      • Each project that is n days late loses n full letter grades. (E.g., an `A' paper that is 1 day late gets a `B'.)

      • Rule of thumb: In general, you are better off handing in an incomplete project - with a report that indicates what programming problems you had and what you left unfinished - than handing in a late project that is complete.

  3. Just as you cannot expect to learn how to drive a car by reading about it or by watching other people do it, the same holds true for doing AI. Do your work on time - this is one course you simply cannot cram for at the last minute, so don't even try! I cannot stress this strongly enough. Remember that the homeworks and projects may be fairly time-consuming, so please consider your other commitments, and plan your time accordingly.

GRADING:

Students in CS 472 and CS 572 will be graded differently. All graded work will receive a letter grade, `A', `A-', `B+', `B', `B-', `C+', `C', `C-' (472 only), `D+' (472 only), `D', or `F'. Your course grade will be calculated as a weighted average of all letter grades according to the following weights:

Recitation Assignments
(including attendance, homeworks, synopses, quizzes, etc.)
25%
Projects 25%
Midterm Exam 25%
Final Exam 25%
Total 100%

Incompletes:

It is University policy that a grade of Incomplete is to be given only when a small amount of work or a single exam is missed due to circumstances beyond the student's control, and that student is otherwise doing passing work. I will follow this policy strictly! Thus, you should assume that I will not give incompletes:-) Any incompletes that I might, in a lapse of judgment:-), give will have to be made up by the end of the Fall 1997 semester.

SOME OTHER WORLD WIDE WEB SITES FOR A.I.:

ACADEMIC HONESTY:

While it is acceptable to discuss general approaches with your fellow students, the work you turn in must be your own. If the work of two or more students appears unjustifiably similar, penalties will be assessed to all concerned. If you have any problems doing the homeworks or projects, consult the TA(s) or Prof. Rapaport. Also, see ``Conditions of Use of Computing & Information Technology Facilities''.

William J. Rapaport (rapaport@buffalo.edu)
file: syl.11fb97.html