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

  • 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

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

  • 45m - Unpacking assignment

  • 45m - Unpacking parameters

  • 60m - Unpacking arguments

  • 30m - Parameter Syntax

  • 60m - Assignment Expression

1.1.2. Day 2

  • 100m - Type Annotation

  • 100m - Dataclasses (dataclasses)

  • 20m - Serializacja i deserializacja danych z Pickle

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

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

1.1.3. Day 3

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

  • 180m - Daty, czas i strefy czasowe

1.1.4. Day 4

  • 180m - Przeciążanie operatorów

  • 30m - Enumeracja (enum)

  • 30m - Moduły i pakiety (venv, pip)

  • 30m - Lokalizacja i internacjonalizacja (encoding, locale, i18n, l10n)

  • 30m - Logowanie zdarzeń (logging)

  • 30m - Problemy precyzji float (IEEE 754)

  • 30m - Pseudolosowość, random seed

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

1.1.5. Day 5

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

  • 180m - 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

  • 150m - Bazy danych: (SQL, zapis, odczyt, kursory, relacje, indeksy)