My Teaching

I’m incredibly passionate about teaching and ecstatic that in the last few years, I have been able to scale to millions of students via MOOC platforms like Coursera, edX, and Udacity.

This page lists the major courses I have worked on, and I hope you can find something interesting to learn from them.

I’m always interested in new teaching opportunities at Universities. If you’re looking for a guest lecturer or adjunct professor, please email me!

Pair-Programming with LLMs taught beside Andrew Ng and deeplearning.ai

I believe there’s some amazing power that can be leveraged with LLMs, but if you’re using them solely to do the creation on your behalf, you’re missing out on the real opportunities. In this short course, I teach about how to use them as a pair-programmer, helping you beyond just code into debugging, profiling, error handling, dependency checking and a whole lot more!

Find out more here

Google AI for Anyone with edX and harvardX

I’m passionate about helping anyone understand AI, and while most of my teachning involves coding, the goal of this specialization is to help those who don’t want to be coders to understand and break through the hype around AI so you can make informed decisions for your domain! It’s a fun set of courses that use everything from self-driving cars, to AI in medicine to help you understand how it works!

Find out more here

Tiny ML at edX with Harvard University

I was honored to be a part of this specialization taught by Harvard University. The goal is to widen access to education about Machine Learning and AI on mobile and embedded systems. In the courses you’ll learn about:

  • Fundamentals of machine learning, deep learning, and embedded devices.
  • How to gather data effectively for training machine learning models.
  • How to use Python to train and deploy tiny machine learning models.
  • How to optimize machine learning models for resource-constrained devices.
  • How to conceive and design your own tiny machine learning application.
  • How to program in TensorFlow Lite for Microcontrollers.

Find out more here

TensorFlow: Advanced Techniques

Following on from the previous two specializations taught alongside Dr. Andrew Ng from deeplearning.ai, this specialization teaches you how to peel open TensorFlow so you can start exploring it for more advanced scenarios. We introduce the features of TensorFlow that provide learners with more control over their model architecture and gives them the tools to create and train advanced ML models. This specialization is for early and mid-career software and machine learning engineers with a foundational understanding of TensorFlow, seeking to expand their knowledge and skillset by learning advanced TensorFlow features to build robust models.

It consists of four courses:

  • Custom Models, Layers, and Loss Functions with TensorFlow
  • Custom and Distributed Training with TensorFlow
  • Advanced Computer Vision with TensorFlow
  • Generative Deep Learning with TensorFlow

Find out more here

TensorFlow: Data and Deployment

With the success of the TensorFlow: In Practice specialization, we always knew we wanted to create a specialization geared towards getting models into people’s hands. From this, TensorFlow: Data and Deployment was born!

This specialization teaches you how to deploy models in the browser, Android, iOS, embedded systems with Raspberry Pi. It takes you through understanding how to use your data with pipelines, concluding with an exploration of advanced deployment scenarios like TensorFlow Serving and Federated Learning.

The courses are:

Browser-based models with TensorFlow.js Device-based models with TensorFlow Lite Data Pipelines with TensorFlow Data Services Advanced Deployment Services with TensorFlow

Find out more here

TensorFlow: In Practice

Later rebranded to the Coursera Professional Certificate for TensorFlow, this specialization is the defacto introduction to Machine Learning with TensorFlow. It takes you from the most basic principles through a deep understanding of the most common scenarios: Computer Vision, Natural Language Processing, and Sequence Modelling.

It was my first time teaching alongside Dr. Andrew Ng, and certainly one of the most rewarding and enjoyable experiences of my life!

It’s comprised of the following courses:

Introduction to TensorFlow for Artificial Intelligence, Machine Learning, and Deep Learning Convolutional Neural Networks in TensorFlow Natural Language Processing in TensorFlow Sequences, Time Series, and Prediction

Find out more here

ML Foundations

ML Foundations icon

In the first few months of 2020, as a Covid-19 lockdown stretched on, I wanted to create a free training course that would give people the basic skills of ML with TensorFlow. It would be hosted on YouTube and comprised of short lectures on common ML topics. These would be complete with hands-on code labs so you could roll your sleeves up and try this stuff out for yourself. I’m delighted to see that several hundred thousand people have used this material, and various services have made it available beyond YouTube in several other countries!

Find out more here