This course introduces the basic concepts of artificial intelligence as well as various approaches and techniques for solving problems in the field of artificial intelligence. Lecture participants will be equipped with theoretical understanding and practical skills related to the basics of developing intelligent and autonomous agents. Topics discussed include the concepts of artificial intelligence and rational agents; modeling techniques and finding solutions to various types of problems in intelligent systems, including: uninformed search, informed/heuristic search, local search, adversarial search, constraint satisfaction problems, logical approaches to knowledge representation and reasoning, probabilistic approaches to decision making, machine learning, multi-agent systems; as well as philosophical and ethical issues of artificial intelligence.