CMPSC 291A Mixed and Augmented Reality

Mixed and Augmented Reality, an active research field since the 1990s, has recently gained significant popularity because of the possibility of being implemented on smartphones 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. Mixed Reality is a bit broader and subsumes the fields of Augmented Reality, Augmented Virtuality, and Virtual Reality.

CMPSC 291A Real-Time High Quality Rendering

One of the perennial goals of computer graphics is creating high quality images which are indistinguishable from photographs: a goal referred to as photorealism. Another important goal is interactivity for visualization, simulation, gaming and other real-time applications. These two goals have historically been at odds with each other. In this course, we will review the history and some of the recent ideas that seek to bridge the gap between realism and interactivity. We will focus on the use of complex lighting and shading within limited computation time.

CMPSC 291A Adversarial Machine Learning

Deep neural networks have achieved remarkable success owing to their superior predictive performance. Yet, they are extremely vulnerable to adversarial attacks. This makes adversarial machine learning an emerging topic. The idea of learning with adversaries is crucial for expanding the learning capability, ensuring trustworthy decision-making, and enhancing the generalizability of AI models. Despite diverse adversarial concepts and applications, they share very similar learning, computation, and optimization foundations.

CMPSC 190I Introduction to Natural Language Processing

Have you ever used intelligent virtual assistants such as Google Now, Apple Siri, Amazon Alexa or Microsoft Cortana? Wondering what are the technologies behind such systems? How did IBM's Watson beat top human Jeopardy players? Or you are just curious about how Google Translate works? Understanding human language is an important goal for Artificial Intelligence, and this course introduces fundamental theories and practical applications in Natural Language Processing (NLP).

CMPSC 292G Quantitative Information Flow

Many computer systems have access to sensitive information nowadays and, consequently, information leakage has become a significant security concern for users. Side-channel vulnerabilities that are based on information gained by observing non-functional properties of computer systems (such as execution time or memory usage) can enable attackers to infer the secret information that the system accesses. In this course, we will discuss static and dynamic analysis techniques for detecting information leakage in computer systems.

CMPSC 291A Intro to Differential Privacy: Theory, Algorithms and Applications

The graduate-level course covers the fundamentals of differential privacy (DP), as well as various applications of DP in statistical and machine learning applications.  Students will learn the fundamentals of DP and practice how to prove formal differential privacy guarantees. There will also be hands-on training on using “autodp” for state-of-the-art DP computation.

CMPSC 291K Deep Learning for Machine Translation

This course will cover deep learning methods for neural machine translation and text generation. It will cover neural models for discrete sequences including Long-short term memory, Transformer, and encoder-decoder frameworks for generating language. It includes training objectives and optimization algorithms for learning those models. It will also include strategy such as back-translation, knowledge distillation. Finally, it will cover multilingual machine translation, low-resource translation, speech translation, and visual translation.

CMPSC 292A MCMC Algorithms

This course studies Markov Chain Monte Carlo (MCMC) algorithms. MCMC algorithms are a widely used tool for sampling from distributions defined over a huge combinatorial set.  It is often easy to define a Markov chain with the desired distribution as its equilibrium distribution but it is difficult to design a chain which converges efficiently and to determine convergence. This is a theoretical course focusing on mathematical tools for analyzing the convergence rate of Markov chains.  This course is appropriate for both undergraduate and grad