If books aren’t your thing, don’t worry, you can enroll or watch online courses! The interweb is now full of MOOCs that have lowered the barrier to being taught by experts. What’s more you get to do it at your pace and design your own curriculum. Great time to be alive for lifelong learners 🙂.

Here it is — the list of the best machine learning & deep learning courses and MOOCs for 2019.

Ready to build, train, and deploy AI?

Get started with FloydHub's collaborative AI platform for free

Deep Learning Specialization

Overview of the "Deep Learning Specialization"


  • Programming experience. The course is taught in Python. We assume you have basic programming skills (understanding of for loops, if/else statements, data structures such as lists and dictionaries).


  • Mathematics: basic linear algebra (matrix vector operations and notation) will help.
  • Machine Learning: a basic knowledge of machine learning (how do we represent data, what does a machine learning model do) will help. If you have taken Andrew Ng's Machine Learning course on Coursera, you're good of course!

At the top of our list is the course from one of the leaders in the field, Entrepreneur and our Professor - Andrew Ng. Thousands of students have started their career by attending his first famous course in Machine Learning. After that we were all expecting a sequel on Deep Learning. He probably heard our voice and not only created another masterpiece from where to get started, but also a company with the mission of teaching us everything he learned in his journey. Thank you Professor at empowering us with the new electricity.

Thank you Professor!

Recommended for:

  • Everyone who wants to get started in Machine & Deep Learning

About this course:

If you want to break into AI, this Specialization will help you do so. Deep Learning is one of the most highly sought after skills in tech. We will help you become good at Deep Learning.In five courses, you will learn the foundations of Deep Learning, understand how to build neural networks, and learn how to lead successful machine learning projects. You will learn about Convolutional networks, RNNs, LSTM, Adam, Dropout, BatchNorm, Xavier/He initialization, and more. You will work on case studies from healthcare, autonomous driving, sign language reading, music generation, and natural language processing. You will master not only the theory, but also see how it is applied in industry. You will practice all these ideas in Python and in TensorFlow, which we will teach.You will also hear from many top leaders in Deep Learning, who will share with you their personal stories and give you career advice.AI is transforming multiple industries. After finishing this specialization, you will likely find creative ways to apply it to your work.We will help you master Deep Learning, understand how to apply it, and build a career in AI.

Deep Learning For Coders

First Lesson of "Deep Learning for Coders"

Every years thousand of students around the world are starting their careers in AI by following  the terrific Fast.ai course, now in its third edition. Unlike common ML/DL courses, this is a really practical course. Jeremy, Rachel and Sylvain have integrated all the common best ML/DL practices in the fastai library to empower you with knowledge that otherwise you’d would have had to scour from many different sources (see our article Ten Techniques Learned From fast.ai). We love their commitment to this project, and their passion for developing and feeding an incredible community. One of the best resources to start your journey from.

The tweet we were all looking for :)

Recommended for:

  • Anyone who wants to start a career in ML/DL without spending tons of hours in theory before getting their hands dirty
  • Developers who want to become better in their jobs  (which is actually most of the audience)
Interesting perspective of the DS job market demand

About this course:

You will learn the practical details of deep learning applications with hands-on model building using PyTorch and fast.ai and work on problems ranging from computer vision, natural language processing, and recommendation systems. After finishing this course you be able to:

- apply transfer learning to image classification problems
- use neural networks for recommendation algorithms
- use recurrent neural networks and convolutional neural networks for text classification problems
- apply neural networks to tabular data and learn embeddings for categorical variables

Deep Learning Nanodegree Program

Landing page of "Deep Learning NanoDegree Program"

I’ve seen lot of friends, colleagues and FloydHub users getting started with ML/DL by taking the Nanodegree program. I love all the Udacity courses: clean UI, well explained material and amazing gamification to keep you motivated - give it a spin, highly recommended.

Recommended for:

  • Everyone with basic Machine Learning, Python and Algebra knowledge who wants to start a career in ML/DL.

About this course:

In this program, you’ll cover Convolutional and Recurrent Neural Networks, Generative Adversarial Networks, Deployment, and more. You’ll use PyTorch, and have access to GPUs to train models faster. You'll learn from authorities like Sebastian Thrun, Ian Goodfellow, Jun-Yan Zhu, and Andrew Trask. This is the ideal point-of-entry into the field of AI.In this program, you’ll master deep learning fundamentals that will prepare you to launch or advance a career, and additionally pursue further advanced studies in the field of artificial intelligence. You will study cutting-edge topics such as neural, convolutional, recurrent neural, and generative adversarial networks, as well as sentiment analysis model deployment. You will build projects in Keras and NumPy, in addition to TensorFlow PyTorch. You will learn from experts in the field, and gain exclusive insights from working professionals. For anyone interested in building expertise with this transformational technology, this Nanodegree program is an ideal point-of-entry.

CS224n: Natural Language Processing with Deep Learning

Landing page of "CS224n: Natural Language Processing with Deep Learning"

Proficiency in Python

  • All class assignments will be in Python (using NumPy and PyTorch). If you need to remind yourself of Python, or you're not very familiar with NumPy, you can come to the Python review session in week 1 (listed in the schedule). If you have a lot of programming experience but in a different language (e.g. C/C++/Matlab/Java/Javascript), you will probably be fine.

College Calculus, Linear Algebra (e.g. MATH 51, CME 100)

  • You should be comfortable taking (multivariable) derivatives and understanding matrix/vector notation and operations.

Basic Probability and Statistics (e.g. CS 109 or equivalent)

  • You should know basics of probabilities, gaussian distributions, mean, standard deviation, etc.

Foundations of Machine Learning (e.g. CS 221 or CS 229)

  • We will be formulating cost functions, taking derivatives and performing optimization with gradient descent. If you already have basic machine learning and/or deep learning knowledge, the course will be easier; however it is possible to take CS224n without it. There are many introductions to ML, in webpage, book, and video form. One approachable introduction is Hal DaumĂ©'s in-progress A Course in Machine Learning. Reading the first 5 chapters of that book would be good background. Knowing the first 7 chapters would be even better!

This is one of the best course available to get you up to speed on the state of the art in NLP. Not an easy course by any means since it has a lot of requirements and it’s really technical, but on the other end of it, you’ll know how Deep Learning is shaping NLP.

I owe personal thanks Chris & Richard (ex co-instructor and now chief scientist at Salesforce) to make this course available online - it was one of the things I started with in my early days as a DL student.

Recommended for:

  • Everyone with solid ML and Python foundations who wants to get into the current state-of-the-art of Deep Learning for NLP

About this course:

Natural language processing (NLP) is one of the most important technologies of the information age, and a crucial part of artificial intelligence. Applications of NLP are everywhere because people communicate almost everything in language: web search, advertising, emails, customer service, language translation, medical reports, etc. In recent years, Deep Learning approaches have obtained very high performance across many different NLP tasks, using single end-to-end neural models that do not require traditional, task-specific feature engineering. In this course, students will gain a thorough introduction to cutting-edge research in Deep Learning for NLP. Through lectures, assignments and a final project, students will learn the necessary skills to design, implement, and understand their own neural network models. This year, CS224n will be taught for the first time using PyTorch rather than TensorFlow (as in previous years).

CS231n: Convolutional Neural Networks for Visual Recognition

Landing page of "CS231n: Convolutional Neural Networks for Visual Recognition"

Proficiency in Python, high-level familiarity in C/C++

  • All class assignments will be in Python (and use numpy) (we provide a tutorial here for those who aren't as familiar with Python), but some of the deep learning libraries we may look at later in the class are written in C++. If you have a lot of programming experience but in a different language (e.g. C/C++/Matlab/Javascript) you will probably be fine.

College Calculus, Linear Algebra (e.g. MATH 19 or 41, MATH 51)

  • You should be comfortable taking derivatives and understanding matrix vector operations and notation.

Basic Probability and Statistics (e.g. CS 109 or other stats course)

  • You should know basics of probabilities, gaussian distributions, mean, standard deviation, etc.

Equivalent knowledge of CS229 (Machine Learning)

  • We will be formulating cost functions, taking derivatives and performing optimization with gradient descent.

Similarly to CS224n this course is really technical and requires strong foundations, but this course will rocket you to frontiers of Deep Learning for CV.

The first time I watched it, Andrej Karpathy was a co-instructor (now he is the Director of AI at Tesla). You can find the old lectures on his Youtube channel.

Recommended for:

  • Everyone with solid ML and Python foundations who wants to get into the current state-of-the-art of Deep Learning for CV

About this course:

Computer Vision has become ubiquitous in our society, with applications in search, image understanding, apps, mapping, medicine, drones, and self-driving cars. Core to many of these applications are visual recognition tasks such as image classification, localization and detection. Recent developments in neural network (aka “deep learning”) approaches have greatly advanced the performance of these state-of-the-art visual recognition systems. This course is a deep dive into details of the deep learning architectures with a focus on learning end-to-end models for these tasks, particularly image classification. During the 10-week course, students will learn to implement, train and debug their own neural networks and gain a detailed understanding of cutting-edge research in computer vision. The final assignment will involve training a multi-million parameter convolutional neural network and applying it on the largest image classification dataset (ImageNet). We will focus on teaching how to set up the problem of image recognition, the learning algorithms (e.g. backpropagation), practical engineering tricks for training and fine-tuning the networks and guide the students through hands-on assignments and a final course project. Much of the background and materials of this course will be drawn from the ImageNet Challenge.

MIT Deep Learning

Landing page of "MIT Deep Learning"

This course dives into how different Deep Learning applications are used in autonomous vehicle systems (Lex Fridman’s main research area). Before watching these lectures I strongly recommend you to have already completed some courses on ML, DL (DL for CV) and RL. Once have the foundations down, you’ll be able to follow along really well and apply what you are learning.

Must watch!

Recommended for:

  • Everyone with a solid ML background who wants to learn how DL is applied in self-driving cars and other autonomous transportation systems. Bonus: You get a sneak peak into the AI leader’s opinion on the path to AGI.

About this course:

This page is a collection of MIT courses and lectures on deep learning, deep reinforcement learning, autonomous vehicles, and artificial intelligence taught by Lex Fridman.

Introduction to Reinforcement Learning

First Lesson of "Introduction to Reinforcement Learning"

This course was taught by the human brain behind AlphaGo, AlphaZero and now AlphaStar. He is probably one of the main leaders in RL and a terrific teacher. Similarly to the other university courses, this is really technical and theoretical. I strongly recommend to take your time after each lecture to internalize what you are learning by coding the examples in the Bible of RL.

Recommended for:

  • Everyone with good math foundations who wants to know the theoretical framework of [D]RL

About this course:

This course will teach you the foundations of [Deep] Reinforcement Learning.

Advanced Deep Learning & Reinforcement Learning

First Lesson of "Advanced Deep Learning & Reinforcement Learning"

There aren’t too many course on DRL, but this is probably the best one in term of structure. It will guide to connect the dots that compose DRL. I strongly recommend you to start this course after having watched the previous one in the list.

Recommended for:

  • Everyone with good math, statistic, ML & python foundations who wants to know start a career in DRL.

About this course:

This course, taught originally at UCL and recorded for online access, has two interleaved parts that converge towards the end of the course. One part is on machine learning with deep neural networks, the other part is about prediction and control using reinforcement learning. The two strands come together when we discuss deep reinforcement learning, where deep neural networks are trained as function approximators in a reinforcement learning setting.The deep learning stream of the course will cover a short introduction to neural networks and supervised learning with TensorFlow, followed by lectures on convolutional neural networks, recurrent neural networks, end-to-end and energy-based learning, optimization methods, unsupervised learning as well as attention and memory. Possible applications areas to be discussed include object recognition and natural language processing.The reinforcement learning stream will cover Markov decision processes, planning by dynamic programming, model-free prediction and control, value function approximation, policy gradient methods, integration of learning and planning, and the exploration/exploitation dilemma. Possible applications to be discussed include learning to play classic board games as well as video games.

Spinning Up in Deep RL

Landing page of "Spinning Up in Deep RL"
  • Authors: OpenAI
  • Offered By: OpenAI
  • Where to start: Course website
  • Certification: No
  • Supplement: Code repo, first workshop
  • Requirements: To begin with, a student of deep RL needs to have some background in math, coding, and regular deep learning. Beyond that, they need both a high-level view of the field—an awareness of what topics are studied in it, why they matter, and what’s been done already—and careful instruction on how to connect algorithm theory to algorithm code.
  • Categories: Reinforcement Learning, Deep Learning, Deep Reinforcement Learning

You can think of this course as your guide to connecting the dots between theory and practice in DRL. It’s really easy to be overwhelmed by all the DRL theory and code tricks used in the actual implementation. This course will help you at defining what to study next and how to convert a DRL algorithm to code.

Recommended for:

  • Everyone who is thinking: “If I want to contribute to AI safety, how do I get started?”.

About this course:

Welcome to Spinning Up in Deep RL! This is an educational resource produced by OpenAI that makes it easier to learn about deep reinforcement learning (deep RL).For the unfamiliar: reinforcement learning (RL) is a machine learning approach for teaching agents how to solve tasks by trial and error. Deep RL refers to the combination of RL with deep learning.This module contains a variety of helpful resources, including:

- A short introduction to RL terminology, kinds of algorithms, and basic theory,
- An essay about how to grow into an RL research role,
- A curated list of important papers organized by topic,
- A well-documented code repo of short, standalone implementations of key algorithms,
- And a few exercises to serve as warm-ups.

Machine Learning

Landing page of "Machine Learning"

This is where it all started: the first globally accessible ML course of Professor Andrew Ng. Andrew will literally take you by hand and introduce you to the Machine Learning field. It’s more than just a getting started course, this is how you fall in love with the field. Note: the code assignments are coded in Octave/Matlab. This could a bit scary for Python developers and non coders, but the course covers all the tips & tricks you need. And hey, fortune favours the brave.

Recommended for:

  • Everyone who wants to get started in Machine Learning from scratch.

About this course:

Machine learning is the science of getting computers to act without being explicitly programmed. In the past decade, machine learning has given us self-driving cars, practical speech recognition, effective web search, and a vastly improved understanding of the human genome. Machine learning is so pervasive today that you probably use it dozens of times a day without knowing it. Many researchers also think it is the best way to make progress towards human-level AI. In this class, you will learn about the most effective machine learning techniques, and gain practice implementing them and getting them to work for yourself. More importantly, you'll learn about not only the theoretical underpinnings of learning, but also gain the practical know-how needed to quickly and powerfully apply these techniques to new problems. Finally, you'll learn about some of Silicon Valley's best practices in innovation as it pertains to machine learning and AI.This course provides a broad introduction to machine learning, datamining, and statistical pattern recognition. Topics include:

(i) Supervised learning (parametric/non-parametric algorithms, support vector machines, kernels, neural networks).
(ii) Unsupervised learning (clustering, dimensionality reduction, recommender systems, deep learning).
(iii) Best practices in machine learning (bias/variance theory; innovation process in machine learning and AI).

The course will also draw from numerous case studies and applications, so that you'll also learn how to apply learning algorithms to building smart robots (perception, control), text understanding (web search, anti-spam), computer vision, medical informatics, audio, database mining, and other areas.

CS156: Machine Learning Course

First frame of "CS156: Machine Learning Course"
  • Authors: Yaser S. Abu-Mostafa
  • Offered By: Caltech on Edx
  • Where to start: Course website
  • Certification: Not longer available
  • Supplement:  Youtube videos
  • Suggested Duration: 10 weeks (10-20hours per week)
  • Requirements: Basic probability, matrices, and calculus. Familiarity with some programming language or platform will help with the homework.
  • Category: Machine Learning

This course is a bit more technical compared to Andrew’s course, but it will get you a stronger  foundation by show you more under-the-hood. At the end of the course you will know the why, what, and how of this amazing field. I recommend you watch this course after the previous one. This will help you learn the basics more thoroughly but also give you another perspective on what happens behind the scenes.

Recommended for:

  • Everyone with basic math foundations who wants to get started in Machine Learning

About this course:

This is an introductory course in machine learning (ML) that covers the basic theory, algorithms, and applications. ML is a key technology in Big Data, and in many financial, medical, commercial, and scientific applications. It enables computational systems to adaptively improve their performance with experience accumulated from the observed data. ML has become one of the hottest fields of study today, taken up by undergraduate and graduate students from 15 different majors at Caltech. This course balances theory and practice, and covers the mathematical as well as the heuristic aspects. The lectures below follow each other in a story-like fashion:

- What is learning?
- Can a machine learn?
- How to do it?
- How to do it well?
- Take-home lessons.

AI for Everyone

Overview of "AI for Everyone"

This course is recommended for all the non technical persons tired of hearing about the amazing breakthroughs in AI without know what these means for themselves or their company. If you are also considering an AI transformation but don’t want to learn all the math, this is your ticket. You’ll learn how to prepare yourself and your company for this new revolution.

Ready for the AI Transformation?!

Recommended for:

  • Not technical person who want to start the AI transformation

About this course:

AI is not only for engineers. “AI for Everyone”, a non-technical course, will help you understand AI technologies and spot opportunities to apply AI to problems in your own organization. You will see examples of what today’s AI can – and cannot – do. Finally, you will understand how AI is impacting society and how to navigate through this technological change.If you are a non-technical business professional, “AI for Everyone” will help you understand how to build a sustainable AI strategy. If you are a machine learning engineer or data scientist, this is the course to ask your manager, VP or CEO to take if you want them to understand what you can (and cannot!) do.

FloydHub Call for AI writers

Want to write amazing articles like Alessio and play your role in the long road to Artificial General Intelligence? We are looking for passionate writers, to build the world's best blog for practical applications of groundbreaking A.I. techniques. FloydHub has a large reach within the AI community and with your help, we can inspire the next wave of AI. Apply now and join the crew!