This course aims to introduce the key issues of artificial intelligence. The course has been divided into two parts. The first can be called the conventional approach to problem solving in AI i.e. by searching or more precisely, heuristics based searching. The second part will discuss relatively modern techniques related to ‘learning’ - the basis of intelligence. This will include neural networks, machine learning, and genetic algorithms. As application areas - computer vision, audio processing, path planning for robots and natural language processing will be discussed.