The objective of the course is to present an overview of artificial intelligence (AI) principles and approaches, to develop a basic understanding of the building blocks of AI, as presented in terms of intelligent agents: Search, Knowledge representation, inference, logic, and learning. Topics covered include the history of artificial intelligence, philosophical questions about nature of intelligence, ethical issues in artificial intelligence, nature of knowledge and knowledge-based systems, issues of the ordering of information, modeling the world. Artificial intelligence design considerations. Blind and heuristic search concepts and techniques. Game playing and constraint propagation. Machine learning for classification and pattern recognition. Knowledge representation.