CMPSC 293G

No description provided. Contact the course instructor for further information. 

Once the quarter starts, instructor approval is required to maintain enrollment in the course. 

CMPSC 293B Foundations for Blockchains and Dist Systems

Are blockchains real? There’s a lot of excitement about blockchains and cryptocurrencies mixed with a lot of skepticism and pessimism. One thing is clear, the field instigated tremendous advances to the foundations of distributed systems and applied cryptography. This course will overview key advances in blockchains with a focus on the scientific foundations underpinning them.

CMPSC 292G Topics in Quantum Computing

A graduate course exploring the power, limitations, and resource requirements of quantum computation. Topics include quantum algorithms, shallow circuit models, quantum error correction, and fault-tolerant computation. Basic background on quantum computing will be assumed.

Once the quarter starts, instructor approval is required to maintain enrollment in the course. 

 

 

CMPSC 292A The Exponential Time Hypothesis is False

On October 26th 2026 OpenAI published an algorithm for n-variable k-SAT that runs in time approximately 2^O(n/sqrt{log n}) time. Assuming that this is correct (it likely is) this disproves the "Exponential Time Hypothesis", and amounts to nothing less than a revolution and paradigm shift in a large part of theoretical computer science. In this course we will study the Exponential Time Hypothesis, how it has been used, the published disproof of the ETH, and (assuming it is correct) start picking up the pieces from the fallout. 

CMPSC 292F Optimization

This first-year graduate course offers a rigorous yet accessible introduction to the algorithmic foundations of optimization, emphasizing both theory and applications in computer science and engineering. Topics include convex sets and functions, necessary and sufficient conditions for optimality, unconstrained and constrained optimization (gradient descent, Newton’s method, projection methods, Lagrange multipliers, KKT conditions), duality theory, and augmented Lagrangian methods.

CMPSC 292C Introduction to the Lean Interactive Theorem Prover

Lean is both a purely functional, dependently-typed programming language and a "proof assistant". Using Lean has been described as "programming proofs". It has been used to: formalize and verify mathematical theorems, distributed computing and cryptographic protocols, hardware models, neural networks, and many other kinds of abstractions; to implement and prove properties of software applications and concrete hardware designs; to model and verify properties of systems built in other languages; and much more. 

CMPSC 291K Introduction to Robot Learning

This graduate course gives an overview of machine learning for planning and control of complex dynamical systems. The central topic is the mathematical foundations of reinforcement learning in continuous state and action spaces. Supplementary topics include data-driven dynamics models, imitation learning, 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.