1.2. Agenda

  • Training course: 9:00 - 17:00

  • Lunch break: 12:30 - 13:15

  • 5-10 min break every one/one-and-half hour

1.2.1. Day 1

Estimated Time

Topic

15m

Welcome note, agenda, work organization

60m

Prepare work environment: github, git, python, doctest

30m

Entry test evaluating proficiency, skills and knowledge

45m

Live coding solution and IDE demonstration: debugging, version control, refactoring, documentation, type annotations and Python syntactic sugars

30m

Generators: Builtin generator-like objects

30m

Generators: Generator expression

45m

Generators: Generator function

15m

Generators: Introspection

15m

Generators: Yield-from and Send

15m

Generators: Itertools module

30m

Functional Programming: Lambda

30m

Functional Programming: Scope

30m

Functional Programming: Pure-function

30m

Functional Programming: Recurrence

1.2.2. Day 2

Estimated Time

Topic

15m

Functional Programming: Mutable and immutable data structures

30m

Functional Programming: Higher-order functions and referential transparency

30m

Functional Programming: Namespace and function attributes

45m

Functional Programming: Callable and closures

120m

Decorators: Function decorators

75m

Decorators: Method decorators

90m

Decorators: Class decorators

15m

Decorators: Decorator arguments and functools.wraps

1.2.3. Day 3

Estimated Time

Topic

30m

OOP Mutable and immutable data structures in parameters

45m

OOP Static and dynamic attributes

45m

OOP Access modifiers for methods and attributes

45m

OOP: Inheritance, Mixin, Composition

30m

OOP: Method Resolution Order and super()

30m

OOP: Polymorphism

120m

OOP: Object Relation Mapping

75m

OOP: Interfaces and abstract classes

1.2.4. Day 4

Estimated Time

Topic

60m

OOP: Staticmethod and classmethod

60m

OOP: Object identity and equality

45m

OOP: Slots

60m

OOP: Class constructor __new__ vs __init__

90m

OOP: Metaclass

60m

Performance: Optimization, Micro-benchmarking and Profiling

30m

Performance: Alternative compilers, interpreters and modules

15m

Performance: C Types and C Modules

1.2.5. Day 5

Estimated Time

Topic

45m

Concurrency: Concurrency models and their specificity

45m

Concurrency: Multiprocessing

60m

Concurrency: Threading and queues

90m

Concurrency: Asynchronous programming

180m

Dragon