CMSC 471, Section 0101 - Fall 2007
Artificial Intelligence


Class Time and Location

Monday and Wednesday, 1:00 PM - 2:15 PM, ITE 233

Course Website:

Teaching Staff

Instructor: Eric Eaton
Offices: ITE 220, ITE 339. I will be in ITE 220 during my scheduled office hours. If you need to find me other times, you can find me in my research lab, ITE 339.
Office Hours: Monday 2:30pm-3:30pm, Wednesday 11:30am-12:30pm in ITE 220, and by appointment.

Teaching Assistant: Aaron Curtis
Office: ITE 353 (ext 5-8963)
Office Hours: TuTh 1:00-2:00pm

Course Description

Here's the UMBC catalog description: This course is designed as a broad introduction to artificial intelligence. Topics include an overview of Artificial Intelligence (AI), its subfields and applications; knowledge representation, techniques and issues; natural language understanding; search; logic and deduction; basic robot plan generation; expert systems; handling uncertainty and learning.

And here's my description: Artificial Intelligence is, in my opinion, the coolest and most exciting subfield of computer science. In this course, we will explore several major areas of AI, including search, knowledge representation and reasoning, planning, machine learning, and game playing. We will also relate these topics to their applications in robotics, computer gaming, medical diagnosis, computer vision, natural language understanding, and many other areas. Google, NSA, and NASA all use AI technology. AI's successes, such as the IBM Deep Blue chess program beating Kasparov (1996), the DARPA grand challenge autonomous vehicle competition (2005), and solving checkers (July 2007) are well-publicized and very popular.


Required Textbooks:

Stuart J. Russell and Peter Norvig, 2002. Artificial Intelligence: A Modern Approach, 2nd edition, Prentice Hall. ISBN: 0137903952.

The website for this book has links to many useful online AI/Lisp resources.

Paul Graham, 1995. ANSI Common Lisp, Prentice Hall. ISBN: 0-13-370875-6.
Optional Textbooks:

Guy L. Steele, Jr., 1990. Common Lisp : The Language, Digital Press, 1990. ISBN: 1555580416. Text available online at

This is the reference manual for Common Lisp. It isn't required for the course, since most of you will find the online version sufficient as a resource, but there is a print version if you like real books.


Course Outline

The course will be broken up into the following rough sections:

See the course schedule for more details.

Course Mailing List

A course mailing list has been established for distributing news and discussing course-related topics. Students should feel free to post general problems, news articles, questions, and answers to the list for the benefit of the entire class. At no time should students post homework solutions or solutions to exam questions to the course mailing list; posting such solutions will be interpreted as academic dishonesty.  Posting such solutions will be the sole responsibility of the course staff.  Individual concerns should be e-mailed directly to course staff.

To join the list, visit, log-in with your myUMBC username, and choose the option to subscribe to the list.

Although not required, it is highly recommended that you subscribe to the course mailing list. If you do not subscribe to the list, there is no guarantee that you will receive up-to-date information about the course.

To post to the course mailing list, send email to


As you will discover, I am a proponent of two-way communication. I expect everyone to participate actively in classroom discussions by asking questions, contributing answers, and proposing ideas. I welcome feedback during the semester about the course.

In return, I will make myself available to answer student questions, listen to concerns, and talk about any course-related topic (or otherwise!). Come to office hours! This helps me get to know you. Also, you are welcome to stop by my office and chat. There are many more exciting topics to talk about that we won't have time to cover in-class. If you don't find me in ITE 220, check my research lab, ITE 339.

Whenever you e-mail the instructor or TA, please use a meaningful subject line and include the phrase "CMSC 471" at the beginning of that line. Your e-mail will catch my attention and I will respond quicker if you do this. I make an effort to respond to e-mails within 24 weekday hours.


Your final grade will be composed of :

Your final grade will be determined according to the following criteria:

90% <= A <= 100%
80% <= B < 90%
70% <= C < 80%
60% <= D < 70%
0% <= F < 60%

These criteria may be adjusted slightly in your favor. Incomplete grades will be given only for verifiable medical illness or other such dire circumstances.

Homework Assignments

There will be six (6) homeworks assigned over the course of the semester. Each homework will be assigned at least one week in advance of its due date. The homework assignments will be a mix of written, programming, and analytical components.

Homework assignment solutions must be turned in at the start of class in typeset hardcopy on the designated due date.  Homework assignments can be submitted up to 24 hours late for a 25% penalty, and 48 hours late for a 50% penalty. No submissions later than 48 hours will be accepted.  Extensions will be given only in the case of verifiable medical excuses or other such dire circumstances, if requested in advance.

0-24 hours late: 25% penalty
24-48 hours late: 50% penalty
more than 48 hours late: no credit

Penalties are applied by taking off that percentage of the points you would have earned:
     your_score_without_penalty * (1 - penalty) = your_score_with_penalty.
For example, if you would have earned a 90% on the assignment, but you turned it in 5 hours late, your score would be
     90% * (1 - 0.25) = 67.5%.

All homework solutions must be typeset. Any solutions requiring math or proofs must use proper mathematical notation. Similarly, graphs should be well-constructed with all axes properly labeled. I highly recommend the use of the LaTeX text formatting system, but you can use any program capable of producing proper mathematical notation. The main course page contains links to good LaTeX websites and links to example files.

All solutions are required to be your own, individual work. You may, and are encouraged, to discuss methods, concepts, and assignments with anyone; however, the solutions turned in must be your own work. A good rule of thumb is to be alone when you sit down to actually generate solutions to the assigned problems, and to not show your solutions to anyone else.

At the top of your submission, you must include a clear statement specifying the source of any assistance you received on this assignment.  This includes any websites you consulted, other students with whom you discussed any of the problems, etc.  If you did not receive any assistance, you must say so.  Submissions without this statement will be penalized.

Lectures and Readings

You are expected to attend all classes.  You are responsible for all material covered in the lecture (including material that is not included in the textbook), and all material in the readings (including material that is not covered during lecture).   You are responsible for familiarizing yourself with the assigned readings before each class.  If you miss a class, you are responsible for getting the notes and any verbal information given during class from a fellow classmate.  If handouts were given out or assignments returned, you may come to my office to get them.



There will be one midterm and a final exam. The exams will be closed-book and closed-notes. Test dates for all exams have already been announced, so plan your schedule accordingly. In the case of verifiable medical excuses or other such dire circumstances, arrangements must be made with the instructor for a makeup exam. You are responsible for initiating these arrangements, not your instructor, before the test date.

Exams will cover material from lectures, homeworks, and assigned readings (including topics not discussed in-class). So, keep up with those readings!

UMBC Statement of Values for 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. [Statement adopted by UMBC's Undergraduate Council and Provost's Office.]

For additional details on university policies on academic integrity, see the UMBC Undergraduate Student Academic Conduct Policy and the Faculty Handbook, Section 14.2 -- POLICY ON FACULTY, STUDENT, AND INSTITUITIONAL RIGHTS AND RESPONSIBILITIES FOR ACADEMIC INTEGRITY

Any violation of the UMBC academic honesty policy will carry the following minimum penalty: the student will receive no positive credit on the assignment, and the assignment will count against the student's final grade by the full amount it was worth. For example, cheating on an assignment worth 10% of the final grade would result in the student getting no credit for completing the assignment and the assignment counting 10% against their final grade, giving them a maximum possible grade of 80% in the class.

Cheating in any form will not be tolerated. Cheating includes but is not limited to: copying a solution from another student or the internet (or providing your solution to another student), plagarism, working in collaboration with another student on individual work, and using resources prohibited by the assignment.

Instances of cheating will be reported to the UMBC Academic Conduct Committee. These reports are filed by the Committee and can be used for disciplinary action such as a permanent record on your transcript. You are expected to be honest yourself and to report any cases of dishonesty you see among other students in this class. Reports of dishonest behavior will be kept anonymous.

Legitimate Collaborations

All of this being said about academic honesty, I do want to encourage you to discuss the material and work together to understand it. Here are my thoughts on collaborating with other students:

If you have any questions as to what types of collaborations are allowed and which are dishonest, please ask me before you make a mistake.


Thanks to Marie desJardins, Tim Finin, and Terran Lane for making their course materials available. Many of the course materials for this class have been adapted from those sources.

Last Modified: 2007-08-29