This book is the second in a series on Artificial Intelligence. It adopts a behaviour-based approach to the design of agent-oriented systems. Topics covered from a behaviour-based perspective include agent communication, searching, knowledge and reasoning, and intelligence. Accompanying the book is a series of exercises and NetLogo models (with source code and documentation) which can be run directly from an applet or downloaded.