Filtered Courses (2026-27)
Introduction to Information and Data Systems Research
This course will introduce students to research areas in IDS through weekly overview talks by Caltech faculty and aimed at first-year undergraduates. Others may wish to take the course to gain an understanding of the scope of research in computer science. Graded pass/fail. Not offered 2026-27.
Methods of Applied Mathematics
First term: Brief review of the elements of complex analysis and complex-variable methods. Asymptotic expansions, asymptotic evaluation of integrals (Laplace method, stationary phase, steepest descents), perturbation methods, WKB theory, boundary-layer theory, matched asymptotic expansions with first-order and high-order matching. Method of multiple scales for oscillatory systems. Second term: Applied spectral theory, special functions, generalized eigenfunction expansions, convergence theory. Gibbs and Runge phenomena and their resolution. Chebyshev expansion and Fourier Continuation methods. Review of numerical stability theory for time evolution. Fast spectrally-accurate PDE solvers for linear and nonlinear Partial Differential Equations in general domains. Integral-equations methods for linear partial differential equation in general domains (Laplace, Helmholtz, Schroedinger, Maxwell, Stokes). Homework problems in both 101 a and 101 b include theoretical questions as well as programming implementations of the mathematical and numerical methods studied in class.
Spatial Data Science for Economics and Policy
Economic policy questions increasingly depend on novel measurement: satellite imagery to track deforestation, digitized historical maps to study long-run development, and neural networks to predict poverty. This course surveys how economists build new spatial data from computational methods and deploy it for credible policy evaluation. Topics are organized as self-contained modules covering remote sensing and land use classification, digitization of historical maps, and deep learning for prediction. Data science is presented as an input to spatial causal inference techniques: boundary discontinuities, market access approaches, and spatial instrumental variables. Each module pairs a methodological introduction with a recent application from development, trade, or environmental economics. Students will complete hands-on assignments and develop an original policy evaluation proposal that leverages one of these modern measurement tools.
Applied Linear Algebra
This is an intermediate linear algebra course aimed at a diverse group of students, including sophomores in applied and computational mathematics, computer science, and information and data sciences, as well as graduate students in science and engineering. The main goal of the course is to provide an introduction to the fundamental ideas, concepts, and methods of applied linear algebra and illustrate them with important applications. Topics covered include linear systems, vector spaces and bases, fundamental matrix subspaces, inner products, norms, k-means algorithm, positive-definite and Gram matrices, application to text classification, least squares solutions and applications to data fitting, orthogonality, the QR factorization, eigenvalues and eigenvectors, the Gerschgorin theorem, the Perron-Frobenius theorem, the PageRank algorithm, the spectral theorem, optimization principles for eigenvalues, principal component analysis, spectral method for graph partitioning, and singular value decomposition with its applications.
Linear Analysis with Applications
Part a: Covers the basic algebraic, geometric, and topological properties of normed linear spaces, inner-product spaces and linear maps. Emphasis is placed both on rigorous mathematical development and on applications to control theory, data analysis and partial differential equations. Topics: Completeness, Banach spaces (l_p, L_p), Hilbert spaces (weighted l_2, L_2 spaces), introduction to Fourier transform, Fourier series and Sobolev spaces, Banach spaces of linear operators, duality and weak convergence, density, separability, completion, Schauder bases, continuous and compact embedding, compact operators, orthogonality, Lax-Milgram, Spectral Theorem and SVD for compact operators, integral operators, Jordan normal form. Part b: Continuation of ACM 107a, developing new material and providing further details on some topics already covered. Emphasis is placed both on rigorous mathematical development and on applications to control theory, data analysis and partial differential equations.Topics: Review of Banach spaces, Hilbert spaces, Linear Operators, and Duality, Hahn-Banach Theorem, Open Mapping and Closed Graph Theorem, Uniform Boundedness Principle, The Fourier transform (L1, L2, Schwartz space theory), Sobolev spaces (W^s,p, H^s), Sobolev embedding theorem, Trace theorem Spectral Theorem, Compact operators, Ascoli Arzela theorem, Contraction Mapping Principle, with applications to the Implicit Function Theorem and ODEs, Calculus of Variations (differential calculus, existence of extrema, Gamma-convergence, gradient flows) Applications to Inverse Problems (Tikhonov regularization, imaging applications). Part b not offered 2026-27.
Design and analysis of field experiments
Field experiments are widely used in academia, government and industry to evaluate the effectiveness of changes in social policy, business models, and medical interventions, among others. The course provides an introduction to the design and analysis of field experiments, with applications in each of these domains. The course has an emphasis on hands-on learning in order to build practical skills in real research scenarios. A previous course covering linear regression is a prerequisite for the class.
Introduction to Probability Models
This course introduces students to the fundamental concepts, methods, and models of applied probability and stochastic processes. The course is application oriented and focuses on the development of probabilistic thinking and an intuitive feel for the subject rather than on a more traditional formal approach based on measure theory. The main goal is to equip science and engineering students with necessary probabilistic tools they can apply in future studies and research. Topics covered include sample spaces, probabilities of events, random variables, expectation, variance, correlation, joint and marginal distributions, independence, moment generating functions, law of large numbers, central limit theorem, Monte Carlo method, conditional distributions, conditional expectation and variance, random vectors and matrices, random graphs, Wiener filters, Gaussian vectors, stochastic processes, Poisson process, Brownian motion, stationary processes, correlation function, and power spectral density.
Relational Databases
This course explores the theory, algorithms, and approaches behind modern row-based relational database systems. Topics include file storage formats, query planning and optimization, query evaluation, and indexes. Assignments consist of a series of programming projects extending a working relational database, giving hands-on experience with the topics covered in class. The course also has a strong focus on proper software engineering practices, including version control, testing, and documentation.
Applied Data Analysis
Fundamentally, this course is about making arguments with numbers and data. Data analysis for its own sake is often quite boring, but becomes crucial when it supports claims about the world. A convincing data analysis starts with the collection and cleaning of data, a thoughtful and reproducible statistical analysis of it, and the graphical presentation of the results. This course will provide students with the necessary practical skills, chiefly revolving around statistical computing, to conduct their own data analysis. This course is not an introduction to statistics or computer science. I assume that students are familiar with at least basic probability and statistical concepts up to and including regression. Not offered 2026-27.
Error-Correcting Codes
This course develops from first principles the theory and practical implementation of the most important techniques for combating errors in digital transmission and storage systems. Topics include highly symmetric linear codes, such as Hamming, Reed-Muller, and Polar codes; algebraic block codes, such as Reed-Solomon and BCH codes, including a self-contained introduction to the theory of finite fields; and low-density parity-check codes. Students will become acquainted with encoding and decoding algorithms, design principles and performance evaluation of codes. Not offered 2026-27.
Information Measures and Applications
This class introduces information measures such as entropy, information divergence, mutual information, information density, and establishes the fundamental importance of those measures in data compression, statistical inference, and error control. The course does not require a prior exposure to information theory; it is complementary to EE 126a.
Analysis and Design of Algorithms
This course develops key algorithms for algebraic and combinatorial computations. Basic material includes mathematical techniques for analyzing performance in terms of resources, such as time, space, and randomness. Topics vary somewhat by year and will be drawn from commutative algebra and linear algebra; linear and semidefinite programming; explore/exploit tradeoffs; flow problems and matroid problems. Not offered 2026-27.
Probability
This course begins with an overview of measure theory, followed by topics that include random walks, the strong law of large numbers, the central limit theorem, martingales, Markov chains, characteristic functions, Poisson processes, and Brownian motion. Towards the end, some further topics may be covered, such as stochastic calculus, stochastic differential equations, Gaussian processes, random graphs, Markov chain mixing, random matrix theory, and interacting particle systems.
Networks: Algorithms & Architecture
Social networks, the web, and the internet are essential parts of our lives, and we depend on them every day. CS/EE/IDS 143 and CMS/CS/Ec/EE/IDS 144 study how they work and the "big" ideas behind our networked lives. In this course, the questions explored include: Why is an hourglass architecture crucial for the design of the Internet? Why doesn't the Internet collapse under congestion? How are cloud services so scalable? How do algorithms for wireless and wired networks differ? For all these questions and more, the course will provide a mixture of both mathematical analysis and hands-on labs. The course expects students to be comfortable with graph theory, probability, and basic programming.
Networks: Structure & Economics
Social networks, the web, and the internet are essential parts of our lives, and we depend on them every day. CS/EE/IDS 143 and CMS/CS/Ec/EE/IDS 144 study how they work and the "big" ideas behind our networked lives. In this course, the questions explored include: What do networks actually look like (and why do they all look the same)?; How do search engines work?; Why do epidemics and memes spread the way they do?; How does web advertising work? For all these questions and more, the course will provide a mixture of both mathematical analysis and hands-on labs. The course expects students to be comfortable with graph theory, probability, and basic programming.
Probability and Algorithms
Part a: The probabilistic method and randomized algorithms. Deviation bounds, k-wise independence, graph problems, identity testing, derandomization and parallelization, metric space embeddings, local lemma. Part b: Further topics such as weighted sampling, epsilon-biased sample spaces, advanced deviation inequalities, rapidly mixing Markov chains, analysis of boolean functions, expander graphs, and other gems in the design and analysis of probabilistic algorithms. Parts a & b are given in alternate years.
Current Topics in Theoretical Computer Science
May be repeated for credit, with permission of the instructor. Students in this course will study an area of current interest in theoretical computer science. The lectures will cover relevant background material at an advanced level and present results from selected recent papers within that year's chosen theme. Students will be expected to read and present a research paper.
Inverse Problems and Data Assimilation
Models in applied mathematics often have input parameters that are uncertain; observed data can be used to learn about these parameters and thereby to improve predictive capability. The purpose of the course is to describe the mathematical and algorithmic principles of this area. The topic lies at the intersection of fields including inverse problems, differential equations, machine learning and uncertainty quantification. Applications will be drawn from the physical, biological and data sciences. Not offered 2026-27.
Machine Learning & Data Mining
This course will cover popular methods in machine learning and data mining, with an emphasis on developing a working understanding of how to apply these methods in practice. The course will focus on basic foundational concepts underpinning and motivating modern machine learning and data mining approaches. We will also discuss recent research developments.
Statistical Inference
Statistical Inference is a branch of mathematical engineering that studies ways of extracting reliable information from limited data for learning, prediction, and decision making in the presence of uncertainty. This is an introductory course on statistical inference. The main goals are: develop statistical thinking and intuitive feel for the subject; introduce the most fundamental ideas, concepts, and methods of statistical inference; and explain how and why they work, and when they don't. Topics covered include summarizing data, fundamentals of survey sampling, statistical functionals, jackknife, bootstrap, methods of moments and maximum likelihood, hypothesis testing, p-values, the Wald, Student's t-, permutation, and likelihood ratio tests, multiple testing, scatterplots, simple linear regression, ordinary least squares, interval estimation, prediction, graphical residual analysis.
Fundamentals of Statistical Learning
The main goal of the course is to provide an introduction to the central concepts and core methods of statistical learning, an interdisciplinary field at the intersection of applied mathematics, statistical inference, and machine learning. The course focuses on the mathematics and statistics of methods developed for learning from data. Students will learn what methods for statistical learning exist, how and why they work (not just what tasks they solve and in what built-in functions they are implemented), and when they are expected to perform poorly. The course is oriented for upper level undergraduate students in IDS, ACM, and CS and graduate students from other disciplines who have sufficient background in linear algebra, probability, and statistics. The course is a natural continuation of IDS/ACM/CS 157 and it can be viewed as a statistical analog of CMS/CS/CNS/EE/IDS 155. Topics covered include elements of statistical decision theory, regression and classification problems, nearest-neighbor methods, curse of dimensionality, linear regression, model selection, cross-validation, subset selection, shrinkage methods, ridge regression, LASSO, logistic regression, linear and quadratic discriminant analysis, support-vector machines, tree-based methods, bagging, and random forests. Not offered 2026-27.
Advanced Topics in Machine Learning
This course focuses on current topics in machine learning research. This is a paper reading course, and students are expected to understand material directly from research articles. Students are also expected to present in class, and to do a final project.
Fundamentals of Information Transmission and Storage
Basics of information theory: entropy, mutual information, source and channel coding theorems. Basics of coding theory: error-correcting codes for information transmission and storage, block codes, algebraic codes, sparse graph codes. Basics of digital communications: sampling, quantization, digital modulation, matched filters, equalization.
Data, Algorithms and Society
This course examines algorithms and data practices in fields such as machine learning, privacy, and communication networks through a social lens. We will draw upon theory and practices from art, media, computer science and technology studies to critically analyze algorithms and their implementations within society. The course includes projects, lectures, readings, and discussions. Students will learn mathematical formalisms, critical thinking and creative problem solving to connect algorithms to their practical implementations within social, cultural, economic, legal and political contexts. Enrollment by application. Taught concurrently with VC 162 and can only be taken once as CS/IDS 162 or VC 162.
Projects in Machine Learning
This is a project-based course for students looking to gain practical experience in machine learning. Students are expected to be proficient in basic machine learning. Students will work in groups. Each group will be provided a project topic to work on, along with domain expert advisors.
Foundations of Machine Learning and Statistical Inference
The course assumes students are comfortable with analysis, probability, statistics, and basic programming. This course will cover core concepts in machine learning and statistical inference. The ML concepts covered are spectral methods (matrices and tensors), non-convex optimization, probabilistic models, neural networks, representation theory, and generalization. In statistical inference, the topics covered are detection and estimation, sufficient statistics, Cramer-Rao bounds, Rao-Blackwell theory, variational inference, and multiple testing. In addition to covering the core concepts, the course encourages students to ask critical questions such as: How relevant is theory in the age of deep learning? What are the outstanding open problems? Assignments will include exploring failure modes of popular algorithms, in addition to traditional problem-solving type questions.
Computational Cameras
Computational cameras overcome the limitations of traditional cameras, by moving part of the image formation process from hardware to software. In this course, we will study this emerging multi-disciplinary field at the intersection of signal processing, applied optics, computer graphics, and vision. At the start of the course, we will study modern image processing and image editing pipelines, including those encountered on DSLR cameras and mobile phones. Then we will study the physical and computational aspects of tasks such as coded photography, light-field imaging, astronomical imaging, medical imaging, and time-of-flight cameras. The course has a strong hands-on component, in the form of homework assignments and a final project. In the homework assignments, students will have the opportunity to implement many of the techniques covered in the class. Example homework assignments include building an end-to-end HDR (High Dynamic Range) imaging pipeline, implementing Poisson image editing, refocusing a light-field image, and making your own lensless "scotch-tape" camera.
Mathematics of Signal Processing
This course covers classical and modern approaches to problems in signal processing. Problems may include denoising, deconvolution, spectral estimation, direction-of-arrival estimation, array processing, independent component analysis, system identification, filter design, and transform coding. Methods rely heavily on linear algebra, convex optimization, and stochastic modeling. In particular, the class will cover techniques based on least-squares and on sparse modeling. Throughout the course, a computational viewpoint will be emphasized. Not offered 2026-27.
Distributed Computing
Programming distributed systems. Mechanics for cooperation among concurrent agents. Programming sensor networks and cloud computing applications. Applications of machine learning and statistics by using parallel computers to aggregate and analyze data streams from sensors.
Numerical Algorithms and their Implementation
This course gives students the understanding necessary to choose and implement basic numerical algorithms as needed in everyday programming practice. Concepts include: sources of numerical error, stability, convergence, ill-conditioning, and efficiency. Algorithms covered include solution of linear systems (direct and iterative methods), orthogonalization, SVD, interpolation and approximation, numerical integration, solution of ODEs and PDEs, transform methods (Fourier, Wavelet), and low rank approximation such as multipole expansions. Not offered 2026-27.
Multiscale Modeling
Part a: Multiscale methodology for partial differential equations (PDEs) and for stochastic differential equations (SDEs). Basic theory of underlying PDEs; basic theory of Gaussian processes; basic theory of SDEs; multiscale expansions. Part b: Transition from quantum to continuum modeling of materials. Schrodinger equation and semi-classical limit; molecular dynamics and kinetic theory; kinetic theory, Boltzmann equation and continuum mechanics. Not offered 2026-27.
Deep Learning
Introduction to deep learning. Perceptrons, deep networks, convolutional neural networks, transformers. Optimization techniques: stochastic gradient descent, ADAM. Data wrangling: public datasets, sourcing datasets, crowdsourcing dataset annotation, dataset cleanup and curation. Performance evaluation and benchmarking. Training and inference using Numpy and PyTorch. Applications to computer vision, sound processing and natural language processing. The class will emphasize hands-on experience and good experimental practices.
Large Language Models
The class focuses on large language models (LLMs) and language-and-vision models, as well as on generative methods for artificial intelligence (AI). Topics include deep neural networks, transformers, large language models, generative adversarial networks, diffusion models, state-space models, and applications of such architectures and methods to image analysis, image synthesis, and text-to-image translation.
Foundations of Algorithmic Decision-Making: Online Learning, Reinforcement Learning, and beyond
From game-playing agents to Large Language Models, Reinforcement Learning (RL) has become the engine behind many of the most significant breakthroughs in modern AI. This course provides a rigorous introduction to the mathematical foundations of algorithmic decision-making, moving from multi-armed bandits to reinforcement learning and concluding with special topics on how these principles are applied at scale to AI models and complex high-dimensional problems like robotics. Through a mixture of mathematical analysis and algorithmic implementation, students will gain the tools to both understand and develop the next generation of decision-making agents. The course expects students to be comfortable with probability, linear algebra, and basic optimization.
Undergraduate Reading in the Information and Data Sciences
Supervised reading in the information and data sciences by undergraduates. The topic must be approved by the reading supervisor and a formal final report must be presented on completion of the term. Graded pass/fail.
Undergraduate Projects in Information and Data Sciences
Supervised research in the information and data sciences. The topic must be approved by the project supervisor and a formal report must be presented upon completion of the research. Graded pass/fail.
Undergraduate thesis in the Information and Data Sciences
Individual research project, carried out under the supervision of a faculty member and approved by the option representative. Projects must include significant design effort and a written Report is required. Open only to upperclass students. Not offered on a pass/fail basis.
Topics in Linear Algebra and Convexity
The content of this course varies from year to year among advanced subjects in linear algebra, convex analysis, and related fields. Specific topics for the class include matrix analysis, operator theory, convex geometry, or convex algebraic geometry. Lectures and homework will require the ability to understand and produce mathematical proofs. Not offered 2026-27.
Topics in Optimization
Material varies year-to-year. Example topics include discrete optimization, convex and computational algebraic geometry, numerical methods for large-scale optimization, and convex geometry. Not offered 2026-27.
Markov Chains, Discrete Stochastic Processes and Applications
Introduction to Markov chains and processes covering discrete and continuous state-spaces in both discrete and continuous time settings. Topics include irreducibility, aperiodicity, stationary and equilibrium distributions, convergence behavior, transience and recurrence, and the Ergodic Theorem. Emphasis on Markov Chain Monte Carlo (MCMC) algorithms, particularly Metropolis-Hastings and Simulated Annealing, with practical applications in scientific computing. Additional topics include coupling from the past, convergence rates, and an introduction to Markov Decision Processes.