CMPSC 292A Algorithmic Graph Theory

Graphs are a remarkably versatile combinatorial object, used to model social, neural, road and computer networks, execution flow of programs, relations in databases, and countless other things. In this class we will investigate computational problems whose inputs are graphs, and how algorithms for such problems can exploit the structure of the input graph to improve performance. The focus will be on provable worst-case running time performance of our algorithms. On the way the class will expose students to some of the modern structural graph theory.

CMPSC 291A Future User Interfaces

In this course, we will examine upcoming user interface technologies that will impact how we interact with our devices and digital content in the future. These include: immersive technologies (augmented and virtual reality), physiological interfaces (e.g., brain and body interfaces), wearable computing (e.g., devices both for reading and writing data to the user's body), multisensory and multimodal interactions in mixed, augmented and virtual realities (e.g., spatial audio, body movement), haptics (e.g., force feedback, sensing weight, feeling textures), and others.

CMPSC 291A (Hollerer): 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 (Bryce Boe): 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 291A (William Wang): Deep Learning

Deep learning has revolutionized many areas within AI, and it is on track to fundamentally transform many other industries. DeepMind's AlphaGo combined convolutional neural networks together with deep reinforcement learning and MCTS, and won many games against top human Go players. In computer vision, most of the leading systems in ImageNet competitions are based on deep neural networks.

CMPSC 292G: Topics in Quantum Cryptography

This course will revolve around the following topics: (1) quantum attacks against classical cryptographic primitives, (2) new cryptographic tools using quantum tools and, (3) performing quantum computations securely. Prerequisites: (1) Basic familiarity with cryptographic and quantum concepts, (2) Mathematical maturity (ability to understand and debug proofs) and, (3) Solid background in linear algebra. Course evaluation: One or two assignments along with a research project.

CMPSC 292F: Combinatorial Methods and Algorithms

This graduate course will cover topics in discrete mathematical methods and combinatorics with applications to the solution of problems in computer science. We will consider topics in classical combinatorial methods and algorithms for selected problems in Algorithmic graph theory, classes of trees, enumeration methods, Lagrange inversion, number theory and primality testing, dynamic and fractional programming, FFT, Markov chains and random generation.