This course introduces students to the field of Artificial Intelligence with emphasis on systems that aims to solve real world problems for which solutions are difficult to express using the traditional algorithmic approach. The course includes: Introduction to intelligent and autonomous agents.  Handling uncertainty, Bayes networks. Hidden Markov models. Reinforcement learning. Logic and logical problem solving. Fuzzy inference systems and artificial neural networks. Heuristic search and evolutionary computation. Some applications of AI in gaming, computer vision, voice recognition, robotics, and bioinformatics are also covered in the selected topics.