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).

CMPSC 190J Network Science

This class is an introductory undergraduate course about networks, which can be used to study complex systems of interacting entities. The study of networks — including theory, computation, and applications — is pervasive in physics, biology, sociology, computer and information science, and myriad other fields. The study of networks is also a major part of data science.