The main objective of this course is to understand the concepts behind multi-agent systems and the techniques behind the modeling, design and development of agent-based software systems.