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

  • 60 min - Setup: IDE, Git, repository, Python, doctest

  • 30 min - Placement test: evaluating participant skills

  • 60 min - Placement test: live coding solution, IDE demonstration, ie. debugging, working with VCS, refactoring, quick documentation, type annotations, function signatures

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

  • 60 min - Match: pattern matching (match, case)

1.1.2. Day 2

  • 120 min - Idiom: zip, enumerate, range, map, filter, any, all

  • 120 min - Json: format, read, write, relational and non-relational data, encoders, decoders

  • 150 min - Csv: format, read, write, parsing text files, format conversion

  • 15 min - Pickle: serializing objects to Pickle

  • 15 min - Toml: format, pyproject.toml, reading configuration files

1.1.3. Day 3

  • 240 min - Re: regular expression (Identifier, Qualifiers, Quantifiers, Grouping, Flags)

  • 180 min - Datetime: date, time, datetime, timezone, timedelta, ZoneInfo

1.1.4. Day 4

  • 15 min - Decimal: float precision problem (IEEE 754)

  • 15 min - Random: pseudorandom numbers, random seed

  • 60 min - Doctest: using doctests and testing problems

  • 90 min - Unittest: introduction to TDD

  • 60 min - Modules: project layout, venv, pip, requirements.txt, pyproject.toml

  • 30 min - Logging: debugging messages

  • 150 min - Database: (SQL, create, index, alter, update, delete, drop, select)

1.1.5. Day 5

  • 20 min - Dragon: introduction to Dragon project and sprints

  • 30 min - Dragon v1: programming

  • 15 min - Dragon v1: code review

  • 30 min - Dragon v1: solution, live coding, TDD, debugging

  • 30 min - Dragon v2: programming

  • 15 min - Dragon v2: code review

  • 30 min - Dragon v2: solution, live coding, TDD, refactoring

  • 30 min - Dragon v3: programming

  • 15 min - Dragon v3: code review

  • 30 min - Dragon v3: solution, live coding, TDD, refactoring

  • 30 min - Dragon v4: programming

  • 15 min - Dragon v4: code review

  • 30 min - Dragon v4: solution, live coding, TDD, refactoring

  • 30 min - Dragon v5: programming

  • 15 min - Dragon v5: code review

  • 30 min - Dragon v5: solution, live coding, TDD, refactoring

  • 25 min - Dragon: closing remarks