CMSC 471: Introduction to Artificial Intelligence
Fall 2009
Last revised 8/28/09
Class Time and Location
Tuesday and Thursday, 11:30 a.m. to 12:45 p.m.; Sondheim 114.
Course website: http://www.csee.umbc.edu/courses/undergraduate/471/fall09/
Course Staff
Instructor
Dr. Marie desJardins
mariedj@cs.umbc.edu
ITE 337
410-455-3967
Office Hours: Tuesdays 10:00-11:00, Thursdays 3:30-4:30
Teaching Assistant
Denise Rockwell
drock2@umbc.edu
Office: ITE 340
Office Hours: Tuesdays 3:00-4:00, Wednesdays 1:00-2:00
Schedule
This course schedule is 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.
Course Description
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 the techniques and their application. Specific topics
we will cover include the history and philosophy of AI, Lisp, 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.
Prerequisite
CMSC 341 and strong programming skills. Important material that
you should have learned in CMSC 203 and/or CMSC 341 includes
Boolean logic, basic probability theory and combinatorics, big-O
complexity analysis, algorithm design, and data structures.
If you did not learn much about these topics (or don't remember the
material), you may have to brush up on them on your own.
Additional probability theory/statistics, linear algebra, and
complexity theory will also be useful, but are not required.
Textbooks
We will be using the following:
Required textbooks -
Artificial Intelligence: A Modern Approach,
2/e, Stuart J. Russell and Peter Norvig. Prentice Hall, 2002. ISBN: 0137903952. Note: The website for this book has links to many useful online AI/Lisp
resources.
(Note that we were meant to be using the 3rd edition of this book,
but it will not be available until mid-semester, at the earliest.)
-
ANSI Common Lisp, Paul Graham. Prentice Hall, 1995. ISBN: 0-13-370875-6.
Software
We will be using CLISP, a public-domain
implementation of Common Lisp that is installed on the department and
gl Unix
machines, in /usr/local/bin/clisp. You can also download a version that will
run on a PC (Linux or Windows) or a Mac.
471 mailing list
WARNING: This mailing list will not be available until the semester
actually starts.
You should subscribe to the class mailing list by sending a message to
listproc@listproc.umbc.edu with the line:
subscribe cs471 Your Name
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. Responses posted by students to the list must follow the
academic integrity guidelines outlined above, so you should may wish check
with the instructor and/or TA before posting answers to questions about homework.
(For example, posting a clarification to the meaning of a question is probably
OK, but posting hints about the answer is not.) Individual concerns, requests
for extensions, questions about individual grades, and the like should be
sent to the instructor and/or the TA as appropriate (preferably to both of
us).
Communication
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 a semi-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). If the door is partially ajar, feel free to
interrupt if you have a pressing concern. If the door is closed, please
do not knock unless it is a genuine emergency. (Also, 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 (or on Monday for email sent over the weekend).
Grading
Course grades will be based on the following work. The final weighting
may be changed slightly.
Homework (six biweekly assignments) |
40% |
Course project |
25% |
Midterm exam |
10% |
Final exam |
20% |
Class participation |
5% |
Please refer to the class grading policy.
Homework
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. Extensions of up to one
week may be granted on an individual basis by the instructor, 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 the beginning of class on the due date.
(That is, an assignment due on a Thursday will be due at 11:30am on Thursday,
and must be turned in in class. If you will miss class, you must arrange
for your homework to be turned in to the instructor or TA during or before
class.) 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
Exams
There will be one in-class midterm 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.
Academic Honesty
This course adheres to the Provost's statement on academic integrity:
"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."
Cheating in any form will not be tolerated. In particular, examinations
are to be your own work. You may discuss the homework assignments with anyone.
However, any help you receive must be documented. At the beginning
of your assignment or program, you must explicitly indicate the sources
you used while working on it (excluding course staff and text), and the type
of help you received from them. If you do not include such a statement, the
course staff will assume you worked entirely independently. Any indication
of collaboration with other students in this case will be considered a violation
of the academic honesty policy.
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 help 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 at the
point of the quotation, with proper citation. Plagiarism of any source,
including another student's work, is not acceptable.
Any violation of the academic honesty policy will result in a minimum
penalty of a zero grade for that assignment. Additional penalties, depending
on the severity of the offense, may include a reduced or failing grade for
the class.
Acknowledgements
Thanks to Tim Finin (UMBC), Berthe Choueiry (University of Nebraska -
Lincoln), Daphne Koller (Stanford University), Eric Eaton (formerly of
UMBC), and Don Miner (UMBC) for making their course
materials publicly available on the web. Some of the course materials (slides
and homeworks) have been adapted from those sources.