In this course, you'll hone your problem-solving skills through learning to find numerical solutions to systems of differential equations. You'll write code in Python to fight forest fires, rescue the Apollo 13 astronauts, stop the spread of epidemics, and resolve other real-world dilemmas.

### Why Take This Course?

By the end of this course, you'll develop an intuition for the use of differential equations in the applied sciences. You'll also learn how to build mathematical models for systems of differential equations using a variety of techniques. Along the way, you'll learn how to translate mathematical expressions into Python code and solve some really cool problems!

### Prerequisites and Requirements

You'll need a basic knowledge of programming in Python for this course, around the level of Intro to Computer Science. An understanding of Python packages, as discussed in Programming Foundations with Python, will also be helpful.

In addition, you'll need to feel comfortable with trigonometry at the high school level, as well as basic vector algebra. This class will primarily involve solving differential equations numerically rather than analytically, but some exposure to calculus and physics at the level of Intro to Physics wouldn't hurt.

Most of all, bring with you a love of learning and problem solving!

### Syllabus

#### Lesson 1: Rescuing Apollo 13, Part 1

Introduction to the Forward Euler Method

#### Lesson 2: Rescuing Apollo 13, Part 2

Comparing solvers, Heun’s Method, and the Symplectic Euler Method

#### Lesson 3: Analyzing the Spread of Diseases

Implicit methods and stiffness

#### Lesson 4: There’s Plenty of Fish in the Sea?

Stability, sensitivity, and optimization

#### Lesson 5: Antilock Brake Systems

Friction, equilibria, and control theory

#### Lesson 6: The Path of a Forest Fire

Partial differential equations and heat conduction

#### Lesson 7: Advanced Applications of Numerical Methods

Chaos, software, and predictive capability