How much math and programming do you need to take the Deep Learning Specialization on Coursera?

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.

7 thoughts on “How much math and programming do you need to take the Deep Learning Specialization on Coursera?”

  1. Thank you.. for this.. i was looking to dive into machine learning and deep learning and this give me the direction where and how to start.

  2. Thanks for giving an idea of the pre-requisites before anyone dive into Machine learning courses.
    Link to “Kaggle Machine Learning Course” not working.

  3. Your post triggered some memories and made me smile. Back in ’83 (yep, many years before you born), I was a systems engineer with Boeing working on a contract for NASA. I got selected to participate in an AI training program. Four months into the program, Boeing lost a big DOD contract and canceled the program. That was not the memory that made me smile. 🙂 Programming language choices at that time very very limited (LISP and Prolog were the top two). Our programming training classes were taught with an interpreter app running on an IBM mainframe. Typos caused immediate abends, I ended up nervously typing one character at a time… What a pain in the butt. After that, I never complained about having to use highlighters while debugging core dumps. 🙂

    I ended up writing a lot C and later C++ code. But my all time favorite programming language was SAS. As an engineer and data analyst, I wanted to spend as little time as possible coding.

Leave a Reply

Your email address will not be published. Required fields are marked *