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

CMPSC 291A Bionic Vision

What would the world look like with a bionic eye? This graduate course will introduce students to the multidisciplinary field of bionic vision, with an emphasis on both the computer science and neuroscience of the field. The course will give an overview of current bionic eye technology designed to restore vision to people living with incurable blindness.

CMPSC 291A Scalable Internet Services

This course explores advanced topics in highly scalable Internet services and their underlying systems’ architecture. Software today is primarily delivered as a service: accessible globally via web browsers and mobile applications, and backed by millions of servers. Modern web frameworks (e.g., Ruby on Rails, Django, and Express), and continuous improvements to cloud providers (e.g., Amazon Web Services, Google Cloud Platform, and Microsoft Azure) make it increasingly easier to build and deploy these systems.

CMPSC 291I Computational Fabrication

The increase in diversity and functionality of digital fabrication technologies has provided new ways to transition between the digital and physical realms. Computational fabrication— a particularly powerful application of digital fabrication— combines computer programming with digital fabrication. Computational fabrication enables people to design digital forms by writing code and then construct these forms, at least partially, via fabrication machines, like 3D printers and computer-numerical-controlled (CNC) machines.

CMPSC 292F Machine Learning on Graphs

Machine learning on graphs has emerged as an important research topic that finds applications in many domains including social networks, infrastructure design and maintenance, drug discovery, brain networks, and material design. This course will discuss methods to encode graphs (static/dynamic, attributed, undirected/directed, single/ensemble) into low-dimensional spaces to facilitate machine learning. Specific topics include random walks, kernels, spectral analysis, generative models, node embedding, subgraph embedding, and graph neural networks.

CMPSC 292F Statistical Reinforcement Learning

In this PhD level course, you will learn the models and algorithms of reinforcement learning (RL) as well as techniques in analyzing the sample-complexity of reinforcement learning algorithms in various settings.  The focus of the course would be on the statistical foundation of RL and for the most part we will consider the Markov decision process (MDP) model with finite states and finite actions, though towards the end of the course we will talk about function approximations as well as the ideas behind some deep RL algorithms. 

CMPSC 190I Program Synthesis for the Masses

The goal of this course is to give an introduction to program synthesis, a new field at the intersection of programming languages, formal methods, and AI. The course will explore a number of fundamental questions around the problem of how to automatically discover programs that do what the user expects. The workloads include 2~3 programming assignments, 4~5 paper reviews, and a final project. In particular, the class will explore the following questions:

CMPSC 292F Data Integration Techniques

Enterprise systems are large-scale software applications to support business operations; they typically include software systems for data management, business process/workflow management, information flows, reporting, and data analytics.  Focusing only the data management aspect, a typical enterprise has to struggle with many data integration difficulties, since its data are usually spread around many database systems, workflow systems, file systems, etc. and in a variety of form possibly with no coherent semantics.