Parallel Programming in Python with async/await and threads Course

Course Summary

Python's async and parallel programming support is highly underrated. In this course, you will learn the entire spectrum of Python's parallel APIs. We will start with covering the new and powerful async and await keywords along with the underpinning module: asyncio. Then we'll move on to Python's threads for parallelizing older operations and multiprocessing for CPU bound operations. We'll close out the course with a host of additional async topics such as async Flask, task coordination, thread safety, and C-based parallelism with Cython.

What students are saying

*Finally* finished working through Michael Kennedy's "Python Async Techniques" course today! (had it queued for months). If you're looking for a single all-you-need-to-know for concurrent programming in Python then this is def'ly a go-to 👌🏽
-- Arvinda

Source code and course GitHub repository

github.com/talkpython/async-techniques-python-course

What's this course about and how is it different?

This is the definitive course on parallel programming in Python. It covers the tried and true foundational concepts such as threads and multiprocessing as well as the most modern async features based on Python 3.7+ with async and await.

In addition to the core concepts and APIs for concurrent programming, you will learn best practices and how to choose between the various APIs as well as how to use them together for the biggest advantage.

In this course, you will:

  • See how concurrency allows improved performance and scalability
  • Build async-capable code with the new async and await keywords
  • Add asynchrony to your app without additional threads or processes
  • Work with multiple threads to run I/O bound work in Python
  • Use locks and thread safety mechanisms to protect shared data
  • Recognize a dead-lock and see how to prevent them in Python threads
  • Take full advantage of multicore CPUs with multiprocessing
  • Unify the thread and process APIs with execution pools
  • Add massive speedups with Cython and Python threads
  • Create async view methods in Flask web apps
  • And lots more

View the full course outline.

Who is this course for?

Anyone who would like to write Python code that does more, scales better, and takes better advantage of modern, multicore CPUs. Whether you're a web developer or data scientists, you will find a host of techniques to do more faster.

The course is not a beginner Python course, so students with little to no Python language experience should take a foundational course first. We recommend our Python Jumpstart by Building 10 Apps as a prerequisite if needed.

Concepts backed by concise visuals

While exploring a topic interactively with demos and live code is very engaging, it can mean losing the forest for the trees. That's why when we hit a new topic, we stop and discuss it with concise and clear visuals.

Here's an example of introducing the concept of temporarily invalid states in thread safety.

Example: Concepts backed by concise visuals

Follow along with subtitles and transcripts

Each course comes with subtitles and full transcripts. The transcripts are available as a separate searchable page for each lecture. They also are available in course-wide search results to help you find just the right lecture.

Each course has subtitles available in the video player.

Get hands-on for almost every chapter

Learning to code is an interactive experience. That's why it's important to write async code and explore the apps we build during this course. Most chapters have code samples stored in the GitHub repo saved at various stages throughout the chapter. This means you can grab whichever one you want and start trying the code for yourself.

Who am I? Why should you take my course?

Who is Michael Kennedy?

My name is Michael, nice to meet you. ;) There are a couple of reasons I'm especially qualified to teach you Python.

 1. I'm the host of the #1 podcast on Python called Talk Python To Me. Over there, I've interviewed many of the leaders and creators in the Python community. I bring that perspective to all the courses I create.

 2. I've been a professional software trainer for over 10 years. I have taught literally thousands of professional developers in hundreds of courses throughout the world.

 3. Students have loved my courses. Here are just a few quotes from past students of mine.

"Michael is super knowledgeable, loves his craft, and he conveys it all well. I would highly recommend his training class anytime." - Robert F.
"Michael is simply an outstanding instructor." - Kevin R.
"Michael was an encyclopedia for the deep inner workings of Python. Very impressive." - Neal L.

Free office hours keep you from getting stuck

One of the challenges of self-paced online learning is getting stuck. It can be hard to get the help you need to get unstuck.

That's why at Talk Python Training, we offer live, online office hours. You drop in and join a group of fellow students to chat about your course progress and see solutions via screen sharing.

Just visit your account page to see the upcoming office hour schedule.

Is this course based on Python 3 or Python 2?

This course is based upon Python 3. Python 2 is officially unsupported as of January 1st, 2020 and we believe that it would be ill-advised to teach or learn Python 2. This course is, and has always been, built around Python 3.

The time to act is now

The dawn of Python's full async power is here. It's time to gain all its superpowers to build your next Python project faster, better, stronger.

Course Outline: Chapters and Lectures

9:43
1:27
1:51
4:52
0:44
0:49
5:57
1:40
0:39
0:53
0:30
1:13
1:02
26:24
3:42
3:54
3:53
1:49
3:34
2:14
4:25
2:53
56:33
1:15
3:51
9:05
3:08
5:36
7:17
1:17
1:46
4:42
1:07
3:08
9:16
1:24
3:41
32:24
1:07
1:12
2:33
4:59
3:52
3:10
1:41
0:41
6:02
1:21
5:46
28:30
0:46
1:28
3:35
5:04
4:35
1:45
5:50
3:44
1:43
12:29
1:02
1:52
4:55
1:21
2:19
1:00
14:27
1:51
2:21
6:45
1:47
1:43
33:03
1:32
4:31
2:22
4:22
5:54
3:10
1:11
1:01
4:53
1:56
1:16
0:55
31:38
1:20
1:31
5:01
1:51
1:06
1:30
4:39
1:33
2:37
2:00
3:16
3:33
1:41
30:37
1:31
1:45
3:00
2:26
5:36
1:11
2:46
1:40
2:19
4:06
2:53
1:24
17:58
0:35
2:01
1:04
1:19
2:16
2:13
1:44
1:58
1:35
1:18
1:38
0:17
Buy for $59 + tax Bundle and save 85% Team Gift

Questions? Send us an email: contact@talkpython.fm

Talk Python's Mastodon Michael Kennedy's Mastodon