Programování pro oktavány

Volitelný seminář z programování na GJS vede Adam Dominec.

Maturita z programování

Maturitní obhajobu můžeme chápat jako zkoušení na téma určené maturitním projektem. Projekt má hodnotu i sám o sobě, ale do velké míry slouží k tomu, aby mohla proběhnout obhajoba.

Volba tématu

Maturant si zadává svoje vlastní téma projektu. Tím je zaručené, že má chuť se mu věnovat a od začátku se aspoň rámcově vyzná, o co jde. Dostat zadání napsané od vyučujícího by nešikovně nastavovalo kontext, kdo vlastně pracuje.

Nakonec musí jít rozhodnout, jestli projekt funguje a splňuje svoje zadání. To vylučuje projekty s příliš jednoduchou vnitřní strukturou, jako by byl text nebo grafika, a s příliš vágním dopadem, jako mívají umělecká díla. Naopak ale není potřeba, aby projekt byl doslova programovaný; zrovna tak může být navržený, zapojený nebo třeba sestrojený. Ve sporných případech se vyučující radí s vedením školy, jestli je téma vhodné.

Zadání je nejlepší vymyslet před začátkem oktávy. Formálně se zadání odevzdává na konci pololetí, ale pragmatický student v tu chvíli popisuje už hotovou práci, a je to tak v pořádku.

Největším rizikem maturitní práce je, když se maturant rozhodne téma v průběhu oktávy změnit, nebo se vůbec nerozhodne. Mnohem bezpečnější je brát téma jako dané, i kdyby nadšení vyprchalo.

Nemilé překvapení si připraví ambiciózní student třeba i jedním zbytečně přidaným slovem v zadání. Formální zadání platí doslova, a pokud pak není splněné zcela, je nutné to u obhajoby vysvětlit.

Je na vyučujícím, aby u příliš vágně napsaného zadání vyžadoval upřesnění. Součástí obvykle bývá volba programovacího jazyka a knihoven a forma z uživatelského pohledu. Zadání má také naznačovat, na co bude v práci kladen důraz: například, jestli má jít o učebnici, o experiment nebo zda je práce placená třetí stranou.

Práce na projektu

Patří k věci průběžně práci diskutovat s vedoucím, i v případech, kdy se to nezdá nutné.

Dokumentace

Projekt potřebuje lidsky srozumitelné vysvětlení. Jde vlastně o tři sdělení, která ale je možné napsat podle potřeby pohromadě:

Protokol popisuje, jak práce probíhala, z jakých zdrojů vychází, co je výsledkem vlastní práce nebo vlastního výzkumu maturanta. Hrubou chybou je nezmínit, že některá část je vykopírovaná nebo generovaná robotem.

Uživatelská dokumentace je především návod, jak práci nainstalovat a spustit, jak ji ovládat a jak se pozná, že funguje. Tyto instrukce mají být úhledné a srozumitelné např. i pro maturitní komisi. Oponenta spolehlivě rozčilí, když se mu nedaří postupovat podle návodu a tím se mrhá jeho časem.

Programátorská dokumentace pomáhá oponentovi i vedoucímu se zorientovat ve zdrojovém kódu nebo obdobných souborech. Užitečná představa je psát pro znalého kamaráda, který by se rohodl v projektu za rok pokračovat. Ve skutečnosti je cílem popsat, jak projekt funguje, aby si oponent mohl naplánovat, podle čeho ji bude hodnotit. Stojí za to zmínit šikovné nebo neobvyklé postupy a radši rovnou vysvětlit blbá rozhodnutí, ať o nich nemusí být řeč při obhajobě.

Forma dokumentace není daná, ale má odpovídat kultuře, do které projekt patří. Do-it-yourself projekty na Githubu se prezentují jiným způsobem než patche do linuxového jádra, a obojí k tomu má svoje důvody.

Odevzdání

Projekt se odevzdává tím, že ho maturant prohlásí za odevzdaný, a v úplnosti ho dodá svému vedoucímu. Obvykle dva až tři týdny před začátkem maturity je stanovený deadline, a po jeho uplynutí se projekt považuje za odevzdaný tak, jak ho vedoucí má k dispozici.

Před deadlinem je rozumné si stanovit řádný termín odevzdání, trochu volnější, aby vedoucí stihl zkontrolovat, že nic nechybí.

Posudek

Nejpozději týden před obhajobou napíše vedoucí i oponent svůj posudek. Ten je stručný, protože zkušenost říká, že to tak všichni ocení. Týden, protože předseda komise musí šanci si posudky přečíst.

První půlka posudku shrnuje klady a případné zápory práce, aby se maturant i komise mohli zorientovat, podle čeho bude práce hodnocená. Bývá zvykem tuto část otevřeně přečíst během obhajoby, v úvodu diskuze.

V závěru se obvykle píše, práci doporučuji k obhajobě. Nedoporučit práci se sluší v situaci, kdy na ní není co obhajovat. Mohlo by se to stát kvůli technické chybě při odevzdávání, nebo při odhalení závažného plagiátu.

Druhá půlka jsou otázky. Ty určují, kam se bude diskuze zaměřovat. Očekává se, že se na každou z nich maturant připraví, jako kdyby se celá diskuze měla věnovat jen jí.

Obhajoba

Otázky během diskuze nemusejí zaznít tak, jak jsou psané. Naopak se očekává, že se tazatel bude doptávat na podrobnosti, a že maturantovu odpověď zkrátí ve chvíli, kdy podrobnosti nejsou pro hodnocení obhajoby potřeba.

Hodnocení

Práce splňuje zadání:

  1. v každém ohledu z převážné míry,
  2. ve všech důležitých ohledech z převážné míry,
  3. v hrubých rysech a v některých podrobnostech aspoň částečně,
  4. na úrovni konceptu a zřetelně vyjádřených plánů,
  5. méně.

Dokumentace vyjasňuje:

Úspěšná obhajoba: