Introduction.- Part 1: Advanced language features.- Python type hints.- Class slots.- Weak references.- Data classes.- Structural pattern matching.- Working with pprint.
- Shallow v deep copy.- The __init__versus __new__ and __call__.- Python metaclasses and meta programming.- Part 2: Computer graphics and GUIs.- Introduction to computer graphics.- Python turtle graphics.- Computer generated art.- Introduction to Matplotlib.
- Graphing with Matplotlib pyplot.- Graphical user interfaces.- Tkinter GUI library.- Events in Tkinter user interfaces.- PyDraw Tkinter example application.- Part 3: Computer graphics and GUIs.- Introduction to games programming.- Building games with pygame.
- StarshipMeteors pygame.- Part 4: Testing.- Introduction to testing.- PyTest testing framework.- Mocking for testing.- Part 5: File Input / Output.- Introduction to files, paths and IO.- Reading and writing files.
- Stream IO.- Working with CSV files.- Working with excel files.- Regular expressions in Python.- Part 6: Database access.- Introduction to databases.- Python DB-API.- PyMySQL module.
- Part 7: Logging.- Introduction to logging.- Logging in Python.- Advanced logging.- Part 8: Concurrency and parallelism.- Introduction to concurrency and parallelism.- Threading.- MultiProcessing.
- Inter thread / Process synchronisation.- Futures.- Concurrency with AsyncIO.- Performance monitoring and profiling.- Part 9: Reactive programming.- Reactive programming introduction.- RxPy observables, observers and subjects.- RxPy operators.
- Part 10: Network programming.- Introduction to sockets and web services.- Sockets in Python.- Web services in Python.- Flask web services.- Flask bookshop web service.- Part 11: Data analytics and machine learning.- Introduction to data science.
- Pandas and data analytics.- Alternatives to pandas.- Machine learning in Python.- Pip and Conda virtual environments.