Dive into the world of concurrent and parallel programming with this detailed course designed for Python developers. Begin with threading, learning how to create and manage threads, and progress to building complex systems with threading classes. Explore practical projects like creating a Wikipedia reader and a Yahoo Finance reader, mastering the use of queues, schedulers, and database integration.
Concurrent and Parallel Programming in Python
Recommended experience
What you'll learn
Understand the fundamental concepts of concurrent and parallel programming in Python.
Implement threading, multiprocessing, and asynchronous programming techniques.
Design multi-process programs that execute faster and more efficiently.
Apply techniques to distribute workloads across all available CPU cores on a machine.
Skills you'll gain
Details to know
Add to your LinkedIn profile
September 2024
1 assignment
See how employees at top companies are mastering in-demand skills
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV
Share it on social media and in your performance review
There are 3 modules in this course
In this module, we will delve into the fundamentals of threading in Python. We'll start with an introduction to threading, multiprocessing, and asynchronous programming concepts. Then, we will explore the creation and management of threads, develop practical applications like a Wikipedia reader and Yahoo Finance reader, and integrate advanced features such as queues, schedulers, and locking mechanisms to optimize our concurrent and parallel programming skills.
What's included
14 videos1 reading
In this module, we will explore the powerful capabilities of multiprocessing in Python. We'll begin with an introduction to the core concepts and advantages of using multiprocessing. Next, we will dive into practical implementations, including the use of multiprocessing queues, pools, and advanced techniques for handling multiple arguments and tasks. Finally, we will cover methods for efficiently processing and checking elements in lists within specific ranges, ensuring optimal performance in concurrent and parallel programming tasks.
What's included
6 videos
In this module, we will cover the essentials of asynchronous programming in Python. We'll start with an introduction to writing asynchronous programs and managing asynchronous tasks. You'll learn to use the async gather method and implement timeouts for handling multiple asynchronous operations effectively. We will also explore creating asynchronous for loops and using various asynchronous libraries. Finally, we'll delve into combining asynchronous programming with multiprocessing to achieve the highest level of concurrency and performance in your Python applications.
What's included
8 videos1 assignment
Recommended if you're interested in Software Development
École Polytechnique Fédérale de Lausanne
Johns Hopkins University
Rice University
University of Michigan
Why people choose Coursera for their career
New to Software Development? Start here.
Open new doors with Coursera Plus
Unlimited access to 7,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription
Advance your career with an online degree
Earn a degree from world-class universities - 100% online
Join over 3,400 global companies that choose Coursera for Business
Upskill your employees to excel in the digital economy
Frequently asked questions
Yes, you can preview the first video and view the syllabus before you enroll. You must purchase the course to access content not included in the preview.
If you decide to enroll in the course before the session start date, you will have access to all of the lecture videos and readings for the course. You’ll be able to submit assignments once the session starts.
Once you enroll and your session begins, you will have access to all videos and other resources, including reading items and the course discussion forum. You’ll be able to view and submit practice assessments, and complete required graded assignments to earn a grade and a Course Certificate.