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