Statistics MS Breadth
Electives
Please be advised, this list is not exhaustive.
There are a great deal of courses created every year which we try to include in this list of suggested electives.
There are a great deal of courses created every year which we try to include in this list of suggested electives.
Other graduate courses (200 or above) may be authorized by the advisor if they provide skills relevant to degree requirements or deal primarily with an application of statistics or probability and do not overlap courses in the student's program.
There is sufficient flexibility to accommodate students with interests in applications to business, computing, economics, engineering, health, operations research, and biological and social sciences.
Graduate courses cross-listed with the Statistics Department are approved as elective credit for the program, as are the following table of suggested courses.
May be taken for CR/S.
Biological Sciences
- Biomedical Data Science
- Biomedical Informatics
- Genetics
- Biosciences Interdisciplinary
Fundamentals of Molecular Evolution (BIO 244)
The inference of key molecular evolutionary processes from DNA and protein sequences. Topics include random genetic drift, coalescent models, effects and tests of natural selection, combined effects of linkage and natural selection, codon bias and genome evolution. Prerequisites: Biology core or BIO 82, 85 or graduate standing in any department, and consent of instructor.
Terms: Win | Units: 4
Theoretical Population Genetics (BIO 283)
Models in population genetics and evolution. Selection, random drift, gene linkage, migration, and inbreeding, and their influence on the evolution of gene frequencies and chromosome structure. Models are related to DNA sequence evolution. Prerequisites: calculus and linear algebra, or consent of instructor.
Terms: Win | Units: 3
Representations and Algorithms for Computational Molecular Biology (BIOMEDIN 214/BIOE 214/CS 274/GENE 214)
Intermediate Biostatistics: Analysis of Discrete Data (BIOMEDIN 233/EPI 261/STATS 261)
Artificial Intelligence in Healthcare (BIODS 220)
Healthcare is one of the most exciting application domains of artificial intelligence, with transformative potential in areas ranging from medical image analysis to electronic health records-based prediction and precision medicine. This course will involve a deep dive into recent advances in AI in healthcare, focusing in particular on deep learning approaches for healthcare problems. We will start from foundations of neural networks, and then study cutting-edge deep learning models in the context of a variety of healthcare data including image, text, multimodal and time-series data. In the latter part of the course, we will cover advanced topics on open challenges of integrating AI in a societal application such as healthcare, including interpretability, robustness, privacy and fairness. The course aims to provide students from diverse backgrounds with both conceptual understanding and practical grounding of cutting-edge research on AI in healthcare.
Prerequisites: Proficiency in Python or ability to self-learn; familiarity with machine learning and basic calculus, linear algebra, statistics; familiarity with deep learning highly recommended (e.g. prior experience training a deep learning model).
Terms: Aut | Units: 3-4
Consulting Workshop on Biomedical Data Science (BIODS 232)
Data Studio (BIODS 232) is an initiative to foster dialog between statisticians/data scientists and biomedical researchers. Each workshop is an in-depth consultation for 90 minutes with a biomedical researcher who explains the project, goals, and statistical needs. At least one session per month is conducted using an office hour format: a few brief consultations with investigators seeking statistical advice.
The educational goals of this workshop are to provide basic training in the art of statistical consultation, to learn how the faculty approach consultation practice, and to gain practical experience by collaborating with a researcher on a project. Students learn by doing. We require students to attend all the sessions and actively participate. During at least one session per month, we will devote approximately 30 minutes to formal didactics. We will discuss readings and experiences from workshops during the month that illustrate various consulting techniques.
For one (1) unit, students will select one of the 90-minute workshops and write a brief report that summarizes the problem presented by the investigator, the consulting techniques used, and the advice given. For two (2) units, students are required to participate in one or two projects as team members under the supervision of faculty members or senior staff. Depending on the nature of the project, students may need to conduct numerical simulations, plan sample size, design a study, and analyze client data. A formal written report must be completed at the end of each consulting project. Both the summary and formal reports may be submitted any time before the end of the quarter.
Additional information:
http://med.stanford.edu/dbds/resources/data-studio.html
https://explorecourses.stanford.edu/search?view=catalog&page=0&catalog=…
Genomics (GENE 211)
Topics in Biomedical Data Science: Large-scale inference (BIODS 215)
Workshop in Biostatistics (BIODS 260)
Applications of statistical techniques to current problems in medical science. To receive credit for one or two units, a student must attend every workshop. To receive two units, in addition to attending every workshop, the student is required to write an acceptable one page summary of two of the workshops, with choices made by the student.
Terms: Aut, W, Spr | Units: 1-2 | Repeatable for credit
Modern Statistics for Modern Biology (BIOS 221/STATS 366)
Computational and Mathematical Engineering (CME)
Numerical Linear Algebra (CME 302)
Solution of linear systems, accuracy, stability, LU, Cholesky, QR, least squares problems, singular value decomposition, eigenvalue computation, iterative methods, Krylov subspace, Lanczos and Arnoldi processes, conjugate gradient, GMRES, direct methods for sparse matrices.
Linear Algebra with Application to Engineering Computations (CME 200/ME 300A)
Computer based solution of systems of algebraic equations obtained from engineering problems and eigen-system analysis, Gaussian elimination, effect of round-off error, operation counts, banded matrices arising from discretization of differential equations, ill-conditioned matrices, matrix theory, least square solution of unsolvable systems, solution of non-linear algebraic equations, eigenvalues and eigenvectors, similar matrices, unitary and Hermitian matrices, positive definiteness, Cayley-Hamilton theory and function of a matrix and iterative methods.
Prerequisite: familiarity with computer programming, and MATH51.
Partial Differential Equations of Applied Mathematics (MATH 220)
First-order partial differential equations; method of characteristics; weak solutions; elliptic, parabolic, and hyperbolic equations; Fourier transform; Fourier series; and eigenvalue problems.
Prerequisite: Basic coursework in multivariable calculus and ordinary differential equations, and some prior experience with a proof-based treatment of the material as in Math 171 or Math 61CM.
Terms: Aut | Units: 3
Discrete Mathematics and Algorithms (CME 305/MS&E 316)
Topics: Basic Algebraic Graph Theory, Matroids and Minimum Spanning Trees, Submodularity and Maximum Flow, NP-Hardness, Approximation Algorithms, Randomized Algorithms, The Probabilistic Method, and Spectral Sparsification using Effective Resistances. Topics will be illustrated with applications from Distributed Computing, Machine Learning, and large-scale Optimization.
Prerequisites: CS 261 is highly recommended, although not required.
Terms: Win | Units: 3
Numerical Solution of Partial Differential Equations (CME306/MATH 226)
Hyperbolic partial differential equations: stability, convergence and qualitative properties; nonlinear hyperbolic equations and systems; combined solution methods from elliptic, parabolic, and hyperbolic problems. Examples include: Burger's equation, Euler equations for compressible flow, Navier-Stokes equations for incompressible flow. Prerequisites: MATH 220 or CME 302.
Randomized Algorithms and Probabilistic Analysis (CME309/CS 265)
Randomness pervades the natural processes around us, from the formation of networks, to genetic recombination, to quantum physics. Randomness is also a powerful tool that can be leveraged to create algorithms and data structures which, in many cases, are more efficient and simpler than their deterministic counterparts. This course covers the key tools of probabilistic analysis, and application of these tools to understand the behaviors of random processes and algorithms. Emphasis is on theoretical foundations, though we will apply this theory broadly, discussing applications in machine learning and data analysis, networking, and systems. Topics include tail bounds, the probabilistic method, Markov chains, and martingales, with applications to analyzing random graphs, metric embeddings, random walks, and a host of powerful and elegant randomized algorithms.
Distributed Algorithms and Optimization (CME 323)
The emergence of clusters of commodity machines with parallel processing units has brought with it a slew of new algorithms and tools. Many fields such as Machine Learning and Optimization have adapted their algorithms to handle such clusters. Topics include distributed and parallel algorithms for: Optimization, Numerical Linear Algebra, Machine Learning, Graph analysis, Streaming algorithms, and other problems that are challenging to scale on a commodity cluster. The class will focus on analyzing parallel and distributed programs, with some implementation using Apache Spark and TensorFlow.
Convex Optimization I (CME 364A/EE 364A)
Convex Optimization II (CME 364B/EE 364B)
Continuation of 364A. Subgradient, cutting-plane, and ellipsoid methods. Decentralized convex optimization via primal and dual decomposition. Monotone operators and proximal methods; alternating direction method of multipliers. Exploiting problem structure in implementation. Convex relaxations of hard problems. Global optimization via branch and bound. Robust and stochastic optimization. Applications in areas such as control, circuit design, signal processing, and communications. Course requirements include project.
Prerequisite: 364A.
Terms: Spr | Units: 3
Computer Science
Courses below 200 level are not acceptable, with the following exceptions below.
Operating Systems and Systems Programming (CS 140)
Operating systems design and implementation. Basic structure; synchronization and communication mechanisms; implementation of processes, process management, scheduling, and protection; memory organization and management, including virtual memory; I/O device management, secondary storage, and file systems.
Prerequisite: CS 110.
Terms: Win, Spr | Units: 3-4
Web Applications (CS 142)
Concepts and techniques used in constructing interactive web applications. Browser-side web facilities such as HTML, cascading stylesheets, the document object model, and JavaScript frameworks and Server-side technologies such as server-side JavaScript, sessions, and object-oriented databases. Issues in web security and application scalability. New models of web application deployment.
Prerequisites: CS 107 and CS 108.
Terms: Win, Spr
Compilers (CS 143)
Principles and practices for design and implementation of compilers and interpreters. Topics: lexical analysis; parsing theory; symbol tables; type systems; scope; semantic analysis; intermediate representations; runtime environments; code generation; and basic program analysis and optimization. Students construct a compiler for a simple object-oriented language during course programming projects.
Prerequisites: 103 or 103B, and 107.
Terms: Spr | Units: 3-4
Introduction to Computer Networking (CS 144)
Principles and practice. Structure and components of computer networks, packet switching, layered architectures. Applications: web/http, voice-over-IP, p2p file sharing and socket programming. Reliable transport: TCP/IP, reliable transfer, flow control, and congestion control. The network layer: names and addresses, routing. Local area networks: ethernet and switches. Wireless networks and network security.
Prerequisite: CS 110.
Data Management and Data Systems (CS 145)
Introduction to the use, design, and implementation of database and data-intensive systems, including data models; schema design; data storage; query processing, query optimization, and cost estimation; concurrency control, transactions, and failure recovery; distributed and parallel execution; semi-structured databases; and data system support for advanced analytics and machine learning.
Prerequisites: 103 and 107 (or equivalent).
Terms: Aut | Units: 3-4
Introduction to Human-Computer Interaction Design (CS 147)
Introduction to Computer Graphics and Imaging (CS 148)
Parallel Computing (CS 149)
This course is an introduction to parallelism and parallel programming. Most new computer architectures are parallel; programming these machines requires knowledge of the basic issues of and techniques for writing parallel software. Topics: varieties of parallelism in current hardware (e.g., fast networks, multicore, accelerators such as GPUs, vector instruction sets), importance of locality, implicit vs. explicit parallelism, shared vs. non-shared memory, synchronization mechanisms (locking, atomicity, transactions, barriers), and parallel programming models (threads, data parallel/streaming, MapReduce, Apache Spark, SPMD, message passing, SIMT, transactions, and nested parallelism). Significant parallel programming assignments will be given as homework. The course is open to students who have completed the introductory CS course sequence through 110.
Terms: Aut | Units: 3-4
Introduction to Automata and Complexity Theory (CS 154)
Computer and Network Security (CS 155)
For seniors and first-year graduate students. Principles of computer systems security. Attack techniques and how to defend against them. Topics include: network attacks and defenses, operating system security, application security (web, apps, databases), malware, privacy, and security for mobile devices. Course projects focus on building reliable code.
Prerequisite: 110. Recommended: basic Unix.
Computational Logic (CS 157)
Rigorous introduction to Symbolic Logic from a computational perspective. Encoding information in the form of logical sentences. Reasoning with information in this form. Overview of logic technology and its applications - in mathematics, science, engineering, business, law, and so forth. Topics include the syntax and semantics of Propositional Logic, Relational Logic, and Herbrand Logic, validity, contingency, unsatisfiability, logical equivalence, entailment, consistency, natural deduction (Fitch), mathematical induction, resolution, compactness, soundness, completeness.
Design and Analysis of Algorithms (CS 161)
Worst and average case analysis. Recurrences and asymptotics. Efficient algorithms for sorting, searching, and selection. Data structures: binary search trees, heaps, hash tables. Algorithm design techniques: divide-and-conquer, dynamic programming, greedy algorithms, amortized analysis, randomization. Algorithms for fundamental graph problems: minimum-cost spanning tree, connected components, topological sort, and shortest paths. Possible additional topics: network flow, string searching.
Prerequisite: 103 or 103B; 109 or STATS 116.
Ethics, Public Policy, and Technological Change (CS 182)
Continuous Mathematical Methods with an Emphasis on Machine Learning (CS 205L)
A survey of numerical approaches to the continuous mathematics used throughout computer science with an emphasis on machine and deep learning. Although motivated from the standpoint of machine learning, the course will focus on the underlying mathematical methods including computational linear algebra and optimization, as well as special topics such as automatic differentiation via backward propagation, momentum methods from ordinary differential equations, CNNs, RNNs, etc. Written homework assignments and (straightforward) quizzes focus on various concepts; additionally, students can opt in to a series of programming assignments geared towards neural network creation, training, and inference. (Replaces CS205A, and satisfies all similar requirements.)
Prerequisites: Math 51; Math104 or MATH113 or equivalent or comfort with the associated material.
Terms: Win | Units: 3
Artificial Intelligence: Principles and Techniques (CS 221)
Artificial intelligence (AI) has had a huge impact in many areas, including medical diagnosis, speech recognition, robotics, web search, advertising, and scheduling. This course focuses on the foundational concepts that drive these applications. In short, AI is the mathematics of making good decisions given incomplete information (hence the need for probability) and limited computation (hence the need for algorithms). Specific topics include search, constraint satisfaction, game playing,n Markov decision processes, graphical models, machine learning, and logic.
Prerequisites: CS 103 or CS 103B/X, CS 106B or CS 106X, CS 109, and CS 161 (algorithms, probability, and object-oriented programming in Python). We highly recommend comfort with these concepts before taking the course, as we will be building on them with little review.
Terms: Aut, Spr | Units: 3-4
Probabilistic Graphical Models: Principles and Techniques (CS 228)
Probabilistic graphical modeling languages for representing complex domains, algorithms for reasoning using these representations, and learning these representations from data. Topics include: Bayesian and Markov networks, extensions to temporal modeling such as hidden Markov models and dynamic Bayesian networks, exact and approximate probabilistic inference algorithms, and methods for learning models from data. Also included are sample applications to various domains including speech recognition, biological modeling and discovery, medical diagnosis, message encoding, vision, and robot motion planning.
Prerequisites: basic probability theory and algorithm design and analysis.
Terms: Win | Units: 3-4
Machine Learning (CS229/STATS 229)
Topics: statistical pattern recognition, linear and non-linear regression, non-parametric methods, exponential family, GLMs, support vector machines, kernel methods, deep learning, model/feature selection, learning theory, ML advice, clustering, density estimation, EM, dimensionality reduction, ICA, PCA, reinforcement learning and adaptive control, Markov decision processes, approximate dynamic programming, and policy search.
Prerequisites: knowledge of basic computer science principles and skills at a level sufficient to write a reasonably non-trivial computer program in Python/NumPy to the equivalency of CS106A, CS106B, or CS106X, familiarity with probability theory to the equivalency of CS 109, MATH151, or STATS 116, and familiarity with multivariable calculus and linear algebra to the equivalency of MATH51 or CS205.
Terms: Aut, Spr, Sum | Units: 3-4
Mining Massive Data Sets (CS 246)
The availability of massive datasets is revolutionizing science and industry. This course discusses data mining and machine learning algorithms for analyzing very large amounts of data. Topics include: Big data systems (Hadoop, Spark); Link Analysis (PageRank, spam detection); Similarity search (locality-sensitive hashing, shingling, min-hashing); Stream data processing; Recommender Systems; Analysis of social-network graphs; Association rules; Dimensionality reduction (UV, SVD, and CUR decompositions); Algorithms for large-scale mining (clustering, nearest-neighbor search); Large-scale machine learning (decision tree ensembles); Multi-armed bandit; Computational advertising.
Prerequisites: At least one of CS107 or CS145.
Terms: Win | Units: 3-4
Optimization and Algorithmic (CS 261)
Paradigms Algorithms for network optimization: max-flow, min-cost flow, matching, assignment, and min-cut problems. Introduction to linear programming. Use of LP duality for design and analysis of algorithms. Approximation algorithms for NP-complete problems such as Steiner Trees, Traveling Salesman, and scheduling problems. Randomized algorithms. Introduction to sub-linear algorithms and decision making under uncertainty.
Prerequisite: 161 or equivalent.
Terms: Spr | Units: 3
Economics (ECON) & Economic Analysis & Policy (MGTECON),
GSB: Finance (FINANCE) & General & Interdisciplinary (GSBGEN),
Management Science & Engineering (M&SE)
Machine Learning and Causal Inference (MGTECON 634)
This course will cover statistical methods based on the machine learning literature that can be used for causal inference. In economics and the social sciences more broadly, empirical analyses typically estimate the effects of counterfactual policies, such as the effect of implementing a government policy, changing a price, showing advertisements, or introducing new products. This course will review when and how machine learning methods can be used for causal inference, and it will also review recent modifications and extensions to standard methods to adapt them to causal inference and provide statistical theory for hypothesis testing. We consider causal inference methods based on randomized experiments as well as observational studies, including methods such as instrumental variables and those based on longitudinal data. We consider the estimation of average treatment effects as well as personalized policies.
Applied Causal Inference with Machine Learning and AI (MS&E 228)
Fundamentals of modern applied causal inference. Basic principles of causal inference and machine learning and how the two can be combined in practice to deliver causal insights and policy implications in real world datasets, allowing for high-dimensionality and flexible estimation. Lectures will provide foundations of these new methodologies and the course assignments will involve real world data (from social science, tech industry and healthcare applications) and synthetic data analysis based on these methodologies.
Prerequisites: basic knowledge of probability and statistics. Recommended: 226 or equivalent.
Microeconomics I (ECON 202N)
Open to advanced undergraduates with consent of instructors. Theory of the consumer and the implications of constrained maximization; uses of indirect utility and expenditure functions; theory of the producer, profit maximization, and cost minimization; monotone comparative statics; behavior under uncertainty; partial equilibrium analysis and introduction to models of general equilibrium. Limited enrollment.
Prerequisite: thorough understanding of the elements of multivariate calculus and linear algebra.
Terms: Aut | Units: 2-5
Microeconomics II (ECON 203N)
Macroeconomics I (ECON 210)
Intermediate Econometrics I (ECON 271)
Intermediate Econometrics II (ECON 272)
Advanced Econometrics I (ECON 273)
Advanced Econometrics II (ECON 274)
Financial Markets I (FINANCE 620)
This course is an introductory PhD level course in financial economics. We begin with individual choice under uncertainty, then move on to equilibrium models, the stochastic discount factor methodology, and no-arbitrage pricing. We will also address some empirical puzzles relating to asset markets, and explore the models that have been developed to try to explain them.
Terms: Win | Units: 3
Dynamic Asset Pricing Theory (FINANCE 622)
Economic Analysis (MS&E 241)
Principal methods of economic analysis of the production activities of firms, including production technologies, cost and profit, and perfect and imperfect competition; individual choice, including preferences and demand; and the market-based system, including price formation, efficiency, and welfare. Practical applications of the methods presented.
Investment Science (MS&E 245A)
Financial Risk Analytics (MS&E 246)
Practical introduction to financial risk analytics. The focus is on data-driven modeling, computation, and statistical estimation of credit and market risks. Case studies based on real data will be emphasized throughout the course. Topics include mortgage risk, asset-backed securities, commercial lending, consumer delinquencies, online lending, derivatives risk. Tools from machine learning and statistics will be developed. Data sources will be discussed. The course is intended to enable students to design and implement risk analytics tools in practice.
Prerequisites: MS&E 245A or similar, some background in probability and statistics, working knowledge of R, Matlab, or similar computational/statistical package.
Operations Management (MS&E)
Engineering Risk Analysis (MS&E 250A)
The techniques of analysis of engineering systems for risk management decisions involving trade-offs (technical, human, environmental aspects). Elements of decision analysis; probabilistic risk analysis (fault trees, event trees, systems dynamics); economic analysis of failure consequences (human safety and long-term economic discounting); and case studies such as space systems, nuclear power plants, and medical systems. Public and private sectors.
Prerequisites: probability, decision analysis, stochastic processes, and convex optimization.
Linear and Nonlinear Optimization (MS&E 221)
Simulation (MS&E 223)
Decision Analysis I: Foundations of Decision Analysis (MS&E 252)
Project Course in Engineering Risk Analysis (MS&E 250B)
Students, individually or in groups, choose, define, formulate, and resolve a real risk management problem, preferably from a local firm or institution. Oral presentation and report required. Scope of the project is adapted to the number of students involved. Three phases: risk assessment, communication, and management. Emphasis is on the use of probability for the treatment of uncertainties and sensitivity to problem boundaries. Limited enrollment.
Prerequisites: MS&E 250A and consent of instructor.
Introduction to Operations Management (MS&E 260)
EE 261: The Fourier Transform and Its Applications
The Fourier transform as a tool for solving physical problems. Fourier series, the Fourier transform of continuous and discrete signals and its properties. The Dirac delta, distributions, and generalized transforms. Convolutions and correlations and applications; probability distributions, sampling theory, filters, and analysis of linear systems. The discrete Fourier transform and the FFT algorithm. Multidimensional Fourier transform and use in imaging. Further applications to optics, crystallography. Emphasis is on relating the theoretical principles to solving practical engineering and science problems.
Prerequisites: Math through ODEs, basic linear algebra, Comfort with sums and discrete signals, Fourier series at the level of 102A
Terms: Win, Sum | Units: 3
Foundations of Reinforcement Learning with Applications in Finance (MS&E 346/CME241)
This course is taught in 3 modules - (1) Markov Processes and Planning Algorithms, including Approximate Dynamic Programming (3 weeks), (2) Financial Trading problems cast as Stochastic Control, from the fields of Portfolio Management, Derivatives Pricing/Hedging, Order-Book Trading (2 weeks), and (3) Reinforcement Learning Algorithms, including Monte-Carlo, Temporal-Difference, Batch RL, Policy Gradient (4 weeks). The final week will cover practical aspects of RL in the industry, including an industry guest speaker. The course emphasizes the theory of RL, modeling the practical nuances of these finance problems, and strengthening the understanding through plenty of programming exercises.
No prerequisite coursework expected, but a foundation in undergraduate Probability, basic familiarity with Finance, and Python programming skills are required.
Optimization (MS&E 311/CME 307)
Stochastic Systems (MS&E 321)
Influence Diagrams and Probabilistics Networks (MS&E 355)
Mathematics
Courses below 200 level are not acceptable, with the following exceptions below.
Functions of a Real Variable (MATH 115)
The development of real analysis in Euclidean space: sequences and series, limits, continuous functions, derivatives, integrals. Basic point set topology. Includes introduction to proof-writing.
Fundamental Concepts of Analysis (MATH 171)
Recommended for Mathematics majors and required of honors Mathematics majors. Similar to 115 but altered content and more theoretical orientation. Properties of Riemann integrals, continuous functions and convergence in metric spaces; compact metric spaces, basic point set topology.
Prerequisite: 61CM or 61DM or 115 or consent of the instructor. WIM
Partial Differential Equations of Applied Mathematics (MATH 220/CME 303)
First-order partial differential equations; method of characteristics; weak solutions; elliptic, parabolic, and hyperbolic equations; Fourier transform; Fourier series; and eigenvalue problems.
Introduction to Stochastic Differential Equations (MATH 236)
Brownian motion, stochastic integrals, and diffusions as solutions of stochastic differential equations. Functionals of diffusions and their connection with partial differential equations. Random walk approximation of diffusions. Introduction to stochastic control and Bayesian filtering.
Prerequisite: Math 136 or equivalent and differential equations. NOTE: Undergraduates require instructor permission to enroll. Undergraduates interested in taking the course should contact the instructor for permission, providing information about relevant background such other courses taken.
Linear Algebra with Application to Engineering Computations (CME 200/ME 300A)
Statistics (STATS)
Courses offered by the Statistics department, including cross-listed courses (e.g. STATS 211, STATS 214).
Electrical Engineering (EE)
The Fourier Transform and Its Applications (EE 261)
The Fourier transform as a tool for solving physical problems. Fourier series, the Fourier transform of continuous and discrete signals and its properties. The Dirac delta, distributions, and generalized transforms. Convolutions and correlations and applications; probability distributions, sampling theory, filters, and analysis of linear systems. The discrete Fourier transform and the FFT algorithm. Multidimensional Fourier transform and use in imaging. Further applications to optics, crystallography. Emphasis is on relating the theoretical principles to solving practical engineering and science problems.
Prerequisites: Math through ODEs, basic linear algebra, Comfort with sums and discrete signals, Fourier series at the level of 102A
Introduction to Linear Dynamical Systems (EE 263/CME 263)
Applied linear algebra and linear dynamical systems with applications to circuits, signal processing, communications, and control systems. Topics: least-squares approximations of over-determined equations, and least-norm solutions of underdetermined equations. Symmetric matrices, matrix norm, and singular-value decomposition. Eigenvalues, left and right eigenvectors, with dynamical interpretation. Matrix exponential, stability, and asymptotic behavior. Multi-input/multi-output systems, impulse and step matrices; convolution and transfer-matrix descriptions. Control, reachability, and state transfer; observability and least-squares state estimation.
Prerequisites: Linear algebra and matrices as in ENGR 108 or MATH 104; ordinary differential equations and Laplace transforms as in EE 102B or CME 102.
Signal Processing for Machine Learning (EE 269)
This course will introduce you to fundamental signal processing concepts and tools needed to apply machine learning to discrete signals. You will learn about commonly used techniques for capturing, processing, manipulating, learning and classifying signals. The topics include: mathematical models for discrete-time signals, vector spaces, Fourier analysis, time-frequency analysis, Z-transforms and filters, signal classification and prediction, basic image processing, compressed sensing and deep learning. This class will culminate in a final project.
Prerequisites: EE 102A and EE 102B or equivalent, basic programming skills (Matlab). ENGR 108 and EE 178 are recommended.
Introduction to Statistical Signal Processing (EE 278)
Review of basic probability and random variables. Random vectors and processes; convergence and limit theorems; IID, independent increment, Markov, and Gaussian random processes; stationary random processes; autocorrelation and power spectral density; mean square error estimation, detection, and linear estimation. Formerly EE 278B.
Adaptive Signal Processing (EE 373A)
Algebraic Error Correcting Codes (EE 387/CS 250)
Introduction to the theory of error correcting codes, emphasizing algebraic constructions, and diverse applications throughout computer science and engineering. Topics include basic bounds on error correcting codes; Reed-Solomon and Reed-Muller codes; list-decoding, list-recovery and locality. Applications may include communication, storage, complexity theory, pseudorandomness, cryptography, streaming algorithms, group testing, and compressed sensing.
Prerequisites: Linear algebra, basic probability (at the level of, say, CS109, CME106 or EE178) and "mathematical maturity" (students will be asked to write proofs). Familiarity with finite fields will be helpful but not required.
Algebraic Error Correcting Codes (EE 387/CS 250)
Introduction to the theory of error correcting codes, emphasizing algebraic constructions, and diverse applications throughout computer science and engineering. Topics include basic bounds on error correcting codes; Reed-Solomon and Reed-Muller codes; list-decoding, list-recovery and locality. Applications may include communication, storage, complexity theory, pseudorandomness, cryptography, streaming algorithms, group testing, and compressed sensing.
Prerequisites: Linear algebra, basic probability (at the level of, say, CS109, CME106 or EE178) and "mathematical maturity" (students will be asked to write proofs). Familiarity with finite fields will be helpful but not required.