This course introduces fundamental principles and techniques of Distributed Artificial Intelligence (DAI), as well as the usage of such techniques for creating applications in distributed computing environments. Central to the course are the concepts of "intelligent agents", as a paradigm for creating autonomous software components, and “multi-agent systems” as a way of providing coordination and communication between individual autonomous software components.