Prerekvizity
Zaprvé je nutné vědět něco o tématech, co se probíraly na semináři PgU. Není nutné, abyste v minulosti prošli seminářem PgU.
Pokud jste ale v životě neprogramovali nebo jste se nikdy v životě s informatikou nesetkali, není pro vás tento seminář bez absolvování PgU vhodný. Pokud se někdo takový ale najde a přesto by chtěl na seminář docházet, napište mi a probereme možnosti.
Požadavky na úspěšné zakončení předmětu
Platí společná pravidla napsaná zde. Podtrženo sečteno musíte splnit následující:
- Získat alespoň 50 % bodů (známkování naleznete zde)
- Nepodvádět, protože to vám může vysloužit (N) na vysvědčení. Nedělějte to, nechce se mi to řešit.
- Pro maturanty: odevzdat maturitní práci splňující požadavky určené maturitní vyhláškou MŠMT v termínu určeném ředitelem školy.
Během roku budete řešit úlohy, nejčastěji ve formě domácí práce. Bude také zadáno pár úloh, které mi budete muset všichni odprezentovat. Projdeme si spolu váš kód, vy mi ho vysvětlíte a ukážete, jak a proč funguje. Podobně bude fungovat odevzdávání domácích úkolů, kde vždy náhodně vyberu dva nebo tři z vás, abyste mi vaše řešení vysvětlili. Toto opatření nezavádím rád, protože krátím o čas mě i vás, ale vzhledem k nadměrnému užívání generativního AI a velkých jazykových modelů je to nutné.
Užitečné odkazy
Kalendář důležitých událostí
| Datum | Událost |
|---|---|
| 1. září | Začátek školního roku |
| 1. listopadu | Schválené téma maturitní práce |
| 1. dubna | Předvedení maturitní práce (může být WIP) |
| 22. dubna | Odevzdání maturitní práce |
| první polovina května | Zpracování a rozeslání posudků |
| koncem května | Maturitní zkouška |
Maturita
Důležité: V roce 2026 došlo ke změně formátu maturitní zkoušky. Vše je zmíněno v následujících dokumentech zde a na školním webu. Pobavíme se o tom také na hodině.
Upozornění: v době maturitních zkoušek jsou tyto informace neoficiálního informativního charakteru. Vždy konzultujte školní web.
No, tohle je téma samo o sobě. hodně se tady toho objeví, až bude čas. Zatím se ale musíte soustředit na dvě věci — výběr témata maturitní práce a opakování témat ze semináře PgU.
Téma mi odevzdejte do 1. listopadu a to po konzultaci. Prosím vás, promyslete to a pokud si nebudete čímkoliv jisti (náročností tématu, nejistotou, apod.), napište mi.
Předběžné materiály k maturitní zkoušce:
Maturitní otázky s klíčovými slovy
Otázky které jsou zvýrazněné zeleně, jsme již probrali a můžete si je vytáhnout na maturitě nanečisto. Otázky označené oranžově jsme již částečně probrali na úvodním semináři PgU.
- 1
- Datové typy a jejich reprezentace: základní datové typy; reprezentace celých čísel, typické velikosti na různých procesorech; reprezentace záporných čísel v jedničkovém a dvojkovém doplňku, jejich výhody a nevýhody; fixed-point desetinná čísla; pole a asociativní pole (hashmap, slovník); řetězec
- 2
- Webové technologie: popsat využití jednotlivých technologií; HTML (typická struktura webové stránky, tagy a atributy, sémantické HTML); CSS (selektory, kaskáda, preprocesor, příklady konkrétních pravidel); využívané protokoly rodiny TCP/IP; možnosti publikování webových stánek a hostingu; rozdíly mezi nasazování a správy webu pomocí redakčního systému (CMS) a generátoru statického webu (SSG)
- 3
- Databáze a SQL: využití databází, proč a kdy je použít; analogie s objektovým návrhem; zjednodušený UML diagram; tabulky, záznamy, řádky a sloupce; datové typy; primární a cizí (foreign) klíče; indexy; SQL a jeho syntax; základný dotazy v jazyce SQL
- 4
- Hardware: periferie a úložná zařízení: typy sběrnic a protokolů; USB; rozdíly mezi HDD a SSD; technologie CD, DVD; porovnání kapacita-rychlost-cena
- 5
- Verzovací systémy a spolupráce při programování: staging area, working copy; větev, repozitář, klon, fork; základní práce s Git a jeho koncepty; software pro spolupráci při programování, jejich vývoj
- 6
- Zpracování aritmetického výrazu: lexer a parser; zápisy aritmetických výrazů: infix, postfix, prefix; AST; algoritmus Shunting yard; bezkontextová gramatika a princip aplikace pravidel
- 7
- Síťová komunikace: přenos dat v rámci i mezi sítěmi; internet a jeho struktura; protokoly vrstev TCP/IP hierarchie; (Ne)spolehlivý a (ne)spojovaný přenos, příbuzné termíny; síťová zařízení; adresování v rámci a mezi sítěmi, typy adres, port; DNS; překlad doménových jmen na adresy
- 8
- Počítačová grafika a typografie: bitmapová a vektorová grafika; formáty pro uložení obrázku (BMP, JPG, PNG, SVG), jejich rozdíly a principy; komprese obrázků; barevné modely; font, slitek, kerning, vdova, sirotek; základní typografická pravidla
- 9
- Teorie programování: programovací jazyk, překladač; různá dělení programovacích jazyků; porovnání různých programovacích jazyků (syntaxe, nabízené funkce, správa paměti); základy objektově orientovaného progrmování (dědičnost, zapouzření, polymorfismus); abstraktní třídy a jejich použití
- 10
- Alternativní textové formáty a reprezentace textu: rozdíly mezi textovým procesorem a repezentací formátovaného textu v plaintextu; možnosti stylování v textovém procesoru (LibreOffice, MS Word); Markdown, LaTeX/Typst, program Pandoc; znaková sada; ASCII, UTF; reprezentace řetězců v paměti
- 11
- Historie hardware a software: relé, elektronka, tranzistor, děrné štítky; mikroprocesor, vícejádrové procesory; cloud, vzdálený přístup, internet
- 12
- Ochrana informací a zabezpečení systémů: symetrické a asymetrické šífry; one-time pad, RSA; hashování; solení hesel; protokoly SSH, principy vzdálené správy; firewall, demilitarizovaná zóna
- 13
- Testování softwaru: unit testing, integration testing; pokrytí kódu; druhy testů; testovací framework
- 14
- Multimedia a jejich prezentace: kontejner, kodek; kodovani a dekodovani videa a audia, komprese; CD, DVD, Blue ray; reprezentace audia v počítači; VGA, HDMI, DisplayPort; převod digitálního na analogový signál; ekvalizace zvuku, princip Fourierovy transformace
- 15
- Dávkové úlohy (práce v příkazové řádce): příkazová řádka, principy, ovládání, výhody a nevýhody; programování v rámci příkazové řádky, dávkové úlohy
- 16
- E-mail a instant messaging: protokoly využívané v e-mailové komunikaci (SMTP, POP3, IMAP); formát zprávy; možné útoky; rozdíly e-mailu a instant messagingu
- 17
- Algoritmy třídění: třídění čísel, řetězců; Bubble-sort, Insert-sort; Quick-sort, Merge-sort; složitost algoritmů třídění; stabilita třidicího algoritmu
- 18
- Licencování softwaru a otevřený software: placený software, shareware, freeware; open source software; licence MIT, GPL, CC a jejich rozdíly
- 19
- Specializované programovací jazyky: důvody využití, rozdíly oproti ostatním programovacím jazykům; jayzk pro statistické výpočty R; shell; regulární výrazy; LaTeX/Typst
- 20
- Hardware: CPU, paměť a architektura počítačů: registry, cache, instrukční sada; jádro a vlákno; základní deska; logika a hradla; využití různých číselných soustav v informatice; princip převodu mezi soustavami; Hornerovo schéma
- 21
- Operační systémy a virtualizace: souběh programů; ovladače; multitasking; uživatelské rozhraní; virtualizace komponent (disk, síť, obrazovka); IaaS, PaaS, SaaS; kontejnerizace versus virtualní stroj, jejich porovnání a použití
- 22
- Grafy a prohledávání: graf, stupeň, posloupnosti vrcholů, strom; prohledávání do hloubky a do šířky; problém nejkratší cesty
- 23
- Překladače a řízení překladu: lexer, parser, AST; front-end a back-end překladače; JIT, AOT překlad; mezikód a běhové prostředí; program pro řízení překladu (make, npm, apod.)
- 24
- Dynamické datové struktury: rozdíly mezi dynamickou a statickou datovou strukturou, jejich použití; binární strom; spojový seznam; nafukovací pole; paměťová a časová náročnost operací na nich; správa paměti (garbage collector)