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.

CMPSC 292F Network Modeling and Graph Machine Learning

Networks are a natural way to represent a variety of interacting complex systems - from disease spreading and brain networks, to social networks and political networks.

In this course, we will study the foundations of networks and investigate how the structure of networks affects the spread of signals on the network. Next, we will learn about the geometry and topology of networks, and topological data analysis on networks. Finally, we will learn about graph neural networks and the interface between network properties and learning. This course contains a project. 

CMPSC 291I Interactive and Real-Time User Experience of AI

To create innovative AI-supported systems that truly benefit end-users in real-life situations, it is crucial to focus on the interactive and real-time user experience of AI. This course is centered around investigating the various aspects of human-AI systems, including interface design, user agency, explainability, ethics, and the human-centered design process involving AI. We will examine these through reading research papers and through the design and prototyping of an AI Task Guidance System.

CMPSC 291I Visual Computing and Interaction – Extended Reality (XR)

Mixed and Augmented Reality, now often subsumed under the overarching term XR: Extended Reality, has been an active research field since the 1990s. It has recently gained significant popularity because of the possibility of being implemented on smartphones, because of new emerging head-worn platforms (including the recent Apple "VisionPro" device), and because of its unique approach of offering context-based computing directly in a person's field of vision. Augmented Reality is the concept of overlaying computer-generated information on top of the physical world.

CMPSC 293B Foundations for Blockchains and Distributed Systems

Are blockchains real? There’s a lot of excitement about blockchains and cryptocurrencies mixed with a lot of skepticism and pessimism. One thing is clear, the field instigated tremendous advances to the foundations of distributed systems and applied cryptography. This course will overview key advances in blockchains with a focus on the scientific foundations underpinning them.