Session 1: Advanced Object Orientation
The self Keyword
Constructors and Destructors
Encapsulation
Inheritance
Polymorphism
Abstract Classes
Multiple Inheritance and Mixins
Composition and Aggregation
Static Members
Session 2: Iterations & Generators
Iterables
Iterators
Custom Iterators
Generators
Yield vs. Return
Session 3: Comprehensions
List Comprehension
Set Comprehension
The zip Function
Dictionary Comprehension
Session 4: Decorators
Decorators
Decorator Functions
Decorator Annotations
Decorator Use Cases
Labs
Session 5: Multithreading
Threads
Multithreading
Thread Construction
Thread Execution
Thread Sleep
Joins
Data Sharing
Synchronisation
Multithreading vs. Multiprocessing
Session 6: Functional Programming
Functional Programming
Lambdas
Immutability
Mapping
Filtering
Reducing
Session 7: Web services
RESTful Web Services
JSON Data
CRUD and HTTP
RESTful Clients
RESTful APIs
Session 8: Unit testing
Unit Testing Terminology
Test Classes
Test Fixtures
Test Cases
Assertions
Test Runners