Last revised 9/13/01
Who, what and where
This course will serve as an introduction to artificial intelligence concepts
and techniques. We will use object-oriented programming methods in Lisp
as a computational vehicle for exploring the techniques and their application.
Specific topics we will cover include the history and philosophy of AI,
object-oriented programming and the Lisp programming language, the agent
paradigm in AI systems, search, game playing, knowledge representation
and reasoning, logical reasoning, uncertain reasoning and Bayes nets, planning,
and machine learning. If time permits, we may also briefly touch on multi-agent
systems, robotics, perception, and/or natural language processing.
CMSC 341 and strong programming skills. CMSC 441 or exposure to the theory
of complexity of algorithms will also be useful.
When and Where
Tuesday and Thursday from 4:00 to 5:15 in SS203.
Suryakant Sansare, email@example.com.
hours Monday/Wednesday, 2:00-3:00.
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. Each student will be expected to make one ten-minute
presentation during the semester, on a topic to be assigned. The presentation
schedule is here.
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). Although I have substantial past teaching and advising experience,
this is my first semester at UMBC, and my first time teaching the class.
I expect that there will be some glitches, and I welcome your feedback
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
Course grades will be based on the following work. The final weighting
may be changed slightly.
|Quiz and midterm exam
|Class participation and presentation
Please refer to the class grading
There will be seven 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. Extensions of
up to one week may be granted on an individual basis by the instructor
or TA, if requested in advance. Repeated requests for extensions,
or requests for extensions at the last minute, will be denied other than
in extraordinary circumstances.
Homeworks will be at midnight on the due date. (That is, an assignment
due on a Tuesday will be due at midnight on Tuesday night.) A penalty for
late homework will be applied as follows:
0 to 24 hours late: 25% penalty
24 to 48 hours late: 50% penalty
48 to 72 hours late: 75% penalty
More than 72 hours late: no credit will be given
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
Cheating in any form will not be tolerated. In particular, examinations
are to be your own work. You may discuss the programming assignments with
anyone. However, any help you receive must be documented. At the
beginning of your program, you must include a comment indicating the sources
you used while working on it (excluding course staff and text), and the
type of help you received from them. If you received no help, say so. Failure
to include this comment at the top of your program will result in your
program being returned ungraded.
The implementation of the programming assignments must be your own work.
If you are stumped on a particular error, you may consult with someone
else; however, if you consult with someone other than the instructor, the
TA, or the consulting desk, you must place a comment in your code near
the point of the error, stating the source and scope of the help you received.
Reasonable help will not affect your grade; failure to cite your sources
is academically dishonest, and will be dealt with harshly.
Written answers on essay questions for homeworks and exams must be your
own work. If you wish to quote a source, you must do so explicitly. Plagiarism
of any source, including another student's work, is not acceptable and
will result in a zero grade for that assignment.
We will be using CLISP, a public-domain
implementation of Common Lisp that is installed on the department's Unix
machines (/usr/local/bin/clisp). You can also download a version that will
run on a PC (but not a Mac), under Linux or Windows. More information will
be made available at a later date.
671 mailing list
There is a class mailing list to which you should subscribe. Send e-mail
to firstname.lastname@example.org with a single line:
subscribe cmsc671 Your Name
subscribe cmsc671 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. Individual concerns,
requests for extensions, questions about individual grades, and the like
should be sent to Prof. desJardins and/or Suryakant 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.