We may earn an affiliate commission when you visit our partners.
Codestars • over 2 million students worldwide! and Mike X Cohen

You need to learn mathematics

Math is at the heart of all advances in modern computing, including data science, AI (artificial intelligence), deep learning, generative AI, machine learning, statistics, video games, and on and on...

If you want to study or work in these fields, or if you're just curious to learn more about these technical topics, you need to have a grasp of mathematics.

You can learn a lot of math with a bit of coding.

Read more

You need to learn mathematics

Math is at the heart of all advances in modern computing, including data science, AI (artificial intelligence), deep learning, generative AI, machine learning, statistics, video games, and on and on...

If you want to study or work in these fields, or if you're just curious to learn more about these technical topics, you need to have a grasp of mathematics.

You can learn a lot of math with a bit of coding.

Many people don't know that Python is a really powerful tool for learning math. Sure, you can use Python as a simple calculator, but did you know that Python can help you learn more advanced topics in algebra, calculus, and matrix analysis? That's exactly what you'll learn in this course. Python isn't just a coding language; it's a gateway to mastering math.

This course is a perfect supplement to your school/university math course, or for your post-school return to mathematics.

Let me guess what you are thinking:

  • "But I don’t know Python. "  That’s okay. This course is aimed at complete beginners; I take you through every step of the code. You don't need to know anything about Python, although it's useful if you already have some programming experience.

  • "But I’m not good at math. "  You will be amazed at how much better you can learn math by using Python as a tool to help with your courses or your independent study. And that's exactly the point of this course: Python programming as a tool to learn mathematics. This course is designed to be the perfect addition to any other math course or textbook that you are going through. It's also a great way to get started on your adventures into data science, deep learning, and AI.

What do you get in this course?

  • Over 37 hours of instruction that includes Python coding, visualization, loops, variables, and functions.

  • Important Python libraries for data science and mathematics, including numpy, sympy, scipy, and matplotlib.

  • LOTS of practical exercises. Each video has at least one hands-on coding/math exercise (and you'll get to watch me solve those exercises). And each section ends with "bug hunts" where you get to find and fix my math-coding errors.

  • That warm, fuzzy feeling of confidence that you can combine the skills from this course to improve your understanding of mathematics.

  • A big-picture overview of beginner and advanced mathematics, from solving for "x" to computing integrals to finding eigenvalues. If you are only just beginning your adventures in maths, then this course will show you what you have to look forward to.

This course is right for you if you are:

  • In middle/high school, university, or are returning to math as an independent learner.

  • A data professional who wants to brush up on math and Python skills.

  • A complete beginner to Python.

  • A student of data science, machine learning, or AI who needs to improve their mathematics knowledge to understand algorithms.

  • Looking to transition from another field into AI-related fields like deep learning.

  • Already proficient with math "in theory" and want to learn how to translate math formulas and concepts into computer code.

  • Bored and looking for a fun intellectual challenge.

With over 33 hours of teaching, plus student exercises, challenges and an active course Q&A forum (get a response to any question within 48 hours. ), this course gives you everything you need to succeed in your maths course or independent adventures in learning math.

All the code that appears in the videos is also included for download. You can code along as you watch the videos, or download the code and use it directly.

This course covers the following topics:

  • Arithmetic

  • Introduction to Sympy

  • Introduction to LaTeX (to print beautiful equations. )

  • Algebra 1

  • Graphing

  • Algebra 2

  • Graphing conic sections

  • Trigonometry

  • Calculus

  • Linear algebra

  • ...and  more.

Who is your teacher?

I am Mike X Cohen, a former neuroscience professor (I left that job to focus full-time on teaching online). I'm a bestselling and highly rated instructor on Udemy. I've taught over 250,000 students the foundations of scientific programming, data analysis, data science, and applied mathematics, and I've written several textbooks on programming and data analyses.

I worked really hard to make this course a great learning experience for you. Check out what some of my students have said about my other courses:

‘Best teacher ever. I am a psychologist and I didn’t have mathematical training as an undergrad, but the books and lectures of Dr. Cohen have been life saving’

‘What’

‘Mike X Cohen's courses are by far the best ones I've done in Udemy.’

What you should do right now:

Watch the free preview videos.

Check out the reviews of this course.

Joining this course is risk-free: If you change your mind after enrolling, Udemy offers a 30 day money back guarantee.

Enroll now

What's inside

Learning objectives

  • Most important: confidence in learning math!
  • Arithmetic
  • Algebra (1, 2)
  • Graphing
  • Trigonometry
  • Calculus
  • Linear algebra
  • Python programming
  • Python libraries including sympy, numpy, matplotlib, scipy
  • Formatting beautiful equations in latex
  • Data visualization
  • Integrating python, markdown, and latex

Syllabus

Introductions and installations
(Important) How to get the most out of this course!
Using Python through Jupyter (installing Anaconda)
Using Python via Google-colab (no installation!)
Read more
How to download all course materials
Create a beautiful harmonograph!
Getting help in Python
How to use Udemy's course features (video playback, Q&A, notes, captions, etc)
Arithmetic
Addition, subtraction, multiplication, division
Using variables in place of numbers
Printing out equations in Jupyter notebook
Writing comments in Python
Exponents (powers)
Using for-loops to compute powers
Order of operations
Testing inequalities and Boolean data type
Using if-statements and logical operators
Absolute value
Remainder after division (modulus)
Create interactive math functions, part 1
Create interactive math functions, part 2
Create interactive math functions, part 3
Arithmetic bug hunt!
Introduction to Sympy and LaTeX
Intro to Sympy, part 1
Intro to LaTeX
Intro to Sympy, part 2
Printing with f-strings
Example: Use Sympy to understand the law of exponents
Sympy/Latex bug hunt!
Python data types
Numbers and strings
Lists and numpy arrays
Algebra 1
Solving for x
Solving for x: exercises
Expanding terms
Creating and accessing matrices with numpy
Exercise: Create a multiplication table
Associative, commutative, and distributive properties
Creating and working with Python lists
More on "slicing" in Python
Greatest common denominator
Greatest common denominator: exercises
Introduction to Python dictionaries
Prime factorization
Solving inequalities
Adding polynomials
Multiplying polynomials
Dividing by polynomials
Factoring polynomials
Algebra 1 bug hunt!
Graphing and visualization
Plotting coordinates on a plane
Plotting coordinates on a plane: exercise
Graphing lines part 1: start/end notation
Graphing lines part 2: slope-intercept form
Graphing rational functions
Plotting with Sympy
Plotting with Sympy: exercises
Course tangent: self-accountability in online learning
Making images from matrices
Images from matrices: exercise
Drawing patches with polygons
Exporting graphics as pictures
Graphing bug hunt!
Algebra 2
Summation and products
Differences (discrete derivative)
Roots of polynomials
Roots of polynomials: exercise
The quadratic equation
Complex numbers: addition and subtraction
Complex numbers: conjugate and multiplication
Complex numbers: division
Graphing complex numbers
Revisiting the quadratic equation with complex numbers
The unit circle
Natural exponent and logarithm
Find a specific point on a Gaussian
Exercise: A family of Gaussians
Graphing the complex roots of unity
Log-spaced and linearly spaced numbers
Logarithm properties: Multiplication and division
Arithmetic and geometric sequences
Orders of magnitude and scientific notation
Maxima and minima of functions
Even and odd functions
Algebra 2 bug hunt!
Graphing conic sections
Graphing parabolas
Creating contours from meshes in Python
Graphing circles
Graphing ellipses
Graphing hyperbolas
Conic bug hunt!
Trigonometry
Introduction to random numbers
Introduction to random numbers: exercise

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Covers Python libraries such as numpy, sympy, scipy, and matplotlib, which are essential for data science and mathematical computing
Aimed at complete beginners, which means learners do not need prior Python experience to get started with the course material
Offers a big-picture overview of beginner and advanced mathematics, from solving for 'x' to computing integrals to finding eigenvalues
Includes practical exercises and 'bug hunts' to reinforce learning and develop problem-solving skills in both math and coding
Teaches LaTeX for formatting equations, which is useful for writing reports and communicating mathematical ideas clearly
Requires learners to install Anaconda or use Google Colab, which may require some initial setup and familiarity with these environments

Save this course

Save Master Math by Coding in Python to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Master Math by Coding in Python with these activities:
Review Algebra Fundamentals
Reinforce your understanding of core algebraic concepts to prepare for the more advanced topics covered in the course.
Browse courses on Algebra
Show steps
  • Review basic algebraic operations and equation solving.
  • Practice factoring polynomials and simplifying expressions.
  • Work through example problems involving exponents and logarithms.
Review 'Python Crash Course'
Solidify your Python programming skills to better understand the code examples and exercises in the course.
Show steps
  • Read the introductory chapters covering Python basics.
  • Complete the exercises related to variables, loops, and functions.
  • Experiment with the code examples and modify them to deepen your understanding.
Coding Math Problems
Practice translating mathematical formulas and concepts into Python code to reinforce your understanding of both math and programming.
Show steps
  • Choose a math problem from the course material or a textbook.
  • Write Python code to solve the problem.
  • Test your code with different inputs and verify the results.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Create a Math Cheatsheet
Compile a cheatsheet of important mathematical formulas, concepts, and Python code snippets covered in the course for quick reference.
Show steps
  • Review the course materials and identify key formulas and concepts.
  • Organize the information into a clear and concise cheatsheet.
  • Include relevant Python code snippets for each concept.
Build a Simple Calculator
Develop a Python-based calculator that can perform basic arithmetic operations and solve simple algebraic equations.
Show steps
  • Design the calculator's user interface (command line or GUI).
  • Implement functions for addition, subtraction, multiplication, and division.
  • Add functionality to solve simple algebraic equations.
  • Test the calculator thoroughly with different inputs.
Review 'Linear Algebra and Its Applications'
Deepen your understanding of linear algebra concepts to better grasp the mathematical foundations of data science and machine learning.
Show steps
  • Read the chapters related to matrices, vectors, and linear transformations.
  • Work through the example problems and exercises in the book.
  • Relate the concepts to the Python code examples in the course.
Visualize Math Concepts
Create interactive visualizations of mathematical concepts using Python libraries like Matplotlib and SymPy to enhance understanding and retention.
Show steps
  • Choose a mathematical concept from the course (e.g., derivatives, integrals, or linear transformations).
  • Write Python code to generate a visualization of the concept.
  • Add interactive elements to the visualization to allow users to explore the concept further.

Career center

Learners who complete Master Math by Coding in Python will develop knowledge and skills that may be useful to these careers:
Data Scientist
A Data Scientist uses programming and statistical methods to analyze data and extract meaningful insights, often working with large datasets. This career role relies heavily on mathematical concepts, and this course helps build that foundation through the use of Python, a prominent language in the field. The course's focus on mathematics, including algebra, calculus, and linear algebra, makes it a useful foundation for a data scientist, as these concepts are at the heart of many data analysis algorithms. The Python libraries covered, such as numpy, scipy, and matplotlib, are essential tools for data science. The course's practical exercises and bug hunts also provide useful experience in writing and debugging code, a valuable skill for data scientists.
Machine Learning Engineer
A Machine Learning Engineer develops and implements machine learning models, working to create systems that can learn from and make predictions based on data. A strong grasp of mathematics is critical for this role, because it is essential to understand the algorithms that drive machine learning. The course provides hands-on practice with Python, a cornerstone language for machine learning. The course’s focus on mathematical concepts like linear algebra, calculus, and statistics are particularly useful for any aspiring Machine Learning Engineer. The course’s coverage of Python libraries commonly used in machine learning, such as numpy, scipy, and matplotlib, further enhances its relevance to this field.
Artificial Intelligence Researcher
An Artificial Intelligence Researcher pushes the boundaries of AI by designing and developing new algorithms and models. This career role involves an understanding of advanced mathematical concepts. The course's focus on core mathematical principles using Python as a tool provides a very good starting point for a career in AI research. The use of numpy, scipy, and matplotlib within the course’s curriculum also familiarizes students with tools that are frequently deployed in AI research. Furthermore, this course provides a strong foundation in mathematics and coding, both essential to AI research.
Quantitative Analyst
A Quantitative Analyst, often called a 'quant', develops and implements mathematical and statistical models to analyze financial markets and make trading decisions. This career role requires in-depth knowledge of mathematical concepts, and this course helps build a foundation through practice with Python. Topics such as calculus, linear algebra, and statistics covered in this course, are directly relevant to what a quant does. Additionally, experience with Python libraries for scientific computing, also provided by the course, provides a useful tool for modeling and analysis in finance. This course will familiarize students with how coding and mathematical concepts can be synthesized to solve complex, real-world problems.
Software Developer
A Software Developer designs, develops, and tests software applications. While not all software development requires a deep understanding of mathematics, familiarity with mathematical concepts is valuable for many types of software development, especially in areas involving graphics or scientific computing. This course helps build a foundation in the fundamentals of mathematics through coding in Python. The course's introduction to Python, a language used extensively in software, may be beneficial. The course covers numerous topics relevant to software development, such as loops, variables, and functions.
Statistician
A Statistician collects, analyzes, and interprets data to inform decision-making. This career role relies on mathematical principles and statistical methods. This course could be helpful for a statistician, as it provides a practical approach to learning mathematical concepts through Python programming. While this course does not provide training in statistics per se, the mathematical foundational skills, and familiarity with Python libraries like numpy and scipy, all provided in this course, can be helpful. The course teaches students how to solve complex mathematical problems using code, which provides good practice for a statistician.
Financial Modeler
A Financial Modeler creates mathematical models to represent financial markets and instruments, which are used to forecast trends, evaluate risk, and make investment decisions. This career role requires a robust understanding of mathematics and statistics, and this course may be helpful for acquiring those skills. This course's hands-on approach using Python for mathematical operations provides a valuable skillset for financial modeling, and the course introduces important concepts such as algebra and calculus. The course’s exploration of data visualization and linear algebra are also useful tools in this role.
Game Developer
A Game Developer creates video games, often working on the programming and technical components of gameplay. This course may be useful in the field of game development, because game development frequently involves mathematics, whether it is for physics engines, animation, or artificial intelligence. The course introduces concepts, such as linear algebra and trigonometry, which can be beneficial to game development. The course teaches mathematical concepts through Python, a language often used in game development, and this may be advantageous to the aspiring developer.
Bioinformatician
A Bioinformatician uses computational methods to analyze biological data, often involving complex datasets. This career role utilizes tools and techniques from mathematics, computer science, and statistics. This course may be helpful for anyone pursuing this field, considering the course’s focus on Python, which is commonly used in bioinformatics. The course's emphasis on mathematical concepts like linear algebra, and its introduction of data visualization tools, are also potentially useful to bioinformaticians.
Robotics Engineer
A Robotics Engineer designs, builds, and maintains robots and robotic systems. This career role relies on mathematical and scientific principles. This course may be useful because of it’s focus on coding and math, which is applicable to robotics engineering. The course's focus on Python programming, and its use of relevant math libraries, helps build a foundation, and topics such as linear algebra and calculus, covered in the course, are also potentially relevant to the field.
Operations Research Analyst
An Operations Research Analyst uses mathematical and analytical techniques to solve complex logistical problems. This career role benefits from a strong quantitative aptitude. The course may be useful due to it’s focus on key concepts in mathematics, and it’s use of Python. The course’s coverage of algebra and function modeling can be useful. Finally, a general comfort with applied mathematics and coding is helpful for this role, and this is something that the course fosters.
Physics Teacher
A Physics Teacher educates students on the fundamental principles of physics. This role requires a robust understanding of math and science. This course may be useful in terms of applying mathematics to problems. The course teaches mathematical and computational skills that can be transferred to the classroom. The course’s discussion of math topics such as algebra, calculus, and linear algebra, provides a foundation in the subject matter which the teacher will communicate in the classroom. The course’s hands-on math via code can help teachers make their own classroom material.
Math Teacher
A Math Teacher is an educator who instructs students in mathematics at the elementary, secondary, or post-secondary level. Though this role does not require programming, a Math Teacher may benefit from this course. The course covers many of the topics that a math teacher would be teaching, and it presents them in a way that goes beyond theory. For example, using Python to animate complex number multiplication, or visualize conic sections, could be adapted into their own classroom lessons, and be valuable to their students. The course may also build the teacher's confidence in the subject.
Research Scientist
A Research Scientist conducts scientific studies in a variety of fields, employing experimental design, data analysis, and mathematical modeling. This career role requires a strong grasp of mathematics and computation, and therefore this course may be useful. The course’s focus on a variety of mathematical concepts, paired with practice in Python, can be useful for those pursuing a career in research science. The course’s use of Python libraries like scipy and numpy, as well as its coverage of data visualization, are also potentially useful in a research context.
Engineering Consultant
An Engineering Consultant provides expert advice and solutions to engineering problems across various industries. This career role requires a strong analytical and problem-solving skills, as well as a firm foundation in mathematics. The course may be useful for an Engineering Consultant as it introduces core mathematical principles and encourages problem solving. The course’s use of Python and the application of mathematical concepts through coding can strengthen a consultant’s quantitative skills, which may be valuable for some clients.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Master Math by Coding in Python.
Provides a hands-on introduction to Python programming. It's particularly useful for beginners who want to quickly learn the basics of Python syntax and programming concepts. While the course teaches Python, this book offers a more structured and comprehensive approach to learning the language. It serves as a valuable reference for solidifying your Python skills.
Provides a comprehensive introduction to linear algebra concepts. It is particularly useful for students who want to delve deeper into the linear algebra topics covered in the course. While the course introduces linear algebra, this book offers a more rigorous and theoretical treatment of the subject. It serves as a valuable reference for understanding the mathematical foundations of many data science and machine learning algorithms.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser