text: Martin Mareš: "Programování souvisí s kultivací myšlení. Dává poměrně přímou a drsnou zpětnou vazbu."
  Martin Mareš učí na Matfyzu matematiku a informatiku, bádá na poli vědy a pomáhá organizovat několik významných informatických soutěží, jako je například Korespondenční seminář programování. Informatické myšlení podle něj nepřišlo s programátory, ale používali jej už ve středověku řemeslníci. Vracíme se pouze k tomu, co fungovalo kdysi.
  Jak ses dostal k programování a informatice? Až na studiu nebo mnohem dříve?
  Já jsem informatiku studoval, ale vždycky jsem míval široký záběr. Když jsem dokončoval gymnázium, váhal jsem, zda jí studovat matematiku, nebo informatiku, nebo lingvistiku. Nakonec si mě přitáhla informatika na Matfyzu tím, že měla nejvolnější studijní plány, takže jsem si k informatice mohl přidat přednášky i z jiných oborů. Vždy mě odmala bavilo věci zkoumat a snažit se pochopit, jak co funguje.
  Ale už na gymnáziu jsem se přesunul k informatice, hlavně k praktické – tzn. jak fungují počítače uvnitř, jak fungují operační systémy, jak se programuje v nejrůznějších jazycích. A od toho jsem pak na univerzitě na Matfyzu postupně obracel k teoretické informatice. Teprve tam jsem se dozvěděl, čím se doopravdy teoretická informatika zabývá, a uvědomil jsem si, že je to moc pěkná věda.
  Víš, co znamená informatické myšlení?
  Neřekl bych, že vím, co je informatické myšlení. Ale řekl bych, že už ho roky provozuji. Informatické myšlení vůbec nepřišlo s programátory, ale už jej používali ve středověku řemeslníci. Já bych to asi spíš než informatické myšlení nazval myšlení konstruktivní. Uvažování o tom, jak věci vytvářet.
  Primárně jsem teď učitel, učím informatiku a matematiku na Matfyzu. Zabývám se trochu vědou a snažím se posouvat hranice poznání dál, ale úspěšnější jsem jako učitel než jako badatel.
  A na čem teď pracuješ na poli vědy?
  Momentálně bádám na poli dynamických grafových algoritmů. Ale pořád si nechávám nějaký čas
  na programování, abych nezůstal odtržený od praxe. Potřebuji k životu střídat témata.
  Do toho organizuji několik informatických soutěží, tak se to krásně doplňuje a dá se to dělat vše najednou.
  Můžeš mi o soutěži říci více a představit mi Korespondenční seminář programování (KSP)? Vím, že je to soutěž pro základní a střední školy a úspěšný student se dokonce může dostat bez přijímacích zkoušek na Matfyz.
  Ano, to je pravda. Současný ročník je 32. Já jsem začal pomáhat s organizací v 7. ročníku. Zúčastnil jsem se semináře i jako středoškolák. KSP je primárně organizován studenty Matfyzu, úlohy často vymýšlí i bývalý studenti Matfyzu. Já jsem oficiální vedoucí semináře a občas nějaké úlohy vymýšlím, opravuji atd.
  Během školního roku je několik sérií. V každé sérii vypíšeme úlohy a účastníci je pak řeší a pošlou nám řešení. My ho obodujeme, ale co je mnohem důležitější, že ho okomentujeme a vrátíme zpět. Účastník postupně sbírá body za svá řešení během celého roku a dá se připojit kdykoliv v průběhu. Zajímavější odměnou než odpuštění přijímacích zkoušek na Matfyz je, že nejlepší řešitele zveme na týdenní soustředění. Zde je čeká odborný program, přednášky a workshopy a nejrůznější hry. Vše je zaměřené hlavně na informatiku, ale má to přesah i dál.
  Může se do KSP zapojit i úplný začátečník?
  Posledních pět let máme i kategorii pro začátečníky, která se snaží kompenzovat to, že se informatika pořádně na našich školách neučí. Úroveň hlavní kategorie je poměrně vysoká a začátečníci tam nemají velké šance. Před časem jsme zavedli i to, že některé úlohy mají jednodušší verzi za menší počet bodů, kterou by zvládli i začátečníci.
  Ke KSP máme také studijní materiály, online kurz základů programování. Těm, kteří by chtěli v programování nějak dál pokračovat, může pomoci i naše knížka, kterou jsme napsali s Tomášem Vallou. Jmenuje se Průvodce labyrintem algoritmů a kromě toho, že se dá koupit v knihkupectví, dá se také stáhnout jako PDF.
  Soustředění, o kterém jsi mluvil, je pouze pro úspěšné řešitelé KSP?
  Máme jarní a podzimní soustředění a souvisí to s tím, že máme dvě kategorie, tu hlavní a začátečnickou. Podzimní soustředění je primárně za odměnu pro nejlepší řešitelé té hlavní kategorie. Jarní soustředění naopak primárně pro začátečníky a tam se může přihlásit kdokoliv, byť upřednostňujeme úspěšné účastníky začátečnické kategorie.
  Bude to také třetím rokem, co spolupracujeme s Boříkem informatiky. Tuhle spolupráci podporuje Nadace RSJ a díky tomu nabízíme nejlepším řešitelům finále Bobříka jako odměnu bezplatnou účast na našem jarním soustředěním. Je to i takový můstek od Bobříka k pokročilé informatice.
  Co je hlavním cílem KSP? Příprava budoucí studenty na Matfyz, ale také vzbudit zájem o programování u začátečníků?
  Ono těch cílů je víc. Jeden z hlavních cílů je nalákat středoškoláky ke studiu informatiky, nejlépe u nás na Matfyzu. Hlavně ale chceme ukázat, že informatika je krásná věda, že se v ní dá dělat spoustu zajímavých věcí. V informatice je toho mnohem víc, než co člověk potká při prvním setkání, není to jen mechanické programování. Chceme dát lidem základní rozhled v oboru. Následně těm, které to zaujalo, dáváme možnost se v oboru rozvíjet.
  Dále jim ukázat, kde se dají získat informace – ať už v našich vlastních studijních materiálech nebo odkazovat na další. Nabídnout začátečníkům odrazový můstek, aby mohli odněkud do oboru nastoupit. Celé to má i sociální rozměr. Dáváme možnost žákům a středoškolákům se zájmem o informatiku poznat se navzájem. Zájemců o informatiku na každé škole je maličko, když pominu školy se zaměřením. Velmi pomáhá, když se zájemci mezi sebou potkají, mohou si vyměnit zkušenosti nebo něco začít dělat společně.
  Když se vrátíme k tomu komentáři, který dáváte jako zpětnou vazbu k řešení úloh. Četla jsem, že i řešitel k úloze musí sepsat slovní komentář a učí se tak umět problém i logicky a co nejjasněji popsat.
  Právě. Většina úloh je vymyšlená tak, že to co účastníci odevzdávají, není jen program, ale mnohem důležitější je povídání o něm. Umět popsat, jakým způsobem jsem úlohu vyřešil a přesvědčit čtenáře, že to funguje. To často není samozřejmost. Takže součástí je i uvažování o tom řešení a rozmýšlení, proč je to správně, proč zrovna tento způsob je efektivnější než jiné možné způsoby a podobně.
  Ve skutečnosti mnoho studentů, co v soutěži začíná, umí programovat, ale je pro ně nejtěžší něco o tom sepsat. Když už se ale člověk donutí o tom psát, daleko lépe si utřídí myšlenky a naučí se o problému mnohem lépe uvažovat.
  Často je lepší si nejdřív rozmyslet, jak na konkrétní problém vlastně chci jít a co bych tak o tom napsal. A teprve, když v tom mám dostatečně jasno, tak si sednu k počítači a napíšu program.
  Neuvěřitelně frustrující zkušenost je, když člověk něco narychlo vytvoří, ale potom to musí hodiny a hodiny opravovat, aby to začalo fungovat. Prostě věci, které jsou špatně rozmyšlené, fungovat nebudou. Proto je lepší si nejdřív v klidu popřemýšlet, co vlastně chci dělat. Pak sednout k počítači a ten sepsaný program třeba hned napoprvé funguje správně.
  Od kolika let se může student přihlásit? Od okamžiku, kdy má ve výuce informatiku?
  S tím to vůbec nesouvisí. Spíš jde o osobní zájem. Ale je pravda, že nejmladší účastníci jsou u nás z druhého stupně základních škol.
  Vím, že organizuješ také informatickou olympiádu. Pro koho ta je určena? V čem se liší od semináře?
  Součástí matematické olympiády je také informatická kategorie. A to je soutěž podobného druhu – účastník uvažuje nad informatickými úlohami, o kterých něco napíše nebo odevzdá funkční program. Tato soutěž se organizuje se slovenskými kolegy, máme společné úlohy. Na tuto soutěž navazuje pak na mezinárodní úrovni Mezinárodní informatická olympiáda, kterou také pomáhám organizovat.
  Do matematické olympiády se může přihlásit každý středoškolák nebo školák základní školy. Do mezinárodních kol pak musí účastník postoupit.
  Přihlásit žáky ale musí učitel?
  My učitele úmyslně obcházíme. Rádi spolupracujeme s učiteli na školách, kde jsou zapálení pro tento obor, ale jinak to na to nespoléháme. Takže oslovujeme rovnou studenty a přihlašují se online a úlohy se pak také online odevzdávají.
  Jaký je tvůj názor na dnešní výuku informatiky na základních, středních školách?
  Přijde mi, že skoro žádná není. Když pominu jednotky škol v republice, kde se nějaký volitelný předmět informatika provozuje, tak to, co většina studentů z informatiky potká, jsou spíše chabé náznaky a ozvěny než pořádné nahlédnutí do oboru.
  A co by mělo být obsahem?
  Představuji si, že by se student například se psaním na počítači setkal v tom předmětu, kde opravdu něco na počítači napsat potřebuje. Aby si zvykl na to, že počítač je nástroj, který pomáhá v běžných lidských činnostech a že v informatice by se měl učit nějakému informatickému uvažování. Je plno přístupů, které dávají smysl, a je těžké vybrat jeden nejlepší.
  Nejsem si ani jistý, zda má být samostatný předmět informatika. Obecně to dělení na školní předměty je škatulkování vědy. Což zajisté dělá vědu popsatelnější, ale bohužel dost uměle. Mezi matematickým a informatickým uvažováním je ohromná spousta souvislostí a není vůbec jasné, jestli jsou to dva způsoby uvažování, anebo jen jeden, který se v různých kontextech různé projevuje. Není mi jasné, zda je správná cesta vyučovat informatiku jako samostatný předmět, nebo zda naopak předměty více slévat dohromady.
  Například když jsem já chodil na gymnázium (a mám pocit, že toto je pořád stejné), tak jsem se vlastně učil dějiny třikrát. Jednou v dějepisu, pak v literatuře a pak dějiny umění v hudební výchově. Bylo absurdní, že tyto tři pohledy na dějiny nebyly nijak propojené. Toto je důvod, proč mě dějiny nezajímaly a našel jsem si k nim cestu až na Matfyzu přes nádherný rozhlasový pořad Toulky českou minulostí. Ten na to jde opačně. Vždy vybere nějakou doba a o té vypráví celkově. Nejen o tom, jak se střídali vládci a že se konaly bitvy, ale i o tom, jak se v té době žilo. Tohle je mnohem smysluplnější pohled na dějiny lidstva.
  Podobně by mohlo dávat smysl učit celkově přírodní vědy. Problém je, že nejspíš nemáme skoro nikoho, kdo by to takhle uměl učit. Dnešní stav vnímám jako určitý přechodový stupeň, než že bych byl přesvědčený, že takto má výuka vypadat.
  Takže jsme teď v nějakém přechodovém období a hledáme, jak správně učit?
  Určitě. Ale i ve vzdělávacím modelu, ve kterém jsou oddělené předměty, může schopný učitel přesahy do sousedních předmětů ukazovat. Tohle funguje docela pěkně u nás na Matfyzu. Máme výuku rozdělenou na předměty klasickým způsobem, ale spousta vyučujících má široký rozhled, takže ve svém oboru ukazují souvislosti do mnoha dalších.
  Co Tě tolik baví a fascinuje na programování a informatice?
  Obecně přírodní vědy formují myšlení člověka zajímavých způsobem. Zvlášť, když je člověk provozuje prakticky, například programuje. Chyby vždycky vyjdou najevo a nelze je okecat. Program buď funguje nebo nefunguje. Občas je to nevděčná činnost, protože ta bídná mašina ne a ne pochopit, co jsem chtěl udělat. Jenže ve skutečnosti to není problém mašiny, ale mých vlastních neuspořádaných myšlenek. Je to proces kultivace myšlení, který stojí za to dělat už proto, že matematika a programování dávají člověku poměrně přímou a drsnou zpětnou vazbu.
  Také mi vždy bylo mezi matematiky a obecnými informatiky (zvlášť teoretickými) dobře. Téměř všichni, koho jsem v tom oboru potkal, byli lidé velmi upřímní, poctiví a pokorní. Pak jsem si uvědomil, že k tomu studiu takového oboru člověka nutně vede, protože mockrát narazí na to, že to co vymyslel, je špatné a nefunkční, a tím se naučí klidu, pokoře a poctivosti.
  Co se týče vzdělávání informatiky a programování, máš nějaké přání?
  Byl bych rád, kdyby mnohem víc studentů mělo alespoň základy tohoto oboru.
  Hodí se v jakékoli lidské činnosti. Je to přístup, který už řemeslníci ve středověku znali a používali a už mnohem dřív. Neděláme nic zásadně nového, děláme věci, které dobře fungovaly už před dvěma tisíci lety.
  Je zajímavé si uvědomit, že spousta lidí, kteří dokonce programují, vůbec neuvažují tímto způsobem nebo tak uvažují jen okrajově. Například v podnikání je potřeba uvést nějaký program/mobilní aplikaci co nejrychleji a s co nejmenšími náklady na trh. Jenže špatně zvolený průmyslový přístup často vede k tomu, že se věci dělají hrozně nepořádně a nad tím by opravdový informatik zaplakal. Zde by se informatické myšlení opravdu hodilo použít.