UMBC CMSC471, Fall 2002 CSEE

CMSC 471
Last revised 8/26/02

Who, what and where

This course will serve as an introduction to artificial intelligence concepts and techniques. We will use the Lisp programming language as a computational vehicle for exploring these techniques and their application. Specific topics we will cover include the history and philosophy of AI, the Lisp programming language, the agent paradigm in AI systems, search, game playing, knowledge representation and reasoning, logical reasoning, uncertain reasoning and Bayesian networks, planning, and machine learning.


CMSC 341 and strong programming skills. CMSC 441 or exposure to the theory of complexity of algorithms will also be useful.

When and Where

Monday and Wednesday from 3:30 to 4:45 in SS205.


Teaching Assistant

Joe Catalano,, office hours Monday 2-3, ECS 334


syllabus and course schedule are subject to change. We will follow the Russell and Norvig textbook fairly closely, with some additional background material on Lisp and other topics of interest.


We will be using the following:


As you will learn, I am a strong believer in two-way communication. I expect all students to participate in classroom discussions, both by asking questions and by expressing opinions. In return, I will make myself available to answer questions, listen to concerns, and talk to any student about topics related to the class (or not). I welcome your feedback throughout the semester about how the course is going.

In addition to regular office hours, I maintain an open-door policy: you should feel to stop by to ask questions, or just say hello, whenever my door is open (which it generally will be unless I am out of the office, in a meeting, or deep in thought). (I'm not that great at remembering names, so please don't be offended if I ask you several times to re-introduce yourself!) I will also make a concerted effort to answer e-mail within 24 hours.


Course grades will be based on the following work. The final weighting may be changed slightly.
Homework  45%
Course project  15%              Project website
Two midterm exams  10% each
Final exam  15% 
Class participation  5%

Please refer to the class grading policy.


There will be six homework assignments. The homework assignments will have a mix of written and programming components. Each assignment will have a due date and is expected to be turned in on time. Please refer to the class grading policy for homework submission requirements and penalties for late homeworks.


There will be two in-class examinations and a final examination. The material covered by the exams will be drawn from assigned readings in the text, from lectures, and from the homework. Material from the readings that is not covered in class is fair game, so you are advised to keep up with the readings. Similarly, material from lectures that is not covered in the textbook is fair game, so you are advised to attend class!

Academic Honesty

By enrolling in this course, each student assumes the responsibilities of an active participant in UMBC's scholarly community, in which everyone's academic work and behavior are held to the highest standards of honesty.  Cheating, fabrication, plagiarism, and helping others to commit these acts are all forms of academic dishonesty, and they are wrong. Academic misconduct could result in disciplinary action that may include, but is not limited to, suspension or dismissal.  To read the full Student Academic Conduct Policy, consult the UMBC Student Handbook, the Faculty Handbook, or the UMBC Policies section of the UMBC Directory. [Statement adopted by UMBC's Undergraduate Council and Provost's Office.]

All students must read, understand, and follow the CMSC 471 course policy on academic honesty. Each student will be required to sign a copy of the academic honesty/grading policy, indicating that they have read and understood it.


We will be using CLISP, a public-domain implementation of Common Lisp that is installed on the gl Unix machines (/usr/local/bin/clisp). You can also download a version that will run on a PC (and for Macs running OS X), under Linux or Windows. More information will be made available at a later date.

471 mailing list

There is a class mailing list to which you should subscribe. Send e-mail to with a single line:
subscribe cs471 Your Name
for example
subscribe cs471 Marie desJardins
If your request is successful, you will receive an e-mail telling you that you are now subscribed to the list, how to post messages, and how to unsubscribe. Class announcements, hints, and discussion of assignments will be posted on this list. You can also send messages to the list to ask questions of your fellow students and/or TA and professor.

General questions (i.e., anything that another student may also be wondering about) should be sent to the list, so that everyone will be able to benefit from the answers. Students are welcome to post answers to questions, even if the questions were directed at the course staff. Specific answers to homework problems should not be posted. Individual concerns, requests for extensions, questions about individual grades, and the like should be sent to the instructor and/or TA as appropriate (preferably to both of us).


Thanks to Tim Finin (UMBC), Berthe Choueiry (University of Nebraska - Lincoln), and Daphne Koller (Stanford University) for making their course materials publicly available on the web. Some of the course materials (slides and homeworks) have been adapted from those sources.