1.1. Agenda

  • Working hours 9:00 - 17:00

  • Lunch break 13:15 - 14:00

  • 10 min break every 1.5 hour

1.1.1. Day 1

  • 15 min - Kwestie organizacyjne: przedstawienie się, przerwy, spreadsheet

  • 75 min - Przygotowanie środowiska do pracy: github, git, python, doctest

  • 30 min - Zadania testowe ewaluujące umiejętności użytkownika

  • 60 min - Live Coding rozwiązań zadań i demonstracja funkcji IDE, tj. debugging, praca z VCS, refactoring, dokumentacja i typy, sygnatury funkcji

  • 45 min - Unpacking assignment

  • 45 min - Unpacking parameters

  • 60 min - Unpacking arguments

  • 30 min - Enumeracja (enum)

  • 60 min - Pattern Matching (match case)

1.1.2. Day 2

  • 120 min - Anotacje typów (typing)

  • 100 min - Data-klasy (dataclasses)

  • 100 min - Praca z plikami JSON (dane nierelacyjne i relacyjne, daty i czas, zagnieżdżone dane relacyjne)

  • 100 min - Praca z plikami CSV (konwersja formatów danych)

1.1.3. Day 3

  • 240 min - Wyrażenia regularne (Identifier, Qualifiers, Quantifiers, Grouping, Flags)

  • 180 min - Daty, czas i strefy czasowe

1.1.4. Day 4

  • 180 min - Przeciążanie operatorów

  • 60 min - Moduły i pakiety (venv, pip, pyproject.toml)

  • 30 min - Logowanie zdarzeń (logging)

  • 45 min - Problemy precyzji float (IEEE 754)

  • 45 min - Pseudolosowość, random seed

  • 60 min - Wprowadzenie do testów i TDD (unittest, doctest)

1.1.5. Day 5

  • 90 min - Zadanie samodzielne z programowania obiektowego (Smok)

  • 20 min - Code Review

  • 180 min - Live Coding rozwiązań zadań i demonstracja dobrych praktyk OOP, TDD, architektury aplikacji jak również funkcji IDE, tj. debugging, praca z VCS, refactoring, dokumentacja i typy, sygnatury funkcji

  • 120 min - Bazy danych: (SQL, zapis, odczyt, kursory, relacje, indeksy)