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)