1.2. Agenda

1.2.1. Day 1

Estimated Time

Topic

15m

Kwestie organizacyjne: przedstawienie się, przerwy, spreadsheet

75m

Przygotowanie środowiska do pracy: github, git, python, doctest

30m

Zadania testowe ewaluujące umiejętności użytkownika

90m

Live Coding rozwiązań zadań i demonstracja funkcji IDE, tj.

debugging, praca z VCS, refactoring, dokumentacja i typy, sygnatury funkcji

210m

Generatory

Generators: about

Generators: builtin

Generators: expression

Generators: function

Generators: inspect

Generators: yield-from

Generators: send

Generators: itertools

1.2.2. Day 2

Estimated Time

Topic

420m

Programowanie funkcyjne

Functional Programming: lambda

Functional Programming: scope

Functional Programming: pure-function

Functional Programming: recurrence

Functional Programming: immutable

Functional Programming: higher-order

Functional Programming: referential-transparency

Functional Programming: functional-paradigm

Functional Programming: namespace

Functional Programming: function-attributes

Functional Programming: callable

Functional Programming: closures

1.2.3. Day 3

Estimated Time

Topic

150m

Dekoratory: funkcji z wrapperem funkcją oraz klasą

60m

Dekoratory klas z wrapperem funkcją oraz klasą

60m

Dekoratory metod z wrapperem funkcją oraz klasą

30m

Dekoratory z argumentami, Functools.wraps

30m

OOP Mutowalne argumenty

45m

OOP Atrybuty statyczne i dynamiczne

45m

OOP Modyfikatory dostępu

1.2.4. Day 4

Estimated Time

Topic

60m

OOP: Dziedziczenie i kompozycja

15m

OOP: Method Resolution Order

30m

OOP: Polimorfizm

60m

OOP: Relacje między obiektami

30m

OOP: Interfejsy

45m

OOP: Klasy abstrakcyjne

30m

OOP: Tożsamość obiektów

60m

OOP: Konstruktor klas __new__ vs __init__

30m

OOP: Sloty

60m

OOP: Metaklasy

OOP: Staticmethod

OOP: Classmethod

1.2.5. Day 5

Estimated Time

Topic

Protocol: Iterator

Protocol: Context Manager

Accessor: Property

Accessor: Reflection

Accessor: Descriptor

Performance Optimization

Micro-benchmarking

Profiling

Compilers and Interpreters

Collections

C Types

C Modules

Concurrency Models

Queues

Threading

Multiprocessing

Async Programming