This course is closed for enrollment.

A brief video introduction to the MOOC


Course Curriculum

  Reinforcement Learning Basics with OpenAI Gym (available)
Available in days
days after you enroll
  How to Maximize Rewards (available)
Available in days
days after you enroll

What's inside?

The Deep Q Network used by the Deepmind team to solve Atari games

Implement famous Deep Reinforcement Learning algorithms

We will start with classical techniques like SARSA and end by implementing famous Deep Reinforcement Learning algorithms like Deep Q Network and Proximal Policy Optimization.

Beginner friendly stamp, generated at

Perfect for beginners

The course is perfect for beginners who are just starting out with Reinforcement Learning. Prerequisites are kept to a minimum. I only assume that you know high school math (probability, calculus), Object Oriented Python programming and a bit of NumPy. No prior Machine Learning or Deep Learning knowledge is needed.

A screenshot from a lecture video on agent actions showing a Jupyter Notebook and a OpenAI Gym CartPole-v0 environment

Learn while coding

  • You will learn Reinforcement Learning while your hands are on the keyboard.
  • Implementation details of complex algorithms are covered end-to-end, so that you learn the theory and can translate it to powerful RL agents.

OpenAI Gym BipedalWalker-v2 environment

Solve challenging practical projects

By the end of the course, you will have solved 5 OpenAI Gym environments. You will train bots to walk, play games, and much more.

An exercise from the course related to the MountainCar-v0 environment in the form of Jupyter Notebook

Practice with coding exercises

Watched the videos but want to confirm that you learned something? The course is peppered with coding exercises in the form of Jupyter Notebooks so that you can test your knowledge of Reinforcement Learning tools and concepts.

A graph showing the progression of learning for the Pong-v0 environment with different buffer sizes

Best practices included

You will learn how to

  • write modular and extensible PEP8 compatible Python code
  • make your RL experiments reproducible
  • log/monitor training and testing sessions
  • compare performance with different hyperparameters

These best practices will increase your chances of success in solving problems and communicating results.

Use powerful Python frameworks and packages

You will learn to use Python, Keras, OpenAI Gym and Google Cloud to implement Reinforcment Learning algorithms.

  • This RL toolchain lets you avoid boring boilerplate code, ensuring you can code RL bots fast.
  • Yet, they are powerful and customizable enough to solve almost any Reinforcement Learning problem.

Projects in this course

Animation of solved OpenAI Gym CartPole-v0 environment using GLIE Monte Carlo

Balance a pole on a cart.

Animation of solved OpenAI Gym MountainCar-v0 environment using function approximation with Fourier series

Drive up a big hill with an underpowered car.

Animation of solved OpenAI Gym LunarLander-v2 environment using Actor Critic

Navigate a spacecraft on its landing pad.

Animation of solved OpenAI Gym BipedalWalker-v2 environment using PPO

Train a bipedal robot to walk.

Animation of solved OpenAI Gym Pong-v0 environment using DQN

Maximize score in the game Pong, with screen images as input

What Pythonistas are saying

Anton Caceres (reviewer) headshot

"Dibya is one of the most fluent Python tutors in the community, whom I can confidently recommend."

Anton Caceres - Python Software Foundation Fellow, Founder of PyMunich

Olga Kupriyanova (reviewer) headshot

"I was particularly impressed by Dibya’s ability to handle even the toughest programming tasks and his passion for teaching and learning. The skill to explain to others often takes years to develop among IT people, especially in machine learning field, but it seemed to come perfectly naturally to him. No matter how difficult are the tasks, which you are dealing with, Dibya made sure everyone left with a smile. As an instructor or team member, Dibya earns my highest recommendation!"

Olga Kupriyanova - Python Developer and Product Owner at Siemens, Founder of PyLadies Munich

Hadrien Lacroix (reviewer) headshot

"Dibya is one of the best instructors I’ve worked with. He cares deeply about his students and is relentless about ensuring complex concepts are made accessible. He will not stop polishing content until this goal is achieved. His technical expertise (computer science, software development, machine learning) is on par with his pedagogy and I recommend any course he creates without hesitation."

Hadrien Lacroix - Data Science Curriculum Manager, Datacamp

Headshot of the course instructor Dibya Chakravorty

About the instructor

Hi, I am Dibya. I am a Senior Python Programmer and Python community leader based in the beautiful city of Munich, Germany. I wear many hats.

  • Test Automation Engineer in the car industry
  • Reinforcement learning Engineer in the finance sector
  • Web Backend Developer
  • Guitarist in an alternative rock band.

I love the Python programming language for its simplicity and its vibrant community.

I am fascinated by Reinforcement Learning and how much it resembles how we ourselves learn. Deep Reinforcement Learning is a young field and I was also a beginner in this topic not so long ago.

Believe me, I know how it feels to be a beginner and the struggles that beginners go through in such an academic subject. I hope to talk at your level, cover difficult topics with the necessary depth and patience, and always root the lectures in practical examples and code, so that you also feel that Reinforcement Learning is easy, fun and exciting!

This course is closed for enrollment.