1. Git - základy práce, použití v systému a z Jupyteru. Jazyk Python – syntaxe, základní datové datové struktury, literály, celá čísla, desetinná čísla, komplexní čísla, znaky, řetězce, n-tice, seznamy, slovníky. Vývojová prostředí. Přehled desek pro MicroPython.
2. Mechanismus výjimek, řízení běhu programu. Základy objektového přístupu v Pythonu, třída, konstruktory, metody, balíčky, testování, zpracování souborů (JSON).
3. Python - grafy, vícerozměrná pole, výpočty, používané balíčky. Vzdálené ladění z vývojového prostředí. Typy mikrokontrolérů s podporou MicroPythonu, postupy při programování. Architektury aplikací v oblasti embedded vývoje. Základy vývoje aplikací pro mikrokontroléry. Využití vysokoúrovňových jazyků pro abstrakci od konkrétního typu hardware.
4. Zpracování dat v (Micro)Pythonu - souborové formáty JSON, csv, xlsx. Balíky na platformě mikrokontrolérů – odlišnosti od standardních modulů, speciální moduly MicroPythonu a odlišnosti různých platforem.
5. Vlastní balíky a moduly v (Micro)Pythonu. Nízkoúrovňové moduly MicroPythonu – přerušení, watchdog timer, ovládání pinů, komunikační rozhraní mikrokontrolérů – A/D převodníky, sériové rozhraní.
6. Balíky a moduly - pokročilé použití. Další možnosti objektového programování, properties. Nízkoúrovňové moduly MicroPythonu – komunikační rozhraní – modul reálného času, SPI, I2C. Práce s pamětí typu flash, souborový systém.
7. Využití vlastních výjimek. Závislosti. Programování periferií desek (shieldy, haty, speciální moduly).
8. Knihovny pro sběrnicovou komunikaci – RS485, Modbus. Tvorba jednoduchého GUI na desktopu pro komunikaci s mikrokontroléry.
9. Dokumentace, reflexe a testování v Pythonu. MicroPython - síťová komunikace, nízkoúrovňová a vysokoúrovňová – ethernet, Wi-Fi, Bluetooth. Protokoly vhodné pro IoT.
10. Princip IoT, základní protokoly. Využití různých typů mikrokontrolérů, potřebné knihovny.
11. Kompilace MicroPythonu ze zdrojových kódů, Akcelerátory neuronových sítí na platformě mikrokontrolérů, vlastní konfigurace. Freezing modulů. Aplikace strojového učení a rozpoznávání dat. Princip edge computingu. Analýza dat ze senzorů.
12. Základy strojového učení, neuronové sítě - knihovny, specializované desky a kity.
13. Opakování, prezentace samostatných zápočtových projektů (10 minut na tým).