Jak probíhal semestr

Krátký pohled do zákulisí mého učení a snažení na výšce.


Pro připomenutí - jsem na aplikované informatice na Univerzitě Palackého, druhý ročník.

Semestr začal v pohodě, měli jsme klasické předměty jako Algoritmická matematika (teorie grafů), kam nikdo nechodil, protože máme dobré skriptum. Pak Softwarová laboratoř, což bylo vcelku jednoduché programování v C++ a zápočet nebyl o nic složitější, akorát byla povinná nějaká docházka. Dále jsme měli matematiku, analýzu. Limity, derivace, integrály… To všichni znáte, že jo? ;-) Poslední tři předměty už byly vesměs zajímavé: projektový seminář (programovali jsme nějakou složitější variaci dámy), Formální jazyky a automaty (regulární výrazy a takové věci) a nakonec Paradigmata programování (funkcionální programování).

Na projekťák jsem se docela těšil, konečně jsem programoval nějaký větší kus software. Probíhalo to tak, že si člověk na začátku semestru vybral jednoho ze šesti vedoucích, každý měl jinou variaci stolní hry dáma a někteří z nich měli i omezení na programovací jazyky. Já si nakonec vybral Obranu pevnosti, což byla hra, kde nebyly dámy (o to to bylo jednodušší), ale zase jsem měl složitější hrací desku (byla ve tvaru kříže). Celkově vzato to co do obtížnosti byl takový průměr. Byly tam ještě lehčí hry, ale i složitější. Programoval jsem to v C#, což je samozřejmě nejlepší programovací jazyk :-). Za zimní semestr jsme měli zvládnout naprosto korektní implementaci pravidel a funkční a “inteligentní” hru počítače (minimax - generování všech možných tahů do určité úrovně). Trochu mi na konci semestru vadila různá úroveň hodnocení jednotlivých projektů. Byli tam na jedné straně vedoucí, kteří kontrolovali každičký detail a na druhé straně se zapisovalo když se to alespoň bez chyby zkompilovalo… Já měl samozřejmě toho největšího puntičkáře :-). Ale v zásadě mi to nevadilo, alespoň mám tu zimní část dobře a ti, co neměli ani implementaci počítačového hráče, budou mít v letním semestru co dělat. Ale přišlo mi to trochu nefér.

Na začátku zkouškového jsem si vzal jako první na paškál matematiku. Kupodivu mě učení docela bavilo, protože mi to i vcelku šlo. Na přednášky a cvika jsem chodil, takže jsem si to spíš jen tak opakoval než že bych se to přehnaně moc šprtil. Učil jsem se zhruba pět dní, výsledkem byla jednička s pochvalou, že ani někteří matematici to mnohdy neumí tak dobře jako jsem to uměl já ;-). Písemná se mi tedy moc nevyvedla, ale na ústní jsem to naštěstí zachránil.

Druhý předmět byla Algoritmická matematika. To je takový předmět, na který se nechodí a učí se to ze skripta pro dálkaře. Bohužel v tom skriptu je to trochu ořezané, dálkaři to mají lehčí, takže ačkoliv jsme všichni uměli celé skriptum, dostala většina trojku, protože na zkoušce se vyskytly věci, které se braly na přednáškách, kam skoro nikdo nechodil. No co, trojka taky dobrá. Hlavně vzhledem k tomu, že jsem se na to učil asi odpoledne.

Další na řadě byly Formální jazyky a automaty. Hodně mrzký a hodně zajímavý předmět. Cvika byla v pohodě, možná nejzábavnější cvika, jaká jsme měli, ale přežít tříhodinovou přednášku, kde se od začátku do konce jedou definice a důkazy… Eh, to šlo špatně. Nakonec jsem ale byl na všech přednáškách kromě té poslední. Při učení jsme to spočítali na cca 70 stránek čistého textu, kde nebylo skoro nic jiného než definice a důkazy. Pro ilustraci jeden z těch delších důkazů, který nakonec byl na zkoušce. Když jsem přijel na koleje, tak mi spolubydla oznámil, že na písemce bude v praktické části jen konstrukce jakési tabulky, což jsem vůbec nevěděl, protože jsem nebyl na poslední přednášce, jak si vzpomínáte. A kdo neudělá praktickou, neudělal zkoušku. Takže jsme se to tak zhruba naučili a šli jsme tam. Původně nás bylo přihlášených deset, došlo nás tam pět. Udělal jsem to pouze já a to ještě za tři, zbytek vyházel. Nakonec jsem na sebe byl i trochu naštvaný, protože ta písemka nebyla těžká a kdybych nebyl °|°, mohl jsem mít dvojku, při štěstí i jedničku.

Paradigmata programování. Velice vtipný předmět, který jsem si nechal na konec. Brali jsme tam funkcionální programování v Lispu. Zajímavý předmět se zajímavých obsahem, ale bez jakýchkoliv učebních materiálů. Když jsem se začal učit, zjistil jsem, že kromě zdrojových kódů (celkem asi 1500 řádků v několika souborech. A 1500 řádků v Lispu je hergot hodně, asi jako 15 000 řádků v céčkových jazycích :-)) a nekompatibilních slajdů z loňského roku nic nemáme. Mluvilo se ještě o dvou anglických knížkách (které si člověk musel stáhnout z warezu…), ale i tam toho bylo hodně málo. Pokud člověk spojil chatrné zápisky z přednášek (přednášky nebyly zrovna zapisovatelné, spíš se dobře poslouchaly), staré slajdy a anglické knížky, měl materiály tak ke třetině toho, co jsme se učili. Bezva. Takže jsem strávil pár hodin koukáním do zdrojáků v Lispu a pak šel na zkoušku. Měla být ve středu, ale učitel byl nemocný a tak se zkouška přesunula na pátek. Nejdříve byla písemná část, ze které jsme museli dostat polovinu bodů, přičemž se bodíky strhávaly fakt za každou blbůstku. Celý bod z příkladu měl opravdu jen ten, kdo odpověděl maximálně správně. Po asi třech hodinách čekání učitel vyšel a že prý to dopadlo mimořádně špatně a nikdo to neudělal nejlepší výsledek byl 3,8 bodů ze čtyř potřebných (bylo celkem osm příkladů). Hmm, dobrý no. Já měl 3,7. Nakonec řekl, že na ústní vezme všechny, ale ti s menším počtem bodů to budou mít o to složitější. Já šel asi třetí, přede mnou šel človíček, který měl 3,8 bodů a neudělal to… Hehe. Ale šel jsem tam a zůstal jsem tam přes půl hodiny. Dusil mě celkem dlouho, furt jsem nemohl přijít na jednu banálnost, která mě napadla až na kolejích. Nakonec jsem mu tam napsal takřka z hlavy jedno hezké rekurzivní makro a dal mi to za dva. Štígro. Mimochodem nikdo jiný to od nás neudělal. Já těm svým spolužákům přináším smůlu, kromě algoritmické matematiky jsem zkoušku udělal vždy jen já, ostatní ne (i na matematice to ostatní dva nedali).

A to je všechno. Teď mám týden volno a pak zase další semestr…