Related Pages
IDS 9
Introduction to Information and Data Systems Research
1 unit (100)

second term
This course will introduce students to research areas in IDS through weekly overview talks by Caltech faculty and aimed at firstyear undergraduates. Others may wish to take the course to gain an understanding of the scope of research in computer science. Graded pass/fail.
Instructor:
Ralph
ACM/IDS 101 ab
Methods of Applied Mathematics
12 units (408)

first, second terms
Prerequisites: Math 2/102 and ACM 95 ab or equivalent.
First term: Brief review of the elements of complex analysis and complexvariable methods. Asymptotic expansions, asymptotic evaluation of integrals (Laplace method, stationary phase, steepest descents), perturbation methods, WKB theory, boundarylayer theory, matched asymptotic expansions with firstorder and highorder 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 spectrallyaccurate PDE solvers for linear and nonlinear Partial Differential Equations in general domains. Integralequations 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.
Instructor:
Bruno
ACM/IDS 104
Applied Linear Algebra
9 units (315)

first term
Prerequisites: Ma 1 abc, Ma 2/102.
This is an intermediate linear algebra course aimed at a diverse group of students, including junior and senior majors in applied mathematics, sciences and engineering. The focus is on applications. Matrix factorizations play a central role. Topics covered include linear systems, vector spaces and bases, inner products, norms, minimization, the Cholesky factorization, least squares approximation, data fitting, interpolation, orthogonality, the QR factorization, illconditioned systems, discrete Fourier series and the fast Fourier transform, eigenvalues and eigenvectors, the spectral theorem, optimization principles for eigenvalues, singular value decomposition, condition number, principal component analysis, the Schur decomposition, methods for computing eigenvalues, nonnegative matrices, graphs, networks, random walks, the PerronFrobenius theorem, PageRank algorithm.
Instructor:
Zuev
CMS/ACM/IDS 107
Linear Analysis with Applications
12 units (336)

first term
Prerequisites: ACM/IDS 104 or equivalent, Ma 1 b or equivalent.
Covers the basic algebraic, geometric, and topological properties of normed linear spaces, innerproduct spaces, and linear maps. Emphasis is placed both on rigorous mathematical development and on applications to control theory, data analysis and partial differential equations.
Instructor:
Stuart
CMS/ACM/IDS 113
Mathematical Optimization
12 units (309)

first term
Prerequisites: ACM 95/100 ab, ACM 11, ACM/IDS 104, or instructor's permission.
This class studies mathematical optimization from the viewpoint of convexity. Topics covered include duality and representation of convex sets; linear and semidefinite programming; connections to discrete, network, and robust optimization; relaxation methods for intractable problems; as well as applications to problems arising in graphs and networks, information theory, control, signal processing, and other engineering disciplines.
Instructor:
Chandrasekaran
ACM/CS/IDS 114
Parallel Algorithms for Scientific Applications
9 units (306)
Prerequisites: ACM 11, 106 or equivalent.
Introduction to parallel program design for numerically intensive scientific applications. Parallel programming methods; distributedmemory model with message passing using the message passing interface; sharedmemory model with threads using open MP, CUDA; objectbased models using a problemsolving environment with parallel objects. Parallel numerical algorithms: numerical methods for linear algebraic systems, such as LU decomposition, QR method, CG solvers; parallel implementations of numerical methods for PDEs, including finitedifference, finiteelement; particlebased simulations. Performance measurement, scaling and parallel efficiency, load balancing strategies. Not offered 201819.
ACM/EE/IDS 116
Introduction to Probability Models
9 units (315)

first term
Prerequisites: Ma 2, Ma 3.
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 intuitive feel of 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 use in future studies and research. Topics covered include sample spaces, events, probabilities of events, discrete and continuous random variables, expectation, variance, correlation, joint and marginal distributions, independence, moment generating functions, law of large numbers, central limit theorem, random vectors and matrices, random graphs, Gaussian vectors, branching, Poisson, and counting processes, general discrete and continuoustimed processes, auto and crosscorrelation functions, stationary processes, power spectral densities.
Instructor:
Zuev
CMS/ACM/EE/IDS 117
Probability and Random Processes
12 units (309)

first term
Prerequisites: ACM/IDS 104, ACM/EE/IDS 116, Ma 108 b, ACM/IDS 101 ab or equivalent.
The course will start with a quick reminder on probability spaces, discrete and continuous random variables. It will cover the following core topics: branching processes, Poisson processes, limit theorems, Gaussian variables, vectors, spaces, processes and measures, the Brownian motion, Gaussian learning, game theory and decision theory (finite state space), martingales (concentration, convergence, Doob's inequalities, optional/optimal stopping, Snell's envelope), large deviations (introduction, if time permits).
Instructor:
Owhadi
CS/IDS 121
Relational Databases
9 units (306)

first term
Prerequisites: CS 1 or equivalent.
Introduction to the basic theory and usage of relational database systems. It covers the relational data model, relational algebra, and the Structured Query Language (SQL). The course introduces the basics of database schema design and covers the entityrelationship model, functional dependency analysis, and normal forms. Additional topics include other query languages based on the relational calculi, datawarehousing and dimensional analysis, writing and using stored procedures, working with hierarchies and graphs within relational databases, and an overview of transaction processing and query evaluation. Extensive handson work with SQL databases.
Instructor:
Pinkston
CS/IDS 122
Database System Implementation
9 units (333)

second term
Prerequisites: CS 2, CS 38, CS/IDS 121 and familiarity with Java, or instructor's permission.
This course explores the theory, algorithms, and approaches behind modern relational database systems. Topics include file storage formats, query planning and optimization, query evaluation, indexes, transaction processing, concurrency control, and recovery. Assignments consist of a series of programming projects extending a working relational database, giving handson 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.
Instructor:
Pinkston
EE/Ma/CS/IDS 127
ErrorCorrecting Codes
9 units (306)

second term
Prerequisites: Ma 2.
This course develops from first principles the theory and practical implementation of the most important techniques for combating errors in digital transmission or storage systems. Topics include algebraic block codes, e.g., Hamming, BCH, ReedSolomon (including a selfcontained introduction to the theory of finite fields); and the modern theory of sparse graph codes with iterative decoding, e.g. LDPC codes, turbo codes. The students will become acquainted with encoding and decoding algorithms, design principles and performance evaluation of codes.
Instructor:
Kostina
EE/Ma/CS/IDS 136
Topics in Information Theory
9 units (306)

third term
Prerequisites: undergraduate calculus and probability.
This class introduces information measures such as entropy, information divergence, mutual information, information density from a probabilistic point of view, and discusses the relations of those quantities to problems in data compression and transmission, statistical inference, language modeling, game theory and control. Topics include information projection, data processing inequalities, sufficient statistics, hypothesis testing, singleshot approach in information theory, large deviations. Not Offered 201819.
Instructor:
Kostina
CMS/CS/IDS 139
Analysis and Design of Algorithms
12 units (309)

second term
Prerequisites: Ma 2, Ma 3, Ma/CS 6a, CS 21, CS 38/138, and ACM/EE/IDS 116 or CMS/ACM/IDS 113 or equivalent.
This course develops core principles for the analysis and design of algorithms. Basic material includes mathematical techniques for analyzing performance in terms of resources, such as time, space, and randomness. The course introduces the major paradigms for algorithm design, including greedy methods, divideandconquer, dynamic programming, linear and semidefinite programming, randomized algorithms, and online learning.
Instructor:
Vidick
CS/IDS 142
Distributed Computing
9 units (306)

third term
Prerequisites: CS 24, CS 38.
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. Not offered 201819.
CS/EE/IDS 143
Communication Networks
9 units (333)

first term
Prerequisites: Ma 2, Ma 3, CS 24 and CS 38, or instructor permission.
This course focuses on the link layer (two) through the transport layer (four) of Internet protocols. It has two distinct components, analytical and systems. In the analytical part, after a quick summary of basic mechanisms on the Internet, we will focus on congestion control and explain: (1) How to model congestion control algorithms? (2) Is the model well defined? (3) How to characterize the equilibrium points of the model? (4) How to prove the stability of the equilibrium points? We will study basic results in ordinary differential equations, convex optimization, Lyapunov stability theorems, passivity theorems, gradient descent, contraction mapping, and Nyquist stability theory. We will apply these results to prove equilibrium and stability properties of the congestion control models and explore their practical implications. In the systems part, the students will build a software simulator of Internet routing and congestion control algorithms. The goal is not only to expose students to basic analytical tools that are applicable beyond congestion control, but also to demonstrate in depth the entire process of understanding a physical system, building mathematical models of the system, analyzing the models, exploring the practical implications of the analysis, and using the insights to improve the design.
Instructors:
Low, Murray, Ralph
CMS/CS/EE/IDS 144
Networks: Structure & Economics
12 units (336)

second term
Prerequisites: Ma 2, Ma 3, Ma/CS 6 a, and CS 38, or instructor permission.
Social networks, the web, and the internet are essential parts of our lives and we all depend on them every day, but do you really know what makes them work? This course studies the "big" ideas behind our networked lives. Things like, what do networks actually look like (and why do they all look the same)? How do search engines work? Why do 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 handson labs. The course assumes students are comfortable with graph theory, probability, and basic programming.
Instructor:
Wierman
Ma/ACM/IDS 144 ab
Probability
9 units (306)

first term
Prerequisites: For 144 a, Ma 108 b is strongly recommended.
Overview of measure theory. Random walks and the Strong law of large numbers via the theory of martingales and Markov chains. Characteristic functions and the central limit theorem. Poisson process and Brownian motion. Topics in statistics. Part b not offered in 201819.
Instructor:
Tamuz
CS/IDS 150
Probability and Algorithms
9 units (306)

first term
Prerequisites: CS 38 a and Ma 5 abc.
Elementary randomized algorithms and algebraic bounds in communication, hashing, and identity testing. Game tree evaluation. Topics may include randomized parallel computation; independence, kwise independence and derandomization; rapidly mixing Markov chains; expander graphs and their applications; clustering algorithms.
Instructor:
Schulman
CS/IDS 153
Current Topics in Theoretical Computer Science
9 units (306)

third term
Prerequisites: CS 21 and CS 38, or instructor's permission.
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. Not offered 201819
ACM/IDS 154
Inverse Problems and Data Assimilation
9 units (306)

first term
Prerequisites: Basic differential equations, linear algebra, probability and statistics: ACM/IDS 104, ACM/EE 106 ab, ACM/EE/IDS 116, ACM/CS/IDS 157 or equivalent.
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 201819.
CMS/CS/CNS/EE/IDS 155
Machine Learning & Data Mining
12 units (336)

second term
Prerequisites: CS/CNS/EE 156 a. Having a sufficient background in algorithms, linear algebra, calculus, probability, and statistics, is highly recommended.
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
Instructor:
Yue
ACM/CS/IDS 157
Statistical Inference
9 units (324)

third term
Prerequisites: ACM/EE/IDS 116, Ma 3.
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, pvalues, 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.
Instructor:
Zuev
ACM/CS/EE/IDS 158
Mathematical Statistics
9 units (306)

third term
Prerequisites: CMS/ACM/IDS 113, ACM/EE/IDS 116 and ACM/CS/IDS 157.
Fundamentals of estimation theory and hypothesis testing; minimax analysis, CramerRao bounds, RaoBlackwell theory, shrinkage in high dimensions; NeymanPearson theory, multiple testing, false discovery rate; exponential families; maximum entropy modeling; other advanced topics may include graphical models, statistical model selection, etc. Throughout the course, a computational viewpoint will be emphasized. Not offered 201819.
CS/CNS/EE/IDS 159
Advanced Topics in Machine Learning
9 units (306)

third term
Prerequisites: CS 155; strong background in statistics, probability theory, algorithms, and linear algebra; background in optimization is a plus as well.
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.
Instructor:
Yue
EE/CS/IDS 160
Fundamentals of Information Transmission and Storage
9 units (306)

second term
Basics of information theory: entropy, mutual information, source and channel coding theorems. Basics of coding theory: errorcorrecting codes for information transmission and storage, block codes, algebraic codes, sparse graph codes. Basics of digital communications: sampling, quantization, digital modulation, matched filters, equalization. Offered 201819.
Instructor:
Hassibi
CS/CNS/EE/IDS 165
Foundations of Machine Learning
12 units (336)

second term
Prerequisites: Ma 108 a, ACM/IDS 104 or CMS/ACM/IDS 107, CMS/ACM/IDS 113, ACM/EE/IDS 116 or CMS/ACM/EE/IDS 117, CMS/CS/CNS/EE/IDS 155 or CMS 156 ab, programming experience..
Machine learning is promising to revolutionize every domain. Beyond the media hype, what are the basic foundations? Are the theoretical underpinnings irrelevant given the success of deep learning? What does success even mean? In addition to covering the core concepts, the course aims to ask such critical questions and foster a healthy debate among the students. Assignments will include exploring failure modes of popular algorithms, in addition to traditional problemsolving type questions. The core concepts covered include: linear models, kernel methods, probabilistic models, spectral methods (matrices and tensors), neural networks representation theory, nonconvex optimization, generalization in deep neural networks, causality etc. The course assumes students are comfortable with analysis, probability, statistics, and basic programming.
Instructor:
Anandkumar
EE/CS/IDS 167
Introduction to Data Compression and Storage
9 units (306)

third term
Prerequisites: Ma 3 or ACM/EE/IDS 116.
The course will introduce the students to the basic principles and techniques of codes for data compression and storage. The students will master the basic algorithms used for lossless and lossy compression of digital and analog data and the major ideas behind coding for flash memories. Topics include the Huffman code, the arithmetic code, LempelZiv dictionary techniques, scalar and vector quantizers, transform coding; codes for constrained storage systems. Given in alternate years; offered 201819.
Instructor:
Kostina
ACM/EE/IDS 170
Mathematics of Signal Processing
12 units (309)

third term
Prerequisites: ACM/IDS 104, CMS/ACM/IDS 113, and ACM/EE/IDS 116; or instructor's permission.
This course covers classical and modern approaches to problems in signal processing. Problems may include denoising, deconvolution, spectral estimation, directionofarrival 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 leastsquares and on sparse modeling. Throughout the course, a computational viewpoint will be emphasized.
Instructor:
Hassibi
CS/IDS 178
Numerical Algorithms and their Implementation
9 units (333)

second term
Prerequisites: CS 2.
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, illconditioning, 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
Instructor:
Desbrun
IDS 197
Undergraduate Reading in the Information and Data Sciences
Units are assigned in accordance with work accomplished

first, second, third terms
Prerequisites: Consent of supervisor is required before registering.
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.
Instructor:
Staff
IDS 198
Undergraduate Projects in Information and Data Sciences
Units are assigned in accordance with work accomplished

first, second, third terms
Prerequisites: Consent of supervisor is required before registering.
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.
Instructor:
Staff
IDS 199
Undergraduate thesis in the Information and Data Sciences
9 units (108)

first, second, third terms
Prerequisites: instructor's permission, which should be obtained sufficiently early to allow time for planning the research.
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.
Instructor:
Staff
ACM/IDS 204
Topics in Linear Algebra and Convexity
12 units (309)

first term
Prerequisites: ACM/IDS 104 and CMS/ACM/IDS 113; or instructor's permission.
Topic varies by year. 20182019: Convexity. This class offers an overview of discrete and continuous aspects of convex geometry with some computational applications. Material may include geometry of convex sets and functions, facial geometry of convex sets, convexity in infinite dimensions, polarity and duality theory, ellipsoids, polytopes, lattices and lattice points, geometric probability.
Instructor:
Tropp
ACM/IDS 213
Topics in Optimization
9 units (306)

third term
Prerequisites: ACM/IDS 104, CMS/ACM/IDS 113.
Material varies yeartoyear. Example topics include discrete optimization, convex and computational algebraic geometry, numerical methods for largescale optimization, and convex geometry. Not offered 201819.
ACM/IDS 216
Markov Chains, Discrete Stochastic Processes and Applications
9 units (306)

second term
Prerequisites: ACM/EE/IDS 116 or equivalent.
Stable laws, Markov chains, classification of states, ergodicity, von Neumann ergodic theorem, mixing rate, stationary/equilibrium distributions and convergence of Markov chains, Markov chain Monte Carlo and its applications to scientific computing, Metropolis Hastings algorithm, coupling from the past, martingale theory and discrete time martingales, rare events, law of large deviations, Chernoff bounds.
Instructor:
Owhadi
ACM/EE/IDS 217
Advanced Topics in Stochastic Analysis
9 units (306)

third term
Prerequisites: ACM/CMS/EE/IDS 117.
The topic of this course changes from year to year and is expected to cover areas such as stochastic differential equations, stochastic control, statistical estimation and adaptive filtering, empirical processes and large deviation techniques, concentration inequalities and their applications. Examples of selected topics for stochastic differential equations include continuous time Brownian motion, Ito's calculus, Girsanov theorem, stopping times, and applications of these ideas to mathematical finance and stochastic control.
Instructor:
Stuart
Published Date:
July 28, 2022