Intermediate Python

Purpose

Help new Python programmers expand their Python skills

Objectives

  • Understand and apply Python's iteration protocols
  • Apply test-driven design (TDD) concepts to Python application development
  • Use multithreading and multiprocessing to scale out Python programs
  • Build a simple web application using Flask

Audience

Software developers, QA, DevOps engineers, and system adminstrators with 3+ months of experience looking to deepen their understanding of Python

Prerequisites

Students should be familiar with the concepts in the Introduction to Programming with Python course, particularly Python functions, built-in bcontainers, and control structures.

Course Outline

  • Introduction and overview
    • Jupiter notebooks, briefly
    • Core Python syntax review
    • Virtual environments
  • Advanced container types in Python
  • Functional programming
    • Functions as first-class objects
    • Closures
    • Using and creating Python decorators
  • Object-oriented programming (OOP)
    • Creating classes and methods
    • Using inheritance for reuse
    • Magic methods for emulating built-in types
    • Decorators adn OOP
  • Iteration: iterables, iterators, and generators
  • Resource management with context managers
  • Logging in Python
  • Testing in Python
    • Test-driven development
    • Python test libraries
    • Debugging with PDB
  • Concurrency in Python: multithreading and multiprocessing
  • Network programming
    • Consuming APIs with the requests module
    • Using sockets to build low-level network services
    • Creating APIs and web UIs using Flask
  • Python and data science tools
    • Using Numpy for efficient numerical processing
    • Using Pandas for data integration
    • Overview of Scipy for scientific computing

Please contact us for information on pricing and availability