The goal of Artificial Intelligence is to build software systems that behave “intelligently”. That is, do these computer systems “do the right thing” in complex environments? Do they act optimally given the limited information and computational resources available? How is this aim interpreted? This subject covers the core topics of Artificial Intelligence such as knowledge representation, reasoning, and learning. Students will learn to design and analyse autonomous agents that do the right thing in the face of limited computational resources and limited information. This subject examines agents that can effectively make decisions in fully observable, partially observable and adversarial environments, and agents that can adapt their actions by learning from experience.