This is the website for the graduate series on applied mathematics at UO, with a focus on the mathematical foundations of machine learning.

Quick links:

  • Fall: Computation, combinatorics, and applied stochastic processes
  • Winter: Pattern recognition and information theory
  • Spring: Machine learning and statistics
  • useful links, to reference/background material.

Course overview

The main goals of this sequence are for students to gain (a) proficiency with some mathematical tools and theories important in applied work; (b) experience with skills and tools of applied work, including modeling, computational methods, programming, and translation/communication. The sequence will not cover an exhaustive list of topics in applied math, but will instead cover a smaller set in greater depth, with the overall goal that students can apply the tools and methods in real-world situations, and have a firm understanding of the underlying theory and associated assumptions.

Working in applied mathematics requires skill in modeling, communication, and computation. Modeling is the act of translating to and from mathematics, and requires a deep understanding of the mathematical objects and the ability to recognize and modify their uses for domain-specific applications. Moreover, modeling requires knowledge of the statistical methods necessary to assess agreement between models and empirical observations. This work similarly requires a strong familiarity with the properties and underlying assumptions of mathematical structures, to be able to communicate effectively: both to translate important problems in the applied field into mathematics, and to explain models, predictions, and inferences in a way that maximizes impact of the mathematical work. Computation is an essential part of most applied work, and requires skills in numerical computation, simulation of stochastic processes, statistical inference, and machine learning.

This sequence aims to teach these skills in the context of three general and interrelated topics of growing importance: combinatorics/computation; modeling/stochastic processes; and machine learning/statistics. Motivation from various applied fields will be used, with an emphasis on biological systems.



“Computation, combinatorics, and applied stochastic processes”

Goals: proficiency with computational tools and methods; familiarity with properties of common stochastic processes and their uses in modeling and computation; ability to simulate and visualize these

Topics: graphs and networks, experimental mathematics and computation, Brownian motion and Gaussian processes, point processes, diffusions and associated PDE.

Instructors: Peter Ralph ( and Nicolae Istrate (


“Pattern recognition and information theory”

Goals: TODO

Topics: TODO

Instructors: James Murray (


“Machine learning and statistics”

Goals: ability to deploy modern methods in computational inference and feedforward and recurrent neural networks, and familiarity with underlying theory and assumptions.

Topics: information theory, statistical inference, generative models, mean field theory, feedforward and recurrent neural networks, supervised/unsupervised

Instructors: Luca Mazzucato (


Familiarity with computer programming equivalent to that in an introductory undergraduate programming course would be assumed. Students not entering with this ability might take such a course in the first year, e.g., through CIS or as an independent study (reading) course, and take this sequence in their second year.

Assignments and evaluation

Weekly homeworks would cover both theory (proofs and analytical calculations), application (e.g., modeling exercises), and computation (writing computer code for simulations or data analysis). Final exams would be in-class, without programming but that may for instance involve outlining of algorithms. The qualifying exam would focus on theoretical and conceptual understanding, and would be structured similar to other exams, and would not involve computer programming (but could ask questions about computational techniques).


We will be working extensively with python, using jupyter notebooks for demonstrations and hands-on assignments.

Previous versions:

A similar series was taught in 2019-2020, the schedule, along with some exercises and notes, can be found here.