Introduces fundamental principles of artificial intelligence, including heuristic search, automated reasoning, handling uncertainty, and machine learning. Presents applications of AI techniques to real-world problems such as understanding the web, computer games, biomedical research, and assistive systems. This course is a prerequisite for advanced AI courses.