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)