What is this course about?
This course aims to develop a solid understanding of core concepts in artificial intelligence, including machine learning, search algorithms, Markov decision processes, and probabilistic reasoning, and to cultivate the ability to apply these concepts to real-world problem solving. Students will also learn to analyze the underlying mechanisms of various AI models, select and implement algorithms appropriate to given problem settings, and interpret results with a practical, problem-oriented mindset.
Resources: There is no required textbook for this class. Slides are mostly self-contained (based on Stanford CS221). You can refer to the following books for further understanding:
Russell and Norvig, Artificial Intelligence: A Modern Approach
Hastie, Tibshirani, and Friedman, The elements of statistical learning
Sutton and Barto, Reinforcement Learning: An Introduction
Prerequisites: Students are expected to have the following background:
Familiarity with basic programming (Python 3)
Familiarity with basic probability theory
Familiarity with basic linear algebra
Grading
Attendance: 10%
Up to five absences will have no penalties. Each absence beyond five will result in a 1% deduction.
Programming assignments: 10%
Midterm exams: 40%
Final exams: 40%
Previous offerings
2025 Spring: Student review, Midterm, Final exam