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

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

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

1.1.3. Day 3

  • 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.4. Day 4

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

  • 45 min - Random: pseudorandom numbers, random seed

  • 60 min - Doctest: using doctests and testing problems

  • 120 min - Unittest: introduction to TDD

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

  • 60 min - Pathlib: working with files and directories

  • 45 min - Logging: debugging messages

1.1.5. Day 5

  • 45 min - OOP: mutability

  • 45 min - OOP: class variables

  • 45 min - OOP: access modifiers

  • 30 min - OOP: property

  • 120 min - OOP: Object-Relation Mapping

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