An introduction to artificial intelligence, this course examines the ways in which we can use computation to mimic, supplement, or supplant human intelligence. The course will cover classic topics in artificial intelligence such as knowledge representation, search, logical agents and planning as well as more recent developments in machine learning and deep learning. Particular attention will be given to ethical and social considerations in the adoption of Artificial Intelligence to solve real world problems and how design choices in the construction of an Artificial Intelligence system influence system behavior.