teaching

While attending the University of Texas at Austin, I have supported as a Graduate Teaching Assistant for the following courses.

Deep Learning [AI-394D]:

“This class covers advanced topics in deep learning, ranging from optimization to computer vision, computer graphics and unsupervised feature learning, and touches on deep language models, as well as deep learning for games.

Part 1 covers the basic building blocks and intuitions behind designing, training, tuning, and monitoring of deep networks. The class covers both the theory of deep learning, as well as hands-on implementation sessions in pytorch. In the homework assignments, we will develop a vision system for a racing simulator, SuperTuxKart, from scratch.

Part 2 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. In the homework assignments, we develop a vision system and racing agent for a racing simulator, SuperTuxKart, from scratch.”

Ethics in AI [AI-395T]:

“Artificial intelligence (AI) is both a product of and a major influence on society. As AI plays an increasingly important role in society, it is critical to understand both the ethical factors that influence the design of AI and the ethical dimensions of the impacts of AI in society. The goal of this course is to prepare AI professionals for the important ethical responsibilities that come with developing systems that may have consequential, even life-and-death, consequences. Students first learn about both the history of ethics and the history of AI, to understand the basis for contemporary, global ethical perspectives (including non-Western and feminist perspectives) and the factors that have influenced the design, development, and deployment of AI-based systems. Students then explore the societal dimensions of the ethics and values of AI. Finally, students explore the technical dimensions of the ethics and values of AI, including design considerations such as fairness, accountability, transparency, power, and agency.

Students should take this course to prepare them for the ethical challenges that they will face throughout their careers, and to carry out the important responsibilities that come with being an AI professional. The ethical dimensions of AI may have important implications for AI professionals and their employers. For example, the release of unsafe or biased AI-based systems may cause liability issues and reputational damage. This course will help students to identify design decisions with ethical implications, and to consider the perspectives of users and other stakeholders when making these ethically significant design decisions.

Students who perform well in this class will be positioned to take on a leadership role within their organizations and will be able to help guide and steer the design, development, and deployment of AI-based systems in ways that benefit users, other stakeholders, their organizations, and society. The knowledge and skill gained through this course will benefit students throughout their careers, and society as a whole will benefit from ensuring that AI professionals are prepared to consider the important ethical dimensions of their work.”

Machine Learning [AI-391L]:

“This course focuses on core algorithmic and statistical concepts in machine learning.

Tools from machine learning are now ubiquitous in the sciences with applications in engineering, computer vision, and biology, among others. This class introduces the fundamental mathematical models, algorithms, and statistical tools needed to perform core tasks in machine learning. Applications of these ideas are illustrated using programming examples on various data sets.

Topics include pattern recognition, PAC learning, overfitting, decision trees, classification, linear regression, logistic regression, gradient descent, feature projection, dimensionality reduction, maximum likelihood, Bayesian methods, and neural networks.”

Planning, Search, and Reasoning Under Uncertainty [AI-388U]:

“We will investigate how to define planning domains, including representations for world states and actions, covering both symbolic and path planning. We will study algorithms to efficiently find valid plans with or without optimality, and partially ordered, or fully specified solutions. We will cover decision-making processes and their applications to real-world problems with complex autonomous systems. We will investigate how in planning domains with finite state lengths, solutions can be found efficiently via search. Finally, to effectively plan and act in the real world, we will study how to reason about sensing, actuation, and model uncertainty. Throughout the course, we will relate how classical approaches provided early solutions to these problems, and how modern machine learning builds on, and complements such classical approaches.”

Reinforcement Learning [AI-394R]:

“This course introduces the theory and practice of modern reinforcement learning. Reinforcement learning problems involve learning what to do—how to map situations to actions—so as to maximize a numerical reward signal. The course will cover model-free and model-based reinforcement learning methods, especially those based on temporal difference learning and policy gradient algorithms. Introduces the theory and practice of modern reinforcement learning. Reinforcement learning problems involve learning what to do—how to map situations to actions—so as to maximize a numerical reward signal. The course will cover model-free and model-based reinforcement learning methods, especially those based on temporal difference learning and policy gradient algorithms. It covers the essentials of reinforcement learning (RL) theory and how to apply it to real-world sequential decision problems. Reinforcement learning is an essential part of fields ranging from modern robotics to game-playing (e.g. Poker, Go, and Starcraft). The material covered in this class will provide an understanding of the core fundamentals of reinforcement learning, preparing students to apply it to problems of their choosing, as well as allowing them to understand modern RL research. Professors Peter Stone and Scott Niekum are active reinforcement learning researchers and bring their expertise and excitement for RL to the class.”

Advances in Deep Learning [AI-395T]:

“This course provides an in-depth exploration of the technologies behind some of the most advanced deep learning models, including diffusion models and cutting-edge models in language and computer vision. Through hands-on assignments, students will re-implement smaller versions of these models, allowing them to gain practical experience and a deep understanding of how these AI technologies function.

The course is designed to address the fact that only a small group of individuals, with significant resources, will ever train large frontier models. However, most professionals will interact with advanced AI models, either directly or indirectly. This class is valuable because it equips students with the knowledge needed to understand how these AI models work, their limitations, and how to form an accurate mental model of their capabilities. By gaining this understanding, students will be better prepared to work with and critically assess advanced AI technologies.”

AI in Healthcare [AI-395T]:

“This course explores the major components of health IT systems, ranging from data semantics (ICD10), data interoperability (FHIR), diagnosis code (SNOMED CT), to workflow in clinical decision support systems. Then, it dives deep into how AI innovations are transforming our healthcare system by focusing on AI in drug discovery, AI in medical image diagnosis, explainable AI for health risk prediction, and ethics of AI in healthcare.”

Automated Logical Reasonin [AI-389L]:

“This is a course on computational logic and its applications in computer science, particularly in the context of software verification. Computational logic is a fundamental part of many areas of computer science, including artificial intelligence and programming languages. This class introduces the fundamentals of computational logic and investigates its many applications in computer science. Specifically, the course covers a variety of widely used logical theories and looks at algorithms for determining satisfiability in these logics as well as their applications.”

Case Studies in Machine Learning [AI-391M]:

“The Case Studies in Machine Learning course presents a broad introduction to the principles and paradigms underlying machine learning, including presentations of its main approaches, overviews of its most important research themes and new challenges faced by traditional machine learning methods. This course highlights major concepts, techniques, algorithms, and applications in machine learning, from topics such as supervised and unsupervised learning to major recent applications in housing market analysis and transportation. Through this course, students will gain experience by using machine learning methods and developing solutions for a real-world data analysis problems from practical case studies.”

Natural Language Processing [AI-388]:

“This course focuses on modern natural language processing using statistical methods and deep learning. Problems addressed include syntactic and semantic analysis of text as well as applications such as sentiment analysis, question answering, and machine translation. Machine learning concepts covered include binary and multiclass classification, sequence tagging, feedforward, recurrent, and self-attentive neural networks, and pre-training / transfer learning.”

Online Learning and Optimization [AI-388K]:

“This class has two major themes: algorithms for convex optimization and algorithms for online learning. The first part of the course will focus on algorithms for large scale convex optimization. A particular focus of this development will be for problems in Machine Learning, and this will be emphasized in the lectures, as well as in the problem sets. The second half of the course will then turn to applications of these ideas to online learning.”

Optimization [AI-388J]:

“This class covers linear programming and convex optimization. These are fundamental conceptual and algorithmic building blocks for applications across science and engineering. Indeed any time a problem can be cast as one of maximizing / minimizing and objective subject to constraints, the next step is to use a method from linear or convex optimization. Covered topics include formulation and geometry of LPs, duality and min-max, primal and dual algorithms for solving LPs, Second-order cone programming (SOCP) and semidefinite programming (SDP), unconstrained convex optimization and its algorithms: gradient descent and the newton method, constrained convex optimization, duality, variants of gradient descent (stochastic, subgradient etc.) and their rates of convergence, momentum methods.”