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.

CS 293N: ML For Networked Systems

In recent years, we have witnessed the widespread usage of ML tools for various classification, detection, and control problems. More recently, we have witnessed the use of ML for various networking problems as well. However, operationalizing ML solutions for networked systems is more nuanced than simply calibrating existing tools, developed for other domains (image classification, NLP, etc.). More in-depth exploration to develop flexible, scalable, and generalizable ML-based networked systems.

CS 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: 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. Programming experience in Python/C#/C++ is required.