(under construction)

CSCI 4151.03
Title: Agent-Based Computing


Course Description:

The term Agent is used to describe "active, persistent software components that perceive, reason, act and communicate" (Huhns&Singh1998). The course will examine software techniques for implementing intelligent agents in the Java programming language. First, advanced Java classes necessary for agent software will be reviewed, including threads, streams, client- server, and the Aglets extension. Second, techniques from AI will be introduced and applied in the agent context, including neural networks, genetic algorithms, reinforcement learning, and rule- based systems. The emphasis of the course will be on software design and a balanced introduction to symbolic and numeric AI techniques, with enough of the underlying theory covered to allow students to implement simple software agents in Java.

Course Outline:

A. Advanced programming language features for agent software
Threads
Streams
URL, sockets, client-server concept
GUI
Aglets

B. Fundamental concepts for agent software
Frames
Neural Networks
Genetic algorithms
Reinforcement learning
Rule based systems (CLIPS)

C. Case studies
Artificial life examples
Data collection agents on the internet

Grading Scheme:  
Assignments (1 on part A, 2 on part B) 25%
Project 15%
Midterm exam 30%
Final exam 30%

Prerequisites:
CSCI2130, 3134.
Corequisites: CSCI 3111.03 or equivalent mathematical maturity, CSCI 3150.03

Bibliography:

Textbook:
M. Watson: "Intelligent Java Applications for the Internet and Intranets", Morgan Kaufmann, 1997.

Supplementary Readings on software:

C. Horstmann, G. Cornell: "Core Java", Vol. I and II, Prentice Hall/Sun Microsystems Press, 1997.

M. Campione, K. Walrath: "The Java Tutorial", 2nd edition, Addison Wesley, 1998.

Lange, Danny B . / Oshima, Mitsuru: "Programming And Deploying Java Mobile Agents With Aglets", Adisson Wesley Professional; ISBN: 0201325829

M. Watson: "Programming Intelligent Agents for the Internet", McGraw Hill, 1996.

Readings on concepts

S. Russel, P. Norvig: "Artificial Intelligence: a modern approach", Prentice Hall, 1995.

M. Mitchell: "An introduction to Genetic algorithms", MIT Press, 1996.

M. Hassoun: "Fundamentals of artificial neural networks", MIT Press, 1995.

R. Sutton, A. Barto: "Reinforcement Learning, an Introduction", MIT Press, 1998.

Advanced reference readings:

M. Huhns, M. Singh (editors): "Readings in Agents", Morgan Kaufmann, 1998.
A comprehensive collection of papers on Agents.

J. Bradshaw (editor): "Software Agents", MIT/AAAI Press, 1997.
A collection of papers on agents with emphasis on theoretical foundations.

P. Agre, S. Rosenschein (editors): "Computational Theories of Interaction and Agency", MIT Press, 1996.
A special issue of the AI Journal published as a book. Focus on theoretical foundations for robotic agents in dynamic environments.

P. Slater: "An introduction to Ethology", Cambridge University Press, 1985.

T. Kohonen: "Self-organizing maps", Springer Verlag, 1995.

P. Maes, M. Mataric, J-A. Meyer, J. Pollack, S. Wilson (eds.): "From animals to animats, 4", Proceedings of the 4th Int. Conf. on Simulation of Adaptive Behaviour", MIT Press, 1996.

C. Langton, K. Shimohara (eds.): "Artificial life V, Proceedings of the 5th Int. Workshop on the Synthesis and Simulation of Living Systems", MIT Press, 1997.

Application areas:

D. Kosiur: "Understanding Electronic Commerce", Microsoft Press, 1997.
A lay person's introduction to e-commerce.

R. Kalakota, A. Whinston: "Readings in Electronic Commerce", Addison Wesley, 1997.
A collection of research papers. Geared towards an academic business readership.

Internet resources.