Current and Future Courses


Past Courses


  • CS 161: Fundamentals of AI, Winter 2020, Winter 2021, Winter 2022, Winter 2023

  • This course introduces the design of intelligent agents, including the fundamental problem-solving and knowledge-representation paradigms of artificial intelligence. Topics to be covered include the AI programming language LISP, state-space and problem reduction methods, brute-force and heuristic search, game playing. For knowledge representation and reasoning, we will cover propositional and first-order logic and their inference algorithms. Finally, the course covers probabilistic approaches to AI, such as Bayesian networks to improve the agent’s performance with experience.

  • CS 269: Foundations of Deep Learning, Winter 2019, Spring 2021, Spring 2022

  • Deep learning has achieved great success in many applications such as image processing, speech recognition and Go games. However, the reason why deep learning is so powerful remains elusive. The goal of this course is to understand the successes of deep learning by studying and building the theoretical foundations of deep learning. Topics covered in this course include but are not limited to: expressive power of deep learning, optimization for deep learning, and generalization performance of deep learning. Instructor will give lectures deep learning theory. Students will present and discuss papers on the selected topics, and do a course project.

  • CS 260: Machine Learning, Fall 2018, Spring 2020, Fall 2021, Fall 2022

  • This course introduces the foundational theory and algorithms of machine learning. The goal of this course is to endow the student with a) a solid understanding of the foundational concepts of machine learning, and b) the ability to derive and analyze machine learning algorithms. Topics to be covered include online learning, empirical risk minimization, PAC learning, Agnostic PAC learning, boosting, structural risk minimization, decision trees, surrogate loss functions, stochastic gradient descent, support vector machines, kernel methods, multi-class classification, neural networks, dimensionality reduction, and clustering, etc.

  • CS 6316/ SYS 6016: Machine Learning, Spring 2018

  • CS 6501/ SYS 6003: Optimization for Machine Learning, Fall 2017,

  • SYS 6016/ 4582: Machine Learning, Spring 2017

  • SYS 6003: Optimization for Machine Learning, Fall 2016

  • SYS 3060: Introduction to Reinforcement Learning, Spring 2016

  • SYS 6003: Optimization for Machine Learning, Fall 2015