Do you want to use Python to solve math problems? Then freeCodeCamp's new Foundational Math course will guide you through the essential math you need to know to prepare you for the Data Science curriculum.

You will get a math refresher with a twist. Instead of using a pencil and paper or a graphing calculator, you'll learn how to write the Python code to do all of the calculations for you.

Building one step at a time, you will create projects that you can use as your personal super calculator. This curriculum uses Google Colaboratory, which is like a Jupyter Notebook, to write and execute Python code in your Google Drive.

With the Google Colab app, you can even write and run the code from your phone. If you are not familiar with Google Colaboratory, here is an article about how to set it up.

This is just the beginning. We are making steady progress on building out additional math and Python-focused courses, as part of our upcoming Data Science Curriculum Expansion.

Why is Math Useful for Developers?

This Algebra-level math will directly relate to the calculations you will do for Statistics and Data Analysis in your job as a developer. We call it "Foundational Math" because you will build upon these skills when developing other applications.

Working with coordinates will help you to plan the layout of a scene or a page. Distance formulas and angle calculations will help you with game development (and proximity detection).

Incrementing and testing numerical values in loops will help you to make predictions based on initial values and trends. Solving for unknown values will help you with financial planning and business software development.

Because any aspect of code (or life) can be numerical, math is the language to describe relationships. You will find deeper wisdom in the numbers.

What We'll Cover in This Course

Throughout this course, you will learn how to write code to display the graph of almost any function, calculate almost any formula, and “solve for x.” You will also be building an extensive resource that you can use and modify in the future.

By the end of the course, you will have a solid understanding of key concepts in math, and you will also have your own library of Colab Notebooks that apply these concepts.

Here is an example of an early step:

Python-Math-Sample-Pic-1

Like many freeCodeCamp courses, this course has five parts. The five parts to this course each lead to a certification project that aggregates what you've learned in the preceding steps.

Here is an example, from close to the end of the course, to illustrate how the learning still proceeds in manageable steps:

Python-Math-sample-pic-2

Python Math Course Outline

In this course, you will go through the major math topics from Algebra to the Y axis (the Z axis will appear in a subsequent course). This course is still in beta testing, so I invite you to try it out and leave comments in the forum.

Eventually, I want people to discuss the math and create Python scripts for each other. If you have any basic knowledge of Python, you will be able to navigate this course.  

Here is a description of each part, with links to the Colab notebooks:

Part 1 – Math in Python

In the beginning, you'll build on a basic understanding of Python to show you how to handle input and apply mathematical formulas. You will even learn how to “solve for x” with code.

Part 2 – Graphs

In this part, you'll focus on graphing. You will learn how to plot points, lines, and functions. You will also learn how to create tables and interactive graphs.

Part 3 – Advanced Math

Now you'll dive deeper with polynomials, exponential functions, and more complex formulas. You will write code to calculate mortgage payments, estimate retirement account balances, and do other useful things.

Part 4 – Angles and Trigonometry

This part will teach you how to write code for lines and angles on graphs. You will use trigonometry to find distances, midpoints, and angles. Animated graphs included.

Part 5 – Sequences and Summation

This section will walk you through sequence and series calculations, then goes into probability. Along the way, you will learn about summation and counting principles.

Beyond the Jupyter Notebook

The latest version of the Texas Instruments TI-84 calculator can run Python code! The TI-84 is the “go-to” calculator for students in any class that involves graphing and formulas. You can write the programs on your computer and run them on your calculator. In this course, you will develop your math and Python skills to do so.

Now, we are still calling this the “beta version” of the course, and even that might be a little optimistic. You are getting early access to this content that we will continue to improve, and I welcome your feedback.

My goal is that this is just the beginning, and we all create more notebooks and scripts and functions in the Google Colaboratory and share them with each other.

By the way, I'm Ed, and I have been teaching high school students for 18 years and college students for 15 years. I created this course. You can email me your thoughts at ed@freecodecamp.org and I'll share them with freeCodeCamp's team of teachers. Thanks for joining me on this journey.