CMPSC 190J Network Science

This class is an introductory undergraduate course about networks, which can be used to study complex systems of interacting entities. The study of networks — including theory, computation, and applications — is pervasive in physics, biology, sociology, computer and information science, and myriad other fields. The study of networks is also a major part of data science.

CMPSC 291K Special Topics on Adversarial Machine Learning

Deep neural networks have demonstrated impressive performance, yet their vulnerability to adversarial attacks has made adversarial machine learning an important topic. In this course, students will explore core principles of adversarial learning and learn how to adapt these techniques to diverse adversarial contexts. The curriculum combines lectures focused on algorithm foundations with paper presentations (by students) highlighting current state-of-the-art advances in modern AI models (e.g., large language models).

CMPSC 291A Special Topics in Foundation Models

This graduate-level research course focuses on foundation models, specifically Large Language Models (LLMs). Throughout the course, we will examine the latest research publications in this rapidly evolving field, with a particular emphasis on the foundations of LLMs and their applications. Students are expected to engage in reviewing and presenting research papers, and completing a substantial course project. The primary objective of this course is to cultivate a deep understanding of LLMs and their limitations.

CMPSC 291A Bionic Vision

This graduate course will introduce students to the multidisciplinary field of bionic vision viewed through the lens of computer science, neuroscience, and human-computer interaction. There are no official prerequisites for this course. The instructor will do his best to make the course content self-contained, including a crash course in neuroscience & computational vision. However, homeworks and final projects will require programming. Homeworks will be based around pulse2percept, a Python-based simulation framework for bionic vision.

CMPSC 291I Introduction to Robot Learning

This graduate course gives an overview of machine learning for planning and control of complex dynamical systems. Topics include reinforcement learning in continuous state/action spaces, data-driven dynamics models, imitation learning, online policy optimization, and robustness/adaptivity to environment shifts. Students will develop a thorough understanding of fundamental algorithms and learn to select appropriate methods based on the problem's interaction and information protocols.

CMPSC 190G Vulnerability Analysis

This class is a hands-on class on vulnerability analysis that uses security exercises as a basis for education and training. Students will be required to solve medium-to-complex security problems during class. The problems require an understanding of operating system concepts, as well as the basics of computer security. 

Course pre-requisities: CMPSC 170 and CMPSC 177. Once the quarter starts, instructor approval is required to maintain enrollment in the course, including if students do not have the listed pre-requisite courses completed. 

CMPSC 293G Classic Papers in Computer Security

This graduate course offers an in-depth exploration of foundational academic papers in the field of computer security. Each week, students will engage with seminal research that has shaped our understanding of security challenges and that introduced innovative solutions. The course is organized around weekly themes, with papers selected to highlight interesting insights and advancements. Each session will begin with an introduction where I will contextualize the papers within the evolution of computer security. Then, students will present papers and we discuss and critically review them.