# 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.*. - 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.). - 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.