This course is aimed at computer programmers who want to significantly improve their knowledge of the Python programming language. Course attendees should be able to write and debug programs in Python. More generally, they should be familiar with core language features like basic data types, control flow, classes, modules and functions.
This course consists of three full days of advanced Python classes in the form of live presentations and coding exercises. Attendees are encouraged to bring and work on their laptop computers. All course material will be made available under an open-source (GPL version 3 or later) license.
| Topic | Duration (') | Start | End |
|---|---|---|---|
| Introduction | 20 | 9:30 | 9:50 |
| Python Review | 20 | 9:50 | 10:10 |
| Magic Methods | 60 | 10:10 | 11:10 |
| Context Managers | 30 | 11:10 | 11:40 |
| Inheritance & MixIns | 60 | 11:40 | 12:40 |
| Abstract Base Classes | 20 | 12:40 | 13:00 |
| Object Wrappers | 30 | 13:00 | 13:30 |
| Lunch | 60 | 13:30 | 14:30 |
| Properties | 60 | 14:30 | 15:30 |
| Properties & Descriptors | 30 | 15:30 | 16:00 |
| Decorators | 60 | 16:00 | 17:00 |
| Topic | Duration (') | Start | End |
|---|---|---|---|
| Review of Day 1 | 15 | 9:30 | 9:45 |
| Metaclasses | 60 | 9:45 | 10:45 |
| Dataclasses | 30 | 10:45 | 11:15 |
| Meta + Dataclasses | 15 | 11:15 | 11:30 |
| AST | 60 | 11:30 | 12:30 |
| Parallel Programming | 60 | 12:30 | 13:30 |
| Lunch | 60 | 13:30 | 14:30 |
| Iterators | 30 | 14:30 | 15:00 |
| Generators | 60 | 15:00 | 16:00 |
| Async Introduction | 30 | 16:00 | 16:30 |
| Coroutines | 15 | 16:30 | 16:45 |
| Topic | Duration (') | Start | End |
|---|---|---|---|
| Review of Day 2 | 15 | 9:30 | 9:45 |
| Event Loop (loop1) | 30 | 9:45 | 10:15 |
| loo2 + loop3 | 30 | 10:15 | 10:45 |
| loop4 | 30 | 10:45 | 11:15 |
| loop5 | 30 | 11:15 | 11:45 |
| pipe1 + loop6 | 45 | 11:45 | 12:30 |
| Lunch | 60 | 12:30 | 13:30 |
| pipe2 + loop7 | 90 | 13:30 | 15:00 |
| pipe3 + loop8 | 60 | 15:00 | 16:00 |
| server + loop9 | 60 | 16:00 | 17:00 |
| pipe + server asyncio | 30 | ? | ? |
| Distributed Programming | 30 | ? | ? |
| Distributed Task Queues | 60 | ? | ? |