Google is committed to advancing racial equity for Black communities. See how.

Prerequisites and Prework

Is Machine Learning Crash Course right for you?

I have little or no machine learning background.
We recommend going through all the material in order.
I have some background in machine learning, but I'd like a more current and complete understanding.
Machine Learning Crash Course will be a great refresher. Go through all the modules in order, or select only those modules that interest you.
I know machine learning really well, but I know little or nothing about TensorFlow.
A lot of the material may be too basic for you. Instead of going through all the content, focus just on the following material:
Machine Learning Crash Course focuses primarily on higher-level APIs. If you are more interested in learning the low-level TensorFlow API (possibly to do machine learning research), explore the following resources instead:

Please read through the following Prework and Prerequisites sections before beginning Machine Learning Crash Course, to ensure you are prepared to complete all the modules.


Before beginning Machine Learning Crash Course, do the following:

  1. If you're new to machine learning, take Introduction to Machine Learning Problem Framing. This one-hour self-study course teaches you how to identify appropriate problems for machine learning.
  2. If you are new to NumPy, do the NumPy Ultraquick Tutorial Colab exercise, which provides all the NumPy information you need for this course.
  3. If you are new to pandas, do the pandas UltraQuick Tutorial Colab exercise, which provides all the pandas information you need for this course.


Machine Learning Crash Course does not presume or require any prior knowledge in machine learning. However, to understand the concepts presented and complete the exercises, we recommend that students meet the following prerequisites:

  • You must be comfortable with variables, linear equations, graphs of functions, histograms, and statistical means.

  • You should be a good programmer. Ideally, you should have some experience programming in Python because the programming exercises are in Python. However, experienced programmers without Python experience can usually complete the programming exercises anyway.

The following sections provide links to additional background material that is helpful.


Linear algebra



Calculus (optional, for advanced topics)

Python Programming

The following Python basics are covered in The Python Tutorial:

A few of the programming exercises use the following more advanced Python concept:

Bash Terminal / Cloud Console

To run the programming exercises on your local machine or in a cloud console, you should be comfortable working on the command line: