General Information


Course Description

[from the 2015-17 Cal Poly Catalog]: "Current research in the field of artificial intelligence with emphasis on cooperative agents, distributed agents, and decision making in complex, concurrent environments. AI programming in a distributed environment."
This course explores the topic of intelligent agents. It discusses the differences between agents and conventional computer programs, investigates different types of agent architectures, and examines various important aspects and applications of intelligent agents in more detail.
Prerequisites: CSC/CPE 480 and graduate standing, or consent of instructor.
Knowledge of Java or similar languages (C++, Python) is expected for homework assignments and term projects.
The goal of the course is to understand important problems, challenges, concepts and techniques dealing with the use of intelligent agents for computational tasks. Upon satisfactory completion of this course, the student will:
  • Understand the fundamental concepts in the study intelligent agents.
  • Be familiar with the basic concepts, methods, techniques, and tools for the use of intelligent agents in computer-based systems.
  • Understand the components and functions of intelligent agents.
  • Apply the principles and methods of intelligent agents to a small-scale practical problem within the framework of a term project.
  • Be prepared for further study in the design, implementation, and application of agent-based systems.
  • Critically evaluate current trends in intelligent agents and their manifestation in business and industry.
In order to achieve these goals, students learn how to analyze, design, implement and evaluate intelligent agent programs and systems of varying complexities. The core aspect of these systems is to offer support to human users, in particular with relatively tedious or possibly dangerous tasks that are difficult or impossible to solve with conventional technology, or to perform limited tasks in realistic environments with a high degree of autonomy.

Meeting Times and Places


  • Lecture Section: Tue/Thu, 3:10 - 4:30 pm, in 14-257
  • Lab Section: Tue/Thu, 4:40 - 6:00 pm in 14-257
  • Instructor: Dr. Franz J. Kurfess
  • Office hours: Tue/Thu 2:10 - 3:00 pm, Wed 2:10 - 5:00 pm (as of 8/28/16; may change due to meeting schedules)
  • Office: 14-218, Email fkurfess@calpoly.edu

Textbooks and Course Material


The slides I'm using in the lectures will be made available either through this Web site, or the PolyLearn system.
Most of the books and articles on "intelligent agents" are research monographs, or collections of research papers. Textbooks on Knowledge-based Systems and Artificial Intelligence mostly concentrate on questions related to the representation and manipulation of knowledge through computers and various techniques used for that purpose, but not so much on aspects that distinguish intelligent agents from traditional artificial intelligence approaches.
The following books contain some interesting chapters, and are suitable for specific topics. The schedule for the course contains pointers to those chapters under the respective topic.
I've put together a longer list of books on this topic on Amazon.
A nice overview of the
literature on intelligent agents is at the Web site of the American Association of Artificial Intelligence (AAAI).
Some agent environments are based on the Jess system, which is described in

Further material will be made available through handouts in class, and through pointers to relevant Web pages.

Grading Policy





Assignments30%
Individual Presentation/Paper30%
Team Project30%
Participation
10%
The table gives an overview of the calculation of the grades. I reserve the right, however, to change the formula used. Please note that the project consists of several parts that will be evaluated separately. The project will also be done in teams, and the performance of the team as a whole will be graded unless there is a clear disparity in the contribution of the individual team members. Should this be the case, I might ask for additional documentation like work sheets, email messages, or draft copies of documentation to evaluate individual contributions.

Academic Dishonesty and Cheating


The expectations below are based on Cal Poly’s Code of Student Conduct.
Academic dishonesty can be a serious offense. Any instances of cheating or plagiarism may be reported to the department chair and the Office of Student Rights & Responsibilities (OSRR). The Cal Poly rules and policies are listed in the Cal Poly catalog as well as at the OSRR web site, http://www.calpoly.edu/~osrr/index.html. If the rules are unclear or you are unsure of how they apply, ask the instructor beforehand.
We may use programs or services like Moss to compare programming assignments within a section, across all current sections of this class, and with old assignments. While such programs are not perfect, they detect suspicious similarities even after replacement of variable names and other identifiers. In general, the use of program libraries is acceptable, but not if they provide functionality whose implementation is the purpose of the lab or assignment. If you use libraries you need to indicate this in the documentation. Unless explicitly stated, assignments and labs are to be done individually.
Turning in work is presumed to be a claim of authorship unless explicitly stated otherwise.