CMPSC 293N ML for Networked Systems

In recent years, we have witnessed the widespread usage of ML tools for various classification, detection, and control problems. More recently, we have witnessed the use of ML for various networking problems as well. However, operationalizing ML solutions for networked systems is more nuanced than simply calibrating existing tools, developed for other domains (image classification, NLP, etc.). More in-depth exploration to develop flexible, scalable, and generalizable ML-based networked systems.

CMPSC 292C Computer-Aided Reasoning for Software

This course is a graduate-level introduction to automated reasoning techniques and their application in tools for the design, analysis, and construction of software. In the first half of the course, we will survey the logical foundations and algorithms behind SAT solvers and SMT solvers. In the second half of the course, we will apply these techniques to automatic bug finding, program verification, and program synthesis. As a student in this course, you will learn how solvers work, and how to use them to build cool programming tools. 

CMPSC 291K Trustworthy ML in Security

The course is about cutting edge techniques in machine learning and cybersecurity. We will introduce various deep learning methods that are widely used in security applications, including multilayer perceptron, recurrent neural networks, and transformers. We will also discuss the trustworthiness issue of these methods, including explainability and adversarial robustness. 
 

CMPSC 190I Spatial Interface Design and Implementation

Real world tasks such as assembly, repair, or surgery, often require the simultaneous use of both hands. In these scenarios, one hand is used to grasp a tool like a screwdriver or a scalpel, while the other hand is engaged in manipulating the object being worked on. Creating one-handed interfaces for users engaged in physical tasks that involve tools or objects presents several challenges. Learning how do to these tasks with an AI-based task assistant in AR/VR requires the ability to not only perform the task but engage with the AR/VR interface simultaneously.