Teaching

Artificial Intelligence (CS 343)

Undergraduate course, UT Austin, CS, 1900

This course provides a broad introduction to artificial intelligence. Topics include: problem solving, including search and game playing; knowledge and reasoning, including inference planning; reasoning under uncertainty; machine learning

Neural Networks (CS 342)

Undergraduate course, UT Austin, CS, 1900

This course covers the basic building blocks and intuitions behind designing, training, tuning, and monitoring of deep networks. It covers both the theory of deep learning, as well as hands-on implementation sessions in pytorch. It also covers a series of application areas of deep networks in: computer vision, sequence modeling in natural language processing, deep reinforcement learning, generative modeling, and adversarial learning.

Efficient Algorithms and Intractable Problems (CS 170)

Undergraduate course, UC Berkeley, EECS, 1900

Teaches core algorithmic concepts in Computer Science, including Divide-and-Conquer, Graph, Greedy Algorithms, Dynamic Programming, Linear Programming, Reductions, P vs. NP, Streaming, etc.