This course has two main goals. The first one is to give a broad overview of the fundamentals of multi-agent systems (MAS). MAS are playing an increasingly important role in artificial intelligence as distributed resources push for highly distributed forms of intelligence. The second aim is to provide a more in-depth discussion of selected MAS topics: game theory and voting from a computational point of view. Situated at the nexus between economics and computer science, these research areas provide a perfect example of interdisciplinary cross-fertilization and mutual enrichment and lie at the core of multi-agent systems theory. The course will provide the student with an understanding of how self-interested behavior and coordination can be formally modeled and implemented in societies of artificial agents. Course may be repeated up to unlimited credit hours.