Advanced Python Workshop

Provides a deep-dive into internal features of the Python programming language as related to asynchronous computation, concurrency, efficiency, functional programming, and object-oriented design.

6 hours of instruction

Provides a deep-dive into internal features of the Python programming language as related to asynchronous computation, concurrency, efficiency, functional programming, and object-oriented design.

PREREQUISITES

Participants should have substantive experience using the Python language for software development. This can include applying standard Python tools for data analysis (notably NumPy, Pandas, Jupyter). Some familiarity with standard computer science data structures & terminology (e.g., Big-Oh notation) is useful.

LEARNING OBJECTIVES

  1. Select & apply standard Python data structures (e.g., sets, lists, dicts, NumPy arrays, Pandas Series/DataFrames, etc.) for efficiency
  2. Construct programs employing the Python internals for object-oriented design (e.g., magic methods, operator overloading, metaclasses, context managers, decorator classes, & C3 MRO linearization)
  3. Recognize & use functional programming idioms in Python (e.g., decorator functions, closures, function factories)
  4. Structure Python programs for asynchronous computation (e.g., using coroutines, iterators, generators, asynchronous event loops with async/await)
  5. Design Python programs with concurrency in mind

Not Enrolled
This course is currently closed