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.