CMPSC 190N Blockchain Systems, Security, and Applications

This upper‑division course gives students a rigorous, security‑first tour of modern blockchain systems. We begin with the cryptographic building blocks (hash functions, digital signatures, zero‑knowledge proofs) and quickly progress to consensus mechanisms such as Proof‑of‑Work, Proof‑of‑Stake, and BFT‑style protocols. Using Bitcoin and Ethereum as primary case studies, we dissect ledger structures, peer‑to‑peer networking, transaction execution, and economic incentives.

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 292F Data Modeling and Integration

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.

CMPSC 291A Neural Information Retrieval

This course covers advanced topics on neural information retrieval and web 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 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 291A AI for Science

Artificial intelligence holds enormous promise for accelerating scientific discovery, yet its “black box” nature and data-hungry architectures often hinder adoption in domains where interpretability, physical consistency, and sparse data prevail. This course addresses these challenges by developing a unified framework that integrates three complementary, domain-informed representations—topological features, physics-based constraints, and higher-order relational structures—into end-to-end, scalable AI models.

CMPSC 293N ML for Networked Systems

In recent years, the application of Machine Learning (ML) tools has extended beyond traditional domains like image classification and Natural Language Processing (NLP) to tackle a variety of classification, detection, and control problems. More notably, the adoption of ML in addressing networking issues has emerged as a significant area of interest. However, implementing ML solutions for networked systems presents unique challenges that go beyond merely adapting tools designed for other fields.

CMPSC 292G Post-Quantum Cryptography

This course deals with designing cryptographic systems that are conjectured to resist poly-time quantum attacks. We will discuss different (plausibly) post-quantum secure cryptographic assumptions. We will also show how to build cryptographic systems from these assumptions. We will also see cryptanalytic attacks on some cryptographic assumptions.

Pre-requisites: undergraduate course in cryptography (CMPSC 178), undergraduate course in quantum computing (CMPSC 190H).