Program Details
The program has three main parts:
- the Pre-core,
- the Junior and Senior core, and
- a student-chosen concentration in an area of application.
Students are also encouraged, but not required, to do an internship or an REU in the summer after they complete the junior core.
The details of these three parts are given below.
Pre-core
The pre-core is the same as the first half of our traditional math major, covering basic mathematical and computer programming prerequisites up through first-semester undergraduate real analysis. This must be completed before starting the junior core.
The pre-core courses are the following.
- Calculus 1
- Calculus 2
- Introduction to Computer Science in Python
- Introduction to Proof
- Linear Algebra (including a computational component in Python)
- Multi-variable Calculus
- Ordinary Differential Equations
- Real Analysis 1
Junior Core
After finishing the pre-core, students are ready to enter the junior cohort. This is a lockstep cohort that begins each Fall semester, and students take all their junior and senior core courses together, so they are in class together two hours each day, five days a week. They also usually study together in a common study room and have a shared group chat on Slack.
The Junior Core consists of two year-long courses with accompanying computer lab courses.
- The first is Mathematical Analysis, which covers linear analysis (advanced linear algebra) and nonlinear analysis. The theory course is taught from the SIAM textbook Foundations of Applied Mathematics Volume 1: Mathematical Analysis. (link to table of contents).
- The second course is Algorithms, Approximation, Optimization, which covers the theory of algorithms from a mathematical perspective, mathematical approximation theory, basics of probability, theory of convex optimization, dynamic optimization, and numerical optimization. This is taught from the SIAM textbook Foundations of Applied Mathematics Volume 2: Algorithms, Approximation, Optimization. (link to table of contents).
- The accompanying lab courses are all taught using open-source materials we developed with support from the National Science Foundation.
Senior Core
After completing the Junior core students take the Senior Core. These courses are also two year-long courses in a lockstep cohort with accompanying labs:
- Modeling with Uncertainty and Data, which covers advanced probability, mathematical statistics, probabilistic modeling, and machine learning. This is taught from notes which we expect to become Volume 3 of the SIAM Foundations of Applied Mathematics Series. A draft Table of Contents is here.
- Modeling with Dynamics and Control, which covers ODEs, PDEs, numerical methods for differential equations, calculus of variations, and optimal control. This is taught from notes which we expect to become Volume 4 of the SIAM Foundations of Applied Mathematics Series. A draft Table of Contents is here.
- The accompanying lab courses are all taught using open-source materials we developed with support from the National Science Foundation.
Concentration
The concentration is a coherent sequence of four to five courses in an application area of their choice, usually from another department. Because the students have a strong mathematical background, these concentration courses are usually more advanced than a typical minor. Some of the most popular choices include computer science, data science and machine learning, economics, business, biology, and physics. Students can also propose a customized concentration. For more details, see the Student Concentrations page.