YoVDO

Concurrent and Parallel Programming in Python

Offered By: Packt via Coursera

Tags

Python Courses Parallel Programming Courses Queues Courses Concurrent Programming Courses Multiprocessing Courses Asynchronous Programming Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
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. Advance to multiprocessing, understanding how to leverage multiple CPU cores for enhanced performance. Learn to implement multiprocessing queues and pools, handle multiple arguments, and optimize CPU-intensive tasks. Finally, delve into asynchronous programming, mastering async tasks, timeouts, and libraries. Combine asynchronous and multiprocessing techniques for robust and scalable applications. This course provides a thorough understanding of concurrent and parallel programming, preparing you to tackle real-world challenges and optimize your Python applications for performance and efficiency. This course is ideal for Python developers, software engineers, and data scientists who want to enhance their skills in concurrent and parallel programming. A basic understanding of Python is recommended.

Syllabus

  • Threading
    • 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.
  • Multiprocessing
    • 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.
  • Asynchronous
    • 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.

Taught by

Packt - Course Instructors

Related Courses

Pattern-Oriented Software Architectures: Programming Mobile Services for Android Handheld Systems
Vanderbilt University via Coursera
Paradigms of Computer Programming
Université catholique de Louvain via edX
Introduction to Operating Systems
Georgia Institute of Technology via Udacity
Programming Mobile Services for Android Handheld Systems: Content
Vanderbilt University via Coursera
Advanced Software Construction in Java
Massachusetts Institute of Technology via edX