Up: Len's Home page
Knowledge Representation and Reasoning in AI
Instructor: Lenhart Schubert
N.B.: Updating of this site from 2021
to 2022 is currently in progress
Classes: Tuesdays and Thursdays, 9:40am-10:55am, Hylan 102
Office Hours: Tues 5:00-6:00pm & Thu 5:00-6:00pme
Office: WEGMANS 3003
e-mail: my-last-name at cs dot rochester dot edu
Grad TA: Pranay Mundra (p last-name at ur dot rochester dot edu)
UG TAs: Draco (Yun Long) Xu (y last-name 103 at u dot etc),
Riya Sharma (r first-4-letters-of-last-name 26 at u dot etc)
TA Office hours (Pranay): Mon 10:30-11:30am, 2:00-3:00pm, WH 2305
Goals of the course
The main goal in Knowledge Representation and Reasoning in AI is to learn
about techniques for representing factual knowledge (typically, the sort of
knowledge that we can easily express in ordinary language, though also some
kinds of knowledge calling for specialized representations, such as temporal,
taxonomic, & 3D spatial relations), and using such knowledge for making
inferences (deductive or uncertain), and for planning courses of action to
achieve goals. Students will thereby gain an appreciation of the fundamental
role that knowledge representation and reasoning (KR&R) play in intelligent
Practically speaking, students will reach the point where they can write
programs for basic KR&R tasks, and make sense of the current research
literature in this area; CSC 444 students will also learn about a subtopic
of their choice in greater depth, by completing a project based on reading
some recent papers or books and (perhaps) writing programs that implement
some ideas they have.
The standard prerequisites are CSC 173 (computation & formal systems)
and CSC 242 (a general course on AI). A solid math background and basic
knowledge of logic and programming may suffice as well (check with instructor).
Some prior exposure to functional programming (esp. Scheme, Lisp or Haskell,
or basics of lambda-calculus) can be advantageous.
The grade for the course will be based on homeworks assigned every other week,
plus three Lisp programming assignments, a midterm and final test, and,
for 444 students, a research/essay project. See the
course schedule for % weights.
For any further grading details, see the grad TA's homepage for 244/444
(when it becomes available).
Here is a link to a pdf file providing
guidelines for the graduate project (to be brought up to date by Sep. 13).
The text and supplementary texts are
- Brachman & Levesque, Knowledge Representation and Reasoning
(Morgan Kaufmann, Elsevier, 2004); this is required for grads, a reference for UGs
- Genesereth & Nilsson, Logical Foundations of Artificial Intelligence
(Morgan Kaufmann, 1987); This is a useful occasional reference for grads and UGs,
elaborating on some formal topics.
- Russell & Norvig, Artificial Intelligence (Prentice-Hall, 4th
This is supplementary for grads and recommended for UGs as a very readable,
general book on AI, often used in our department in CSC 242.
- Wilensky, Common LISPcraft (Norton); or Peter Seibel,
Practical COMMON LISP, Apress, 2005. These are a recommended
texts for learning Lisp. But see also the excellent text by Peter
Norvig, Paradigms of Artificial
Intelligence Programming; the quite comprehensive free online book
Practical Common Lisp;
the collaboratively developed, more brisk Common Lisp guide
Common Lisp Cookbook;
and "Cliki", the Common Lisp
Tutorial Wiki, containing some useful quick introductions for beginners.
The following are a couple of brief in-house introductions to
Lisp Intro (LKS),
Lisp Tutorial (GK)
Here is a lecture-by-lecture Course
The assignment hand-out and turn-in dates are firm.
Latex'd notes will be provided for a majority of the topics in the class,
along with more sketchy slides.
Here is a link to the
to be gradually developed; and here are corresponding
Some supplementary notes and interesting links: