The Deep Learning Specialization on Coursera is one of the most popular online courses.

Andrew Ng's goal to train the next million AI experts begins with this Specialization. It's been one of my favorite Specializations to take, and I found it very accessible. However, there are a few prerequisites that are useful to have before starting this Specialization.

However, if you don't have these prerequisites, don't worry! It's actually not hard to get the background knowledge necessary to implement these deep learning algorithms.

Python Programming

"Intermediate" Python programming experience is suggested, so you should know the basics of the programming language, including Python data structures, loops, and how to write a function.

If you're completely new to Python, I recommend the Python for Everybody Specialization from the University of Michigan. Course 1 and Course 2 cover most of the information you need to know to be successful in the Deep Learning Specialization, in terms of Python knowledge.

Machine learning and deep learning use concepts that you may be less familiar with (like Python broadcasting and using the numpy library) and the courses do provide optional assignments to cover these.Of course, if you're new to Python, I really recommend doing all the optional assignments!


Linear algebra is the core of machine learning and deep learning. Luckily, the Andrew Ng's Machine Learning course has a great linear algebra refresher in Week 1 that covers everything you'll need to know for machine learning and deep learning applications.Of course, if you need more, Khan Academy is a great place to learn linear algebra from scratch.

Update 3/26/18 - Coursera released the Specialization Mathematics for Machine Learning from Imperial College London! The first course, Mathematics for Machine Learning: Linear Algebra, is a great resource for these topics.

Machine Learning

Every good deep learning researcher has a solid foundation in machine learning. Of course, Andrew's Machine Learning course was one of the first courses on Coursera.

I would recommend taking weeks 1-3 of the Machine Learning course. Week 4 introduces Neural Networks, so after getting a solid grasp on general machine learning topics and regression in weeks 1-3, you can just transition over to the Deep Learning Specialization.Another interesting new resource that was just released was the Kaggle machine learning course. If you learn better from text, this walkthrough is very hands-on and gets you coding immediately.

I hope you see here that you don’t need a lot of background knowledge to take the Specialization. By taking two courses from the Python specialization and 3 weeks of the original Machine Learning course, you can be ready to take the Deep Learning Specialization in just a couple of months.