Teaching

AI Application in Information Security

Graduate Course, Carnegie Mellon University, Information Networking Institute, 2024

Description

Information security attacks can generate vast amounts of data in the form of files, logs, network packets, and more. In this course students will learn how AI systems leverage data to detect and attribute threats such as spam, malware, botnets and network intrusion. The course will examine each of the following stages in an AI workflow in the context of information security applications: data preparation and visualization; feature extraction and selection; model selection, training, tuning and evaluation. The course will also discuss issues of AI explainability and adversarial attacks against AI. Grading will be based on Python programming assignments and an implementation/analysis project.

Introduction to Computer System

Graduate Course, Carnegie Mellon University, Computer Science Department, 2023

Description

The ICS course provides a programmer’s view of how computer systems execute programs, store information, and communicate. It enables students to become more effective programmers, especially in dealing with issues of performance, portability and robustness. It also serves as a foundation for courses on compilers, networks, operating systems, and computer architecture, where a deeper understanding of systems-level issues is required. Topics covered include: machine-level code and its generation by optimizing compilers, performance evaluation and optimization, computer arithmetic, memory organization and management, networking technology and protocols, and supporting concurrent computation.

Mathematical Foundations for AI

Graduate Course, Carnegie Mellon University, Information Networking Institute, 2023

Description

This course provides a place for students to practice the necessary mathematical background for further study in machine learning. Topics covered include probability (random variables, modeling with continuous and discrete distributions), linear algebra (inner product spaces, linear operators), and multivariate differential calculus (partial derivatives, matrix differentials). The course assumes some background in each of the above, but will review and give practice in each. (It does not provide from-scratch coverage of all of the above, which would be impossible in a course of this length.) Some coding will be required: the course will provide practice with translating the above mathematical concepts into concrete programs.

Adversarial Machine Learning

Graduate Course, Carnegie Mellon University, Information Networking Institute, 2023

Description

Machine learning (ML) algorithms are increasingly embedded in cybersecurity systems, like spam/malware filters and network intrusion detectors, and safety-critical applications, like autonomous vehicles. These ML systems are vulnerable to attack. For example, a spammer may try to evade a spam filter with a carefully crafted email, or alternatively may try to poison the filters training data with bogus examples rendering the filter useless. In this course, students will learn how to implement ML algorithms, build practical ML systems, perform evasion and poisoning attacks, and defend against such attacks. The course will cover the following ML problems and tools: classification, dimensionality reduction, clustering, regression, and deep neural networks. Grading will be based on biweekly Python programming assignments with written reports.