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.

CMPSC 291A Neural Information Retrieval

This course covers advanced topics on neural information retrieval and search engines. The content to be focused includes indexing, retrieval, ranking, and system optimization for large-scale search services with deep machine learning and NLP models. Recent papers in top conferences on neural information retrieval will be reviewed, and issues in relevance, efficiency, and scalability will be studied.

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

 

CMPSC 190A Introduction to Optimization

This course provides a rigorous yet accessible introduction to the algorithmic foundations of optimization, with a focus on problems and applications in computer science and engineering. Topics include convex sets and functions; unconstrained methods such as gradient descent and Newton’s method; projection and gradient‐projection; equality and inequality constrained optimization via Lagrange multipliers and KKT conditions; duality theory; stochastic gradient techniques; and subgradient methods for nondifferentiable problems.

CMPSC 293B Foundations for Blockchains and Distributed 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 292C Computer-Aided Reasoning for Intelligent and Decentralized Systems

This graduate-level course studies how formal reasoning techniques are used to design, analyze, and secure modern software systems operating in open, adversarial, and intelligent environments. Rather than focusing solely on individual verification tools, the course presents reasoning as a system-level activity that combines automated solvers, human-guided proofs, and AI-based agents.

CMPSC 291K Transformer and Large Language Models

This is a graduate-level research course on Transformer and Large Language Models. Over the duration of this course, we will delve into the latest publications within the expansive domain of Large Language Models (LLMs), intelligent agents, and multimodal learning. Each student is entrusted with the following responsibilities: Conducting critical analyses and authoring paper reviews, programming with LLMs, delivering comprehensive paper presentations, and undertaking a substantial, research-quality course project.