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

  • 10 min - Intro: Welcome message, course introduction, agenda, spreadsheet

  • 80 min - Setup: IDE, Git, repository, 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

  • 180 min - Star: assignment, parameters, arguments, signature

  • 30 min - Enumeracja (enum)

  • 30 min - Pattern Matching (match, case)

1.1.2. Day 2

  • 120 min - Type Annotation: types, iterables, mappings, callables, types

  • 100 min - Dataclasses: definition, relations, post_init, metadata

  • 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)