Engineering Mathematics (ENM)
ENM 1600 Mathematical Foundations of Computer Science
What are the basic mathematical concepts and techniques needed in computer science? This course provides an introduction to proof principles and logics, functions and relations, induction principles, combinatorics and graph theory, as well as a rigorous grounding in writing and reading mathematical proofs.
Spring
Also Offered As: CIS 1600
1 Course Unit
ENM 2030 Linear Algebra with Applications to Engineering and AI
This first course in Linear Algebra will introduce students to key concepts of the field, including but not limited to vectors, vector norms and inner products, matrices, matrix-vector and matrix-matrix multiplication, matrix inverses, solving systems of linear equations, vector spaces, orthogonality, least-squares, eigenvalues and eigenvectors, singular value decompositions, and principal component analysis. These theoretical tools will be grounded in exciting problems from the sciences, engineering, machine learning, data science, logistics, and economics. Through application-based case studies, you will be shown how to model problems using linear algebra and how to solve the resulting problem using standard Python scientific computing modules. Enrollment in this course assumes students have comfort with programming at the level of CIS 1100 (Python).
Spring
Also Offered As: ESE 2030
Mutually Exclusive: ENM 2400, MATH 2200, MATH 2400
Prerequisites: Students must take MATH 1410 before taking ENM 2030.
1 Course Unit
ENM 2100 Introduction to Dynamic Systems
This first course in systems modeling covers linear and nonlinear systems in both continuous and discrete time. Topics covered include linearization and stability analysis, elementary bifurcations, and an introduction to chaotic dynamics. Extensive applications to mechanical, electrical, biological, social, and economic/financial systems are included. The course will use both analytical and numerical/symbolic tools.
Fall
Also Offered As: ESE 2100
1 Course Unit
ENM 2400 Differential Equations and Linear Algebra
This course discusses the theory and application of linear algebra and differential equations. Emphasis is placed on building intuition for the underlying concepts and their applications in engineering practice along with tools for solving problems. We will also use computer simulations in MATLAB to augment this intuition.
Fall or Spring
Mutually Exclusive: ENM 2030, ESE 2030, MATH 2200
Prerequisites: Students must take MATH 1410 before taking ENM 2400.
1 Course Unit
ENM 2510 Analytical Methods for Engineering
This course introduces students to physical models and mathematical methods that are widely encountered in various branches of engineering. Illustrative examples are used to motivate mathematical topics including ordinary and partial differential equations, Fourier analysis, eigenvalue problems, and stability analysis. Analytical techniques that yield exact solutions to problems are developed when possible, but in many cases, numerical calculations are employed using programs such as Matlab and Maple. Students will learn the importance of mathematics in engineering. Prerequisite: Sophomore standing in SEAS or permission of instructor(s)
Spring
Prerequisite: MATH 2400
1 Course Unit
ENM 3010 Engineering Probability
This course introduces students to the mathematical foundations of the theory of probability and its rich applications. The course begins with an exploration of combinatorial probabilities in the classical setting of games of chance, proceeds to the development of an axiomatic, fully mathematical theory of probability, and concludes with the discovery of the remarkable limit laws and the eminence grise of the classical theory, the central limit theorem. The topics covered include: discrete and continuous probability spaces , distributions, mass functions, densities; conditional probability; independence; the Bernoulli schema: the binomial, Poisson, and waiting time distributions; uniform, exponential, normal, and related densities; expectation, variance, moments; conditional expectation; generating functions, characteristic functions; inequalities, tail bounds, and limit laws. But a bald listing of topics does not do justice to the subject: the material is presented in its lush and glorious historical context, the mathematical theory buttressed and made vivid by rich and beautiful applications drawn from the world around us. The student will see surprises in election-day counting of ballots, a historical wager the sun will rise tomorrow, the folly of gambling, the sad news about lethal genes, the curiously persistent illusion of the hot hand in sports, the unreasonable efficacy of polls and its implications to medical testing, and a host of other beguiling settings.
Spring
Also Offered As: ESE 3010
Prerequisites: Students must take MATH 1410 before taking ENM 3010.
1 Course Unit
ENM 3333 Mathematics of Machine Learning
Machine learning is the study of algorithms (e.g. gradient descent) that learn functions (e.g. deep networks) from experience (e.g. data). Behind this simple statement is a lot of mathematical scaffolding: statistics for handling data, optimization for understanding learning algorithms, and linear algebra to create expressive models. This course provides the background to be able to understand mathematical concepts commonly used in machine learning. Topics include continuous probability, parametric distributions, and concentration inequalities from statistics; inner product spaces, functional analysis and Hilbert spaces from linear algebra; and multivariate calculus, Taylor’s theorem, and convexity from optimization.
Fall or Spring
Also Offered As: CIS 3333
Prerequisites: Students must take CIS 1600 and STAT 4300 and (MATH 2400 or ESE 2030) before taking ENM 3333.
1 Course Unit
ENM 3440 Answering Questions with Data, for Everyone
This course targets undergraduate students, such as Juniors and Seniors. Just about every student at UPenn and in particular in engineering is using progressively larger datasets to ask scientific questions. This course will break down how we use data and modeling to ask scientific questions and teach the basic toolkits to do so. The goal of this course is to allow any student who needs to use data to ask questions to see which computational tools they need to use and to use existing tools to ask those questions. All teaching will be small group and team based. The course will use a broad set of data representative of the school. The course is open to upper level undergraduate students who have some knowledge of Python.
Fall
1 Course Unit
ENM 3600 Introduction to Data-driven Modeling
From recognizing voice, text or images to designing more efficient airplane wings and discovering new drugs, machine learning is introducing a transformative set of tools in data analysis with increasing impact across engineering, sciences, and commercial applications. In this course, you will learn about principles and algorithms for extracting patterns from data and and making effective automated predictions. We will cover concepts such as regression, classification, density estimation, feature extraction, sampling and probabilistic modeling, and provide a formal understanding of how, why, and when these methods work in the context of analyzing physical, biological, and engineering systems.
Fall
Prerequisite: ENGR 1050 AND MATH 2400
1 Course Unit
ENM 3750 Biological Data Science I - Fundamentals of Biostatistics
The goal of this course is to equip bioengineering undergraduates with fundamental concepts in applied probability, exploratory data analysis and statistical inference. Students will learn statistical principles in the context of solving biomedical research problems.
Spring
1 Course Unit
ENM 3800 Learning from Data
Data shapes decisions in science, technology, medicine, policy, and everyday life. This course asks how we build models that help us understand data, explain patterns, and make reliable predictions. Students will learn how to frame different questions about data, design models to test hypotheses, and work with data in Python. Students will learn how to build and train models, how model complexity affects performance, and why concepts such as overfitting and generalization matter. Linear algebra ideas such as vectors, matrices, and eigenvalue decomposition help explain how models operate on data, while probability and statistics provide the tools needed to reason about randomness, uncertainty, and variability. Building on these foundations, the course covers linear and logistic regression, regularization, and rigorous model evaluation using cross-validation, bootstrapping, and permutation testing. Students will also learn methods for discovering structure in data, including principal components analysis (PCA), manifold learning, and clustering. Throughout the semester, students work with real datasets and practice the full modeling cycle: posing a question, building and training models, evaluating performance, and refining their approach while confronting realistic challenges such as noise, distribution shifts, and class imbalance.
1 Course Unit
ENM 4020 Statistics for Data Science
The course covers the methodological foundations of data science, emphasizing basic concepts in statistics and learning theory, but also modern methodologies. Learning of distributions and their parameters. Testing of multiple hypotheses. Linear and nonlinear regression and prediction. Classification. Uncertainty quantification. Model validation. Clustering. Dimensionality reduction. Probably approximately correct (PAC) learning. Such theoretical concepts are further complemented by exempla r applications, case studies (datasets), and programming exercises (in Python) drawn from electrical engineering, computer science, the life sciences, finance, and social networks.
Fall
Also Offered As: ESE 4020
Mutually Exclusive: ESE 5420
Prerequisites: Students must take ESE 3010 or STAT 4300 before taking ENM 4020.
1 Course Unit
ENM 5020 Numerical Methods and Modeling
This course provides an advanced introduction to various numerical methods for solving systems of algebraic equations (linear and non-linear) and differential equations (ordinary and partial). Techniques covered include Newton's method, implicit and explicit time stepping, and the finite difference and finite element methods. The MATLAB software package will be used to implement the various methods and execute representative calculations.
Spring
1 Course Unit
ENM 5030 Introduction to Probability and Statistics
Introduction to combinatorics: the multiplication rule, the pigeonhole principle, permutations, combinations, binomial and multinomial coefficients, recurrence relations, methods of solving recurrence relations, permutations and combinations with repetitions, integer linear equation with unit coefficients, distributing balls into urns, inclusion-exclusion, an introduction to probability. Introduction to Probability: sets, sample setsevents, axioms of probability, simple results, equally likely outcomes, probability as a continuous set function and probability as a measure of belief, conditional probability, independent events, Bayes' formula, inverting probability trees. Random Variables: discrete and continuous, expected values, functions of random variables, variance. Some Special Discrete Random Variables: Bernoulli, Binomial, Poisson, Geometric, Pascal (Negative Binomial) Hypergeometric and Poisson. Some Special Continuous Random Variables: Uniform, Exponential, Gamma, Erlang, Normal, Beta and Triangular. Joint distribution functions, minimum and maximum of independent random variables, sums of independent random variables, reproduction properties. Properties of Expectation: sums of random variables, covariance, variance of sums and correlations, moment-generating function. Limit theorems: Chebyshev's inequality, law of large numbers and the central-limit theorem. Extra Topics: Generating random numbers and simulation, Monte-Carlo methods, The Poisson Process and Queueing Theory, Stochastic Processes and Regular Markov Chains, Absorbing Markov Chains and Random Walks.
Fall
Prerequisite: MATH 2400
1 Course Unit
ENM 5100 Foundations of Engineering Mathematics - I
This is the first course of a two semester sequence, but each course is self contained. Over the two semesters topics are drawn from various branches of applied mathematics that are relevant to engineering and applied science. These include: Linear Algebra and Vector Spaces, Hilbert spaces, Higher-Dimensional Calculus, Vector Analysis, Differential Geometry, Tensor Analysis, Optimization and Variational Calculus, Ordinary and Partial Differential Equations, Initial-Value and Boundary-Value Problems, Green's Functions, Special Functions, Fourier Analysis, Integral Transforms and Numerical Analysis. The fall course emphasizes the study of Hilbert spaces, ordinary and partial differential equations, the initial-value, boundary-value problem, and related topics. Prerequisites: Some of MATH 2400 (ODEs) or equivalent and some of MATH 3120 (Linear Algebra) would be desirable but not necessary.
Fall
1 Course Unit
ENM 5110 Foundations of Engineering Mathematics - II
This is the second course of a two semester sequence, but each course is self contained. Over the two semesters topics are drawn from various branches of applied mathematics that are relevant to engineering and applied science. These include: Linear Algebra and Vector Spaces, Hilbert spaces, Higher-Dimensional Calculus, Vector Analysis, Differential Geometry, Tensor Analysis, Optimization and Variational Calculus, Ordinary and Partial Differential Equations, Initial-Value and Boundary-Value Problems, Green's Functions, Special Functions, Fourier Analysis, Integral Transforms and Numerical Analysis. The spring course emphasizes the study of Vector Analysis: space curves, Frenet-Serret formulae, vector theorems, reciprocal systems, co- and contra-variant components, orthogonal curvilinear systems. Matrix theory: Gauss-Jordan elimination, eigenvalues and eigenvectors, quadratic and canonical forms. Variational calculus: Euler-Lagrange equation. Tensor Analysis: Einstein summation, tensors of arbitrary order, dyads and polyads, outer and inner products, quotient law, metric tensor, Euclidean and Riemannian spaces, physical components , covariant differentiation, detailed evaluation of Christoffel symbols, Ricci's theorem, intrinsic differentiation, generalized acceleration, Geodesics. The spring course emphasizes the study of Vector Analysis: space curves, Frenet-Serret formulae, vector theorems, reciprocal systems, co- and contra-variant components, orthogonal curvilinear systems. Matrix theory: Gauss-Jordan elimination, eigenvalues and eigenvectors, quadratic and canonical forms. Variational calculus: Euler-Lagrange equation. Tensor Analysis: Einstein summation, tensors of arbitrary order, dyads and polyads, outer and inner products, quotient law, metric tensor, Euclidean and Riemannian spaces, physical components, covariant differentiation, detailed evaluation of Christoffel symbols, Ricci's theorem, intrinsic differentiation, generalized acceleration, Geodesics.
Spring
1 Course Unit
ENM 5120 Nonlinear Dynamics and Chaos
Continuous Dynamical Systems: Nonlinear Equations versus Linear Equations, Flows on a Line, Fixed Points and Stability, Stability Analysis, Potentials, Saddle-Node Bifurcations, Transcritical Bifurcations, Supercritical and Subcritical Pitchfork Bifurcations, Dimensional Analysis and Scaling, Imperfect Bifurcations and Catastrophes, Flows on the Circle, The Uniform and Nonuniform Oscillator, Oscillation Periods, Two-Dimensional Flows, Linear Systems, Eigenvalues and Eigenvectors, Classification of Fixed Points, Phase Portraits, Existence and Uniqueness, Fixed Points and Linearization, Nonlinear Terms, Conservative Systems, Reversible Systems, Index Theory, Limit Cycles, Van Der Pol Oscillator, Gradient Systems, Liaponov Functions, Dulac's Criterion, Poincare-Bendixson Theorem, Lienard Systems, Relaxation Oscillations, Weakly Nonlinear Oscillators, Regular Perturbation Theory, Two-Timing, Supercritical and Subcritical Hopf Bifurcations, Global Bifurcations of Cycles, Hysteresis, and the Poincare Map, The Lorenz Equations, Strange Attractors, The Lorenz Map. Prerequisite: Some Differential Equations and Senior or Master's standing in Engineering or permission of the instructor. Discrete Dynamical Systems: One-Dimensional Maps, Fixed Points and Cobwebs, The Logistic Map, Periodic Windows, Period Doubling, The Liapunov Exponent, Universality, Feigenbaum's Number, Feigenbaum's Renormalization Theory, Fractals, Countable and Uncountable Sets, The Cantor Set, Self-Similar Fractals and Their Dimensions, The von Koch Curve, Box Dimension, Multifractals.
Fall or Spring
1 Course Unit
ENM 5200 Principles and Techniques of Applied Math I
This course is targeted to engineering PhD students in all areas. It will focus on the study of linear spaces (both finite and infinite dimensional) and of operators defined on such spaces. This course will also show students how powerful methods developed by the study of linear spaces can be used to systematically solve problems in engineering. The emphasis in this course will not be on abstract theory and proofs but on techniques that can be used to solve problems. Some examples of techniques that will be studied include Fourier series, Green's functions for ordinary and partial differential operators, eigenvalue problems for ordinary differential equations, singular value decomposition of matrices, etc. Prerequisite: Basic theory of ordinary and partial differential equations
Fall
1 Course Unit
ENM 5210 Principles and Techniques of Applied Math II
This course is a continuation of ENM 5200 (or equivalent) and deals with classical methods in applied mathematics. The topics to be covered include: Functions of a Complex Variable, Partial Differential Equations, Asymptotic and Perturbation Methods, and Convex Analysis and Variational Methods.
Spring
1 Course Unit
ENM 5220 Numerical Methods for PDEs
The objective of the course is to provide training in fundamentals of numerical analysis at the PhD level. This course does not explore methods tailored to a specific physics subdomain. Instead, general ideas and systematic procedures for construction and analysis of numerical methods are introduced, which can be applied to diverse disciplines of computational science seeking numerical solution of complex differential equations. The course begins with the techniques for numerical differentiation/integration and solution of system of ODEs, which later is integrated into techniques for solution of PDEs of various types (hyperbolic, parabolic, and elliptic ones). Measures of stability and accuracy are presented, with emphasis on preserving symmetries of differential operators to preclude unphysical solution growth or decay. Spectral methods based on Sturm-Liouville eigenfunctions are covered. Utility and limitation of the widely used methods for computation of broadband phenomena are illustrated. Students will have first-hand experience writing their own computer programs, and also come to view critically the numerical output generated by a computer. Background on linear algebra and ordinary/partial differential equations at the level of ENM 5100 and basic MATLAB experience. Undergraduates require instructor permission to enroll.
Spring, even numbered years only
1 Course Unit
ENM 5310 Data-driven Modeling and Probabilistic Scientific Computing
We will revisit classical scientific computing from a statistical learning viewpoint. In this new computing paradigm, differential equations, conservation laws, and data act as complementary agents in a predictive modeling pipeline. This course aims explore the potential of modern machine learning as a unifying computational tool that enables learning models from experimental data, inferring solutions to differential equations, blending information from a hierarchy of models, quantifying uncertainty in computations , and efficiently optimizing complex engineering systems. Prerequisite: Programming in Python and MATLAB
Not Offered Every Year
1 Course Unit
ENM 5320 Physical structure-preservation & advanced computational techniques for scientific machine learning
This course serves as a foundation in advanced topics in scientific machine learning, providing a foundational overview of conventional principles in variational mechanics and the numerical discretization of PDEs to develop machine learning architectures able to construct predictive simulators from observational data. While physics-agnostics techniques dominate much of the literature, we focus on how to embed symmetries, topological structures, variational principles, and stochastic dynamics into models. These concepts provide guarantees necessary to deploy data-driven models in realistic, high-consequence engineering settings. The course will introduce advanced discretizations of finite elements, dynamical systems, and stochastic dynamics and illustrate how modern transformer-based architectures may be integrated alongside these conventional frameworks. We highlight how these frameworks admit analysis and allow us to provide theoretical guarantees, and also show how physics-inspired architectures may be used to define non-scientific machine learning algorithms with guaranteed performance and stability. While the course is best taken in a sequence with ENGR5310, it is designed to be self-contained and accessible to anyone with a background in linear algebra and modern machine learning libraries, with no required previous training in scientific computing or mechanics.
Spring
1 Course Unit
ENM 5400 Topics In Computational Science and Engineering
This course is focused on techniques for numerical solutions of ordinary and partial differential equations. The content will include: algorithms and their analysis for ODEs; finite element analysis for elliptic, parabolic and hyperbolic PDEs; approximation theory and error estimates for FEM. Prerequisite: Background in ordinary and partial differential equations; proficiency in a programming language such as MATHLAB, C, Fortran
Not Offered Every Year
1 Course Unit
ENM 5500 Mathematics for Robotics
This course is an introductory graduate level applied mathematics course for robotics. The topics to be covered in the course include: Derivatives and Ordinary Differential Equations (e.g. gradients, Jacobians, Hessians, and Taylor expansions), Linear Algebra (e.g., vector spaces, orthogonal bases, projection theorem, least squares, matrix factorizations, vector and matrix calculus, norms, matrix decompositions, and spectral analysis), Optimization Theory (e.g., convergent sequences, contraction mappings, Newton Raphson algorithm, local vs global convergence in nonlinear optimization, convexity, linear and quadratic programs), and Probabilities and Information Theory (e.g., Kalman filters and underlying probabilistic concepts and Gaussian Process Regression). Prerequisite: Students are expected to have basic matrix algebra (e.g., matrix addition, multiplication, inversion, rank, and computing eigenvalues and eigenvectors), basic statistics and probability theory (e.g., computing means, variances, and conditional probabilities), simple properties of complex numbers (e.g., addition, multiplication, magnitude, and direction), basic programming (e.g., plotting, manipulation of arrays, writing for and while loops, or finding help).
1 Course Unit
ENM 6270 Discrete Generative Models
This course is a rigorous, mathematically-focused introduction to the theory and practice of discrete generative models. We begin with a rapid overview of transformer architectures and autoregressive modeling, using them as a familiar entry point to sequence generation and large language models. Building on this foundation, the course develops the subject from first principles, introducing the probabilistic and algorithmic underpinnings of Markov chains, stochastic processes, and stochastic differential equations. From there, we cover modern frameworks that power state-of-the-art generative methods, including score matching, discrete diffusion, flow matching, optimal transport, and Schrödinger bridges. Advanced topics will include Stein operators and kernelized Stein discrepancies, variational principles such as the Donsker-Varadhan representation and ELBO, functional inequalities including Poincaré and log-Sobolev bounds, and nonparametric priors such as Dirichlet and Pitman-Yor processes. Each framework will be studied both theoretically and practically. On the theoretical side, we will derive key theorems, convergence results, and variational characterizations, and prove guarantees for mixing, expressivity, and invariance. On the practical side, students will design and implement algorithms from scratch, experiment with coding instantiations of each framework, and analyze their behavior on real discrete data. Although the course is theory driven, applications will focus on discrete biological sequence domains, including DNA, RNA, peptides, proteins, single cell data, and ‘omics datasets, to demonstrate how discrete generative models provide a principled foundation for sequence design, modeling, and analysis. By the end of the semester, students will be able to (i) derive and analyze generative processes on discrete state spaces, (ii) implement and experiment with algorithmic instantiations in code, and (iii) critically evaluate both theoretical and empirical aspects of discrete generative modeling research. To prepare for this course students are encouraged to have taken CIS 5190 or CIS 5200 or ESE 5460 or equivalent background.
Fall or Spring
Also Offered As: CIS 6270
1 Course Unit