A study of the theories, algorithms, and applications of Artificial Intelligence. Topics include a subset of: search, game playing, logical representations and reasoning, planning, reasoning and decision making with uncertainty, neural networks and deep learning models. Assignments provide practical experience of the core topics.