Programming fundamentals
Advanced Python: objects, concurrency, tests and performance
Write robust, efficient Python: decorators, generators, advanced OOP, threads, networking, tests and optimization.
- Duration
- 21 h · 3 days
- Level
- Intermediate
- Format
- On site · Remote · Blended
- Max. group size
- 12 participants
Overview
This program deepens Python for developers who already master the basics: higher-order functions, generators, decorators, advanced object-oriented programming, concurrency, sockets, serialization, database access, tests and optimization. It also shows how to interface Python with other languages.
Who this program is for
- Intermediate Python developers
- Data engineers and back-end engineers
- Teams industrializing scripts
Prerequisites
- Regular practice of Python (functions, classes, modules)
Learning objectives
- Use generators, decorators and higher-order functions
- Apply advanced object-oriented programming
- Write concurrent code with threads
- Communicate over the network with sockets
- Persist with JSON, pickle and databases
- Test with unittest and pytest
- Profile and optimize
Detailed curriculum
6 modules · 21 h · 3 days
Day 1
Advanced functions and generators
50% theory · 50% practice
- Higher-order functions
- The collections module
- Generators and iterators
- Decorators
- Introspection
Advanced object-oriented programming and concurrency
30% theory · 70% practice
- Multiple inheritance and MRO
- Abstract classes and descriptors
- Metaclasses: principles
- Threads, locks and semaphores
- Thread pools
🛠 Hands-on workshops
Concurrency workshop1.5 h
Parallelize a data processing job.
✅ Deliverable : A measured concurrent script
Day 2
Networking and serialization
50% theory · 50% practice
- TCP and UDP sockets
- Simple client and server
- Serialization: JSON and pickle
- Handling XML
- Deserialization security
Databases
30% theory · 70% practice
- SQLite and MySQL from Python
- Prepared statements
- Transactions
- Introduction to ORMs
- Organizing the data layer
🛠 Hands-on workshops
Data layer2 h
Write a reusable data access module.
✅ Deliverable : A persistence module
Day 3
Integration with other languages
50% theory · 50% practice
- Calling C code with ctypes or cffi
- Modern bindings (pybind11)
- Interoperability with Java
- When to choose a native extension
- Packaging
Testing and optimization
30% theory · 70% practice
- unittest and pytest
- Mocks and coverage
- Profiling
- Algorithmic complexity and data structures
- Performance best practices
🛠 Hands-on workshops
Optimize a script2 h
Profile and speed up a slow script.
✅ Deliverable : A before/after report
Tools and technologies
MySQLPythonSQLiteVisual Studio Code
Teaching methods
- Alternating short lectures and hands-on work
- Live demonstrations by the trainer
- Capstone project built throughout the modules
- Group corrections and discussion of best practices
Assessment
- Hands-on exercises corrected in each module
- Mini-project completed at the end of the course
- Knowledge-check quiz
Required equipment
- A computer with an internet connection
- Python 3 and a code editor
Resources provided
- Course materials and repository of corrected exercises
Career outcomes
- More idiomatic, faster code
- An automated test suite
- A toolbox of Python patterns
Related video courses
My video courses that go with this program, to get ready for the training or to review afterwards. Free with an account.

