Informační systém pro podporu výuky informatiky
Edu Stack IS – edukační sandbox, ve kterém se žák stává správcem školy
Petr Vích
Obhajoba bakalářské práce
Studijní program Informační technologie se zaměřením na vzdělávání
Vedoucí práce: PhDr. Jakub Mazuch
KITTV, Pedagogická fakulta UK
září 2026
Dobrý den, jmenuji se Petr Vích a představím svou bakalářskou práci Informační systém pro podporu výuky informatiky. Výsledkem je Edu Stack IS – edukační informační systém, ve kterém žák není jen uživatel, ale správce fiktivní školy. Prezentace má 10 minut: východiska, cíle, tři didaktické principy, krátce architektura, ověření ve výuce a limity.
Myšlenka není nová – chyběla ale realizace
Literatura: školní IS jako téma výuky (2007)
Dostál (2007) popisuje školní informační systémy jako integrovanou agendu školy – matriku, klasifikaci, rozvrh, komunikaci.
V této linii chybí nástroj, do kterého by měl žák plný přístup a mohl v něm sám spravovat data, role a oprávnění. Přesně tuto mezeru práce vyplňuje.
Vzor, ne konkurence: Bakaláři, EduPage…
Komerční školní IS beru jako referenční rámec funkcí, nikoli jako srovnávací cíl.
Důvod je didaktický: žáci školu důvěrně znají – mají rozvrh, známky, omluvenky. Nemusím vysvětlovat doménu, mohu rovnou ukazovat, jak IS uvnitř funguje.
Východisko 1: téma školního IS ve výuce najdeme v literatuře už v roce 2007 (Dostál) – není to nový nápad, ale v české praxi chyběl nástroj, kde má žák plný přístup. Východisko 2: komerční školní systémy jsem si vzal jako VZOR, ne jako konkurenci. Žáci – i ti mladší – vědí, jak škola funguje, takže IS mohu vysvětlovat na známém příkladu.
Cíle práce
1
Vymezit kategorii
Odlišit edukační IS od komerčních školních systémů (Bakaláři, EduPage), od low-code nástrojů (Airtable, Notion) i od výukových platforem informatiky (Scratch, Umíme to). Čtyři kritéria: účel · role žáka · prostředí · otevřenost.
2
Navrhnout prototyp
- doménový model věrný škole
- otevřený systém (kód, datový model)
- bezpečně resetovatelný sandbox
- tři vrstvy hloubky: uživatelská · konfigurační · vývojářská
- připravit pracovní listy pro podporu přípravy na výuku
3
Ověřit ve výuce
Zjistit, zda navržené úlohy vedou k pochopení rolí, oprávnění a datových toků.
Předpoklad: Řízená simulace správy školy dovede žáka od pasivního používání IS k porozumění jeho rolím, oprávněním a datovým tokům.
Tři dílčí cíle. Vymezit kategorii edukačních IS a odlišit ji od tří sousedních: komerční školní systémy (doména školy, ale uzavřené a žák pasivní), low-code nástroje (otevřené a aktivní, ale bez domény školy) a výukové platformy informatiky (algoritmizace, informační systémy jen okrajově) – podle účelu, role žáka, prostředí a otevřenosti. Navrhnout prototyp: doménový model věrný škole, otevřený, bezpečně resetovatelný, tři vrstvy hloubky – uživatelská pro 1. stupeň, konfigurační pro 2. stupeň, vývojářská pro SŠ – a připravit pracovní listy. Ověřit ho ve výuce. Výzkumná otázka: lze simulací správy školy dovést žáka od používání k porozumění rolím, oprávněním a datovým tokům.
Systém zůstává, roste žák
Software je pomůcka; hlavní text práce popisuje role, procesy, úrovně a úlohy (technika je v přílohách A a B). Systém zůstává stejný – mění se jen to, co v něm žák smí a umí.
1. stupeň ZŠ · uživatelská vrstvažák jako uživatel · zapamatovat / porozumětRole jako pohled: přihlásím se jako žák, učitel, ředitel – co vidím a co smím? Zápis jedné známky.
2. stupeň ZŠ · konfigurační vrstvažák jako správce · aplikovat / analyzovatStruktura jako řemeslo: založení třídy a předmětu, rozvrh s detekcí kolizí, AI asistent, impersonace.
Střední škola · vývojářská vrstvažák jako spolutvůrce · hodnotit / tvořitSystém jako platforma: ER diagram, REST a MCP API, vlastní skript, návrh nového modulu, šifrování a anonymizace.
Posun po Bloomově taxonomii · spirálové kurikulum: tatáž známka se vrací v každém stupni na vyšší úrovni abstrakce · ke každému stupni pracovní list s klíčem pro učitele (Příloha C).
Nejde o technickou práci: software je pomůcka, hlavní text je didaktický, technika je v přílohách. Druhý princip: jeden plnohodnotný systém se třemi vrstvami hloubky – systém zůstává, mění se kompetence žáka v čase. 1. stupeň – uživatelská vrstva: žák pozoruje, role jako pohled, zapíše známku (Bloom: zapamatovat, porozumět). 2. stupeň – konfigurační vrstva: žák jako správce zakládá třídy a předměty, řeší kolizi v rozvrhu (aplikovat, analyzovat). SŠ – vývojářská vrstva: žák jako spolutvůrce jde pod kapotu – ER diagram, API, vlastní modul (hodnotit, tvořit). Spirálové kurikulum: tatáž známka se vrací na vyšší úrovni abstrakce. Ke každému stupni je pracovní list s klíčem pro učitele. Přechod: a proč na to stačí jeden nástroj.
Jeden nástroj pro všechny fáze učení
Co se žák naučí o informačním systému v různých výukových nástrojích – a proč záleží na tom, že je to jeden nástroj.
| Drag-and-drop programováníScratch, Umíme to | Modelátory databázíAirtable, Notion, Coda | Edu Stack ISedukační IS |
| Doména školy (třídy, rozvrh, známky) | ✗ | ✗ | ✓ |
| Role a oprávnění (RBAC) | ✗ | částečně | ✓ |
| Viditelný datový model | – | ✓ | ✓ |
| Bezpečné experimentování s daty | ✓ | ✓ | ✓ |
| Otevřený kód | Scratch ano | částečně | ✓ |
| Blok „Informační systémy“ v RVP | okrajově | částečně | přímo |
| Uživatel → správce → spolutvůrce v jednom prostředí | ✗ | částečně | ✓ |
Jeden nástrojTatáž škola, tytéž role a data ve všech fázích – od klikání po vlastní skript.
Nižší kognitivní zát잎ák se neučí v každé fázi nové prostředí, ale nový pohled na systém, který už zná.
Více prostoru pro obsahČas ušetřený na ovládání zůstává na to podstatné: role, oprávnění, datové toky.
Proč jeden nástroj. V běžné praxi by žák potřeboval tři prostředí – něco na algoritmy, něco na modelování dat, něco na správu systému – a v každém se znovu učit ovládání. Edu Stack IS pokrývá všechny fáze v jednom prostředí: tatáž škola, tytéž role a data. Nižší kognitivní zátěž – žák se neučí nový nástroj, ale nový pohled na známý systém. Tím zbývá víc času na obsah: role, oprávnění, datové toky. Porovnání vychází ze srovnávací tabulky v kapitole 5 práce. Přechod: aby to fungovalo, musí být dovoleno dělat chyby.
Chyba je přirozená – když se s ní pracuje, učí
Jen fiktivní data
Žádné reálné osoby, žádné GDPR riziko. Cvičnou školu vygeneruje učitel na pár kliků (stovky záznamů).
Reset kdykoli
Každá cvičná škola má vlastní oddělený datový prostor (multitenance). Po hodině se vrátí do výchozího stavu – beze stopy.
„Zkus to rozbít“
Omylem smazaný žák nebo záměrně vyvolaná kolize v rozvrhu je materiál k diskusi, ne provozní problém. Bezpečný reset dělá z chyby úlohu.
Sandbox je podmínka experimentu: bez něj nelze žáka vyzvat, ať systém záměrně „rozbije“ – a právě to nejlépe odhaluje, jak funguje.
Třetí princip: práce s chybou. Jen fiktivní data, která lze kdykoli přegenerovat; každá cvičná škola má vlastní oddělený datový prostor a lze ji resetovat. Když žák něco omylem smaže – nebo schválně v rámci úkolu – nic se neděje; naopak: proč to šlo smazat? kdo to mohl? co se ztratilo? V pilotáži se to potvrdilo – záměrná kolize v rozvrhu byla tématem diskuse.
Co žák v systému potká: role a datové domény
Šest rolí – každá je vzdělávací příležitost
- Systémový administrátor – provoz pro více škol, tajné klíče
- Ředitel – pohled shora, bílá kniha
- Zástupce ředitele – rozvrh, suplování, kolize
- Učitel – známky, třídní kniha – odpovědnost za data
- Rodič – co a komu systém ukazuje
- Žák – nejnižší role: co smím vidět a co ne
Osm datových domén – každá má svou otázku
IdentitaJak systém ví, kdo jsem?
Akademická strukturaJak je škola organizována v čase?
Úvazky a prostoryKdo a kde učí?
Rozvrh a třídní knihaCo se děje v hodině?
Docházka a klasifikaceJak měříme výsledky?
Plánování a materiályJak učitel plánuje?
KomunikaceJak škola propojuje lidi?
Systém a AICo běží na pozadí?
Šest rolí, každá učí něco jiného. Databáze má přes 40 tabulek; didakticky rozdělena do 8 domén, z nichž každá odpovídá jedné výukové otázce – učitel postupuje doménu po doméně. Klíčové: vazby jsou viditelné – nový předmět se promítne do rozvrhu, klasifikace i úvazku.
Jak je systém postavený (stručně)
Prohlížečžák · učitel · rodič
➜
FrontendReact + Vite · Tailwind
Cloudflare Pages
➜
Backend REST APINestJS · TypeScript
RBAC guard · audit
➜
SQLitečisté SQL
better-sqlite3
Vrstva AI je záměrně mimo jádro – žák vidí, že AI je oddělená služba s vymezenými oprávněními, ne kouzelná část databáze.
MCP servernástroje pro AI agenty
SSE · jen loopback
➜
LLMGemini, OpenAI
- Monorepo: backend, frontend i MCP na jednom místě – čitelné pro SŠ
- Multitenance: jedna instance, libovolně škol, izolovaná data
- Nasazení: cloud (Fly.io + Cloudflare) i lokální běh bez internetu
- Bezpečnost: hesla Argon2, citlivé sloupce šifrované, SSO Google/GitHub/Microsoft
Jen rychle, detaily do dotazů. React frontend, NestJS backend s REST API, RBAC guardem a auditem, SQLite s čistým SQL (better-sqlite3). AI je oddělená vrstva – MCP server vystavuje nástroje jazykovým modelům, běží jen na loopbacku. Monorepo je čitelné pro středoškoláky, multitenance dává každé třídě vlastní školu, vše lze spustit lokálně bez internetu.
Ověření ve výuce: 9. třída, 16 žáků, jedna hodina
Role zástupce ředitele a učitel · tři pracovní listy (matrika, rozvrh, AI asistent) · dotazník + řízená diskuse
15 / 16vysvětlilo (aspoň částečně), proč žák nevidí stejná data jako učitel
14 / 16chce v systému pracovat i v dalších hodinách
9,5medián hodnocení vzhledu (škála 1–10)
9,0medián snadnosti ovládání (škála 1–10)
Co žáky bavilo
Známky (8 zmínek) a AI asistent (6) – „učesání“ slovního hodnocení bylo nejatraktivnější a zároveň otevřelo češtinu i etiku.
Co se ukázalo
13 žáků se přihlásilo hned; žádný pád systému; dva věcné podněty (editace hodnocení, signalizace čekání na AI); jedna protestní odpověď v datech ponechána.
Jedna hodina, 16 žáků 9. třídy, role zástupce ředitele a učitel, tři pracovní listy. Klíčové číslo: 15 z 16 aspoň částečně vysvětlilo, proč každá role vidí jiná data – RBAC pochopili prožitkem. 14 z 16 by chtělo pokračovat. Vzhled 9,5, snadnost 9,0. Technicky: 13 přihlášení hned, žádný pád, dva věcné podněty.
Zkušenost z hodiny – pohled začínajícího učitele
Mentoroval jsem dospělé, roky vedl oddíl ve skautu – ale hodina s deváťáky byla moje první výuka dětí ve škole.
Systém plní, k čemu byl navržen
Žáci se přihlásili, pracovali s matrikou, známkami i AI a v diskusi vysvětlili oprávnění.
Jedna hodina nestačí na plný potenciál
Třída na tento styl práce není zvyklá; víc času zabralo vysvětlování než samotné úlohy.
Žáci se báli klikat
Obava „abych něco nezkazil“ všechno protahovala – přesně to, co má sandbox odbourat. Chce to čas a opakování.
Poučení pro metodiku
Začít kratší úvodní hodinou o principu sandboxu, úlohy 2. listu (rozvrh) přesunout do další hodiny.
Osobní část. S výukou dětí jsem neměl zkušenost. Systém plní, k čemu byl navržen. Ale za jednu hodinu se plný potenciál využít nedá: třída nebyla zvyklá na tento styl, vysvětlování zabralo víc času než úlohy. Žáci se báli klikat, aby něco nezkazili – paradox: sandbox je tu proto, aby se bát nemuseli, ale tu jistotu si musí nejdřív odžít. Poučení: úvodní hodina o principu „nic nezkazíš“ a rozdělení úloh do více hodin.
Závěr
- Vymezena nová kategorie: edukační IS – doménově věrný, otevřený, sandboxový, vícevrstvý
- Funkční prototyp Edu Stack IS + tři pracovní listy s klíčem pro učitele + dotazníky
- Pilotáž potvrdila: prožitek role vede k pochopení oprávnění; simulace je srozumitelná a motivační
- Další rozvoj: pilotáže na SŠ a 1. stupni, více škol, listy k bezpečnosti a GDPR, mobilní rozhraní, komunita učitelů
- Kód je otevřený na GitHubu (github.com/edustack-is) a k systému vznikl doprovodný web is-edustack.org
Děkuji za pozornost. Informační systém nemusí být ve škole jen administrativní nutnost – může být pomůckou, na které si žák digitální svět sám postaví.
Shrnutí: vymezil jsem kategorii edukačních IS, postavil prototyp s metodikou a ověřil ho ve výuce; pilotáž tento předpoklad podpořila. Další rozvoj: SŠ a 1. stupeň, více škol. Kód je otevřený na GitHubu pod organizací edustack-is a k systému jsem připravil doprovodný web is-edustack.org s dokumentací pro učitele. Děkuji za pozornost, rád odpovím na otázky.
Limity práce a reakce na posudky · doplňující slide k diskusi
Ověření jen na 2. stupni ZŠ
SŠ a 1. stupeň zůstaly neověřeny. Návrh: SŠ pilotáž se 3. listem na odborné škole (ER diagram, API), 1. stupeň zkrácený list „role jako pohled“; přesný popis vzorku a podmínek.
Kurikulární analýza a rešerše
Práce staví hlavně na RVP ZV; RVP G a SOV nejsou rozebrány samostatně a mapování materiálů má typologický charakter. Beru jako podnět pro rozšíření.
Dotazník „standardizovaný“
Přesnější je vlastní strukturovaný dotazník; pedagogický dotazník byl připraven, jeho výsledky nejsou v práci prezentovány.
Rozpor v popisu MCP
Autorizace je vynucována v backendu: každý MCP nástroj volá REST API s oprávněními uživatele dané AI relace; samotná MCP vrstva guard neobsahuje. Formulaci v klíči listu je třeba sjednotit.
Otevřeně k limitům. (1) Ověření jen na 2. stupni; SŠ pilotáž na odborné škole s 3. listem, přesný popis vzorku. (2) Kurikulární analýza – hlavně RVP ZV, gymnaziální a odborné kurikulum si zaslouží samostatné zpracování. (3) Dotazník – správně „vlastní strukturovaný“. (4) MCP: autorizaci vynucuje backend – MCP nástroj volá REST API s oprávněními uživatele dané relace, MCP vrstva sama guard nemá.