JAK VYPADÁ VÝUKA » Volitelné předměty

Programování

Jednoletý volitelný předmět s hodinovou dotací dvě hodiny ve čtvrtém ročníku.

Seminář slouží jako úvod do vývoje software. Kombinuje výuku programovacího jazyka Python s představením důležitých teoretických i praktických konceptů a nástrojů, které se používají v praxi. Důraz je na to, aby studenti viděli aplikace těchto konceptů a vyzkoušeli si práci s těmito nástroji. Studenti také získají určitou základní představu jak počítače fungují "uvnitř".

Jak funguje počítač

  • práce ve dvojkové a šestnáctkové soustavě – kódování dat (text, přirozená a reálná čísla, obraz), endianita dat, bitové operace
  • Harwardská a Von Neumannovská architektura
  • úloha procesoru, co je to assembler a strojový kód, co zhruba obsahuje instrukční sada procesoru
  • rozdíl mezi interpretovanými a kompilovanými jazyky
  • volatile operační paměť (RAM) × non-volatile úložiště (disk)
  • nástin povinností operačního systému – rozdělování výpočetního výkonu procesoru mezi programy, virtuální paměť, file systém – např. FAT
  • způsoby programování v pythonu

Webová IDE, Jupyter notebook

Lokálně v textovém editoru – např. VSCode

  • Využití umělé inteligence pro psaní kódu (ChatGTP, github copilot…)
  • Úvod do výpočetní složitosti

Ukázky základních algoritmů (třídící algoritmy, prohledávání stavového prostoru, hledání prvočísel…)

Ukázky základních datových struktur (halda, fronta, zásobník, nafukovací pole…)

  • Důležité koncepty v programování

Hodnotové a referenční datové typy, vlastní datové typy

Funkce, rekurze, knihovny

  • Používání knihoven v pythonu

Pip package manager

Nejběžnější knihovny pro zpracování dat – numpy, matplotlib, pandas

Správa verzí pomocí gitu a githubu

  • Úvod do kryptografie

Hašovací funkce, symetrické a asymetrické šifrování

Výměna klíčů, jak funguje elektronický podpis

  • Bezpečnost na internetu

Správci hesel, porovnání různých druhů 2FA

Jak funguje TOTP a hardwarové tokeny

  • Základy práce v CLI shellu
  • Co je to ssh a k čemu je dobré?

Autentizace na github pomocí ssh

  • Package managery pro windows (scoop, chocolatey)

Jak pomocí nich instalovat programy a proč to chceme dělat

Volitelné

  • základy skriptování v bashi
  • užitečné CLI aplikace (podman, curl, imagemagick, btop, yt-dlp…)
  • co je to virtuální stroj, jak ho vyrobit a k čemu je dobrý?
  • představení nejdůležitějších konceptů Linuxu pomocí Windows WSL
  • psaní v markdownu a LaTeXu
  • jak funguje internet? – přehled nejdůležitějších protokolů

Předpokládaný vyučující: Jakub Smolík

Žádný dokument ke stažení