Agent Architectures and Multi-Agent Systems - Spring 2002

Last updated 1/22/02


Prof. Marie desJardins
ECS 216
(410) 455-3967 / fax (410) 455-3969

Teaching Assistant

Gunjan Kalra,

Course Description

This class focuses on fundamental techniques for developing intelligent agents and multi-agent systems. In the first part of the class, we will study a wide variety of architectures for building intelligent agents, including cognitive, logic-based, reactive, belief-desire-intention, and layered architectures. We will read, discuss, and compare research papers on each of the models. In the second part of the class, we will learn about key issues in designing and implementing multi-agent systems, including inter-agent communication languages and protocols, distributed problem solving, planning, and constraint satisfaction methods, distributed models of rational behavior, and learning and adaptation in multi-agent systems. In this part of the class, students will build an agent for a particular domain (either a trading competition or robot soccer). At the end of the semester, we will have a tournament among the students' agents.

When and Where

CMSC 691M will meet Tuesday and Thursday from 4:00 - 5:15 in MP008.


CMSC 671 or CMSC 471. (Undergraduates may enroll with permission of the instructor.)


  1. Course reader, to be placed on reserve at the UMBC library. The bibliography of papers (some are in the reader; the others are available online) is here. Links to the online papers can be found in the syllabus.
  2. Multiagent Systems: A Modern Approach to Distributed Artificial Intelligence, Gerhard Weiss, ed., MIT Press, 1999. ISBN 0-262-23203-0. Available at the bookstore.


This syllabus and course schedule are subject to change.


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 prepare short summaries of the reading, to prepare answers to questions on the reading for each class, to lead at least one classroom discussion, and to take notes for distribution during at least class.

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). This is a new class, and you should expect that the format and content of the course will change over the semester. I expect that there will be some glitches, too, and I welcome your feedback 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). (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.

Coursework and Grading

Course grades will be based on the following work. This will almost surely change as we see how the class works out. I will inform the class in a timely manner of any changes.
Class discussion  20%
Discussion leading and note-taking 10%
Reading summaries 15%
Midterm paper/study  25%
Midterm paper review 5%
Agent implementation project 25%

Class participation (45% total). This class is a graduate seminar, designed not only to teach the students about agent architectures and multi-agent systems, but to hone your skills in reading and evaluating technical papers, discussing and comparing different approaches, and applying these methods in practice. This course format demands that all students participate actively in class discussions (20%). (Students who are not comfortable speaking up in a class, and who do not wish to improve their skills in "public" speaking, should probably not take this class!)

Students are expected to read the assigned papers or chapters prior to each class. A set of discussion questions/topics will be assigned for each paper. Each student will be asked to turn in a short summary (15%) of the assigned reading at the beginning of each class. I will distribute the best of these summaries as study aids. (If your summary is selected for distribution, you will receive extra credit, in an amount to be determined.)

Many classes--particularly in the Agent Architectures part of the class--will be primarily discussion sessions. For these classes, there will be an assigned discussion leader and an assigned note taker (10%). These roles will be assigned randomly, in advance of the class. The discussion leader will give a very brief summary of the key points of the paper, and will then lead the discussion. The note taker will record the highlights of the ensuing discussion, in which everyone is expected to participate. The note taker will type up their notes and give them to the TA, who will prepare copies to distribute to the class. (Notes are due on the following Monday for both Tuesday and Thursday classes.)

Other classes will be structured in a more traditional lecture style; in still others, we will engage in different types of learning exercises. (Translation: we're going to try different things and see what works.)

Midterm paper/study (25%). For the Agent Architectures part of the class, each student will investigate two (or more) of the approaches we are studying, and will write a comparative paper. The research for this paper may include downloading and trying out publicly available software, implementing your own version of the systems, and/or reading in greater depth. Students may work together on these research tasks, but must submit their own paper. A proposal for your midterm paper will be due on February 26 (5% of paper grade); a draft will be due on March 14 (40% of paper grade) and the final paper will be due on April 16 (55% of paper grade).

Midterm paper review (5%). Each student will be randomly assigned another student's midterm paper draft to review and comment on.  This will give you an opportunity to learn more about that student's topic, and also a chance to gain hands-on experience with the reviewing process for technical papers. We will discuss the criteria for a "high-quality" review prior to this exercise. The review will be due on April 2.

Agent implementation project (25%). In the Multi-Agent Systems part of the class, students will work in teams or individually to implement an agent for a particular problem domain.  The domain will most likely be either a trading agent competition or robot soccer. Both of these domains are available on the web, and are used in the agent research community as testbeds for agent competitions. At the end of the semester, we will have a tournament among students' agents [winning isn't part of your grade, but participating is!]. Each student will submit a project report and/or give a poster presentation on their project. There will be at least one "dry run" testing day (tentatively scheduled on May 7) to try out your agents before the tournament itself.

Late policy. Assignments are expected to be turned in on time. Paper summaries are due at the beginning of class. All other assignments are due at midnight on the due date. Each student will be given seven "days of grace" that they can use over the course of the semester. Each day (or part of a day) that an assignment is late will use one of your grace days. After the grace days are used, any subsequent late assignments will receive a zero grade.

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 691M course policy on academic honesty. Each student will be asked to sign a copy of the academic honesty/grading policy, indicating that they have read and understood it.

Cheating in any form will not be tolerated. In particular, all assignments are to be your own work. You may discuss the assignments with anyone. However, any help you receive must be documented. At the beginning of each assignment, 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. Failure to include such a statement will result in the assignment being returned ungraded. You may resubmit such a returned assignment once over the course of the semester.

Written answers on essay questions for homeworks and papers must be your own work. If you wish to quote a source, you must do so explicitly, using quotation marks and proper citation at the point of the quote. Plagiarism (copying) of any source, including another student's work, is not acceptable and will result in at a minimum a zero grade for the entire assignment. gives an excellent overview of how to correctly cite a source. has guidelines on acceptable paraphrasing.

691m Mailing List

There will be a class mailing list to which you should subscribe. 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, questions about grades, and the like should be sent to Prof. desJardins.