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 Prerequisites and Prework sections before beginning Machine Learning Crash Course, to ensure you are prepared to complete all the modules.


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:

  • Mastery of intro-level algebra. You should be comfortable with variables and coefficients, linear equations, graphs of functions, and histograms. (Familiarity with more advanced math concepts such as logarithms and derivatives is helpful, but not required.)

  • Proficiency in programming basics, and some experience coding in Python. Programming exercises in Machine Learning Crash Course are coded in Python using TensorFlow. No prior experience with TensorFlow is required, but you should feel comfortable reading and writing Python code that contains basic programming constructs, such as function definitions/invocations, lists and dicts, loops, and conditional expressions.


Programming exercises run directly in your browser (no setup required!) using the Colaboratory platform. Colaboratory is supported on most major browsers, and is most thoroughly tested on desktop versions of Chrome and Firefox. If you'd prefer to download and run the exercises offline, see these instructions for setting up a local environment.

Problem Framing

If you're new to machine learning, we recommend starting your journey by taking Introduction to Machine Learning Problem Framing. This one-hour course teaches you how to identify appropriate problems for machine learning.

Getting Started with pandas

The programming exercises in Machine Learning Crash Course use the pandas library for manipulating data sets. If you're unfamiliar with pandas, we recommend completing the Quick Introduction to pandas tutorial, which illustrates the key pandas features used in the exercises.

Key Concepts and Tools

Machine Learning Crash Course discusses and applies the following concepts and tools. For more information, see the linked resources.



Linear algebra



Calculus (optional, for advanced topics)

Python Programming

Basic Python

The following Python basics are covered in The Python Tutorial:

Intermediate Python

The following more advanced Python features are also covered in The Python Tutorial:

Third-Party Python Libraries

Machine Learning Crash Course code examples use the following features from third-party libraries. Prior familiarity with these libraries is not necessary; you can look up what you need to know when you need it.

Matplotlib (for data visualization)

Seaborn (for heatmaps)

pandas (for data manipulation)

NumPy (for low-level math operations)

scikit-learn (for evaluation metrics)

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: