The aim of this course is to provide graduate students with in-depth knowledge of AI principles, algorithms, and techniques. Topics covered include Knowledge Representation schemes and Automated Reasoning, uncertain knowledge and probabilistic reasoning, search strategies, intelligent agents, machine learning, planning, and ethical and societal issues relating to artificial intelligence. Students also work on a course project individually or in pairs.