3φ, aneb doháním restíky

(V minulém díle jste viděli…[1])

Jak se ukazuje, móda blogů o fakultě informatiky nejen, že neustává, ale dokonce pohlcuje i mladší ročníky.[2] A normálně jsem se začal cítit špatně, že moje poslední tři semestry zůstávají bez příslušných článků, protože na rozdíl od mých ostatních výplodů by to dokonce někoho i mohlo zajímat. Proto si zkusím co nejvíc vzpomenout na poslední rok a půl ve škole a k předmětům něco málo napsat. Jelikož moje paměť stojí za starou bačkoru, budou moje postřehy spíše stručné a nějakých obecných rad do studia se nejspíš nedočkáte. Berte to jako plus.

Čtvrtý semestr (jaro 2017)

(Tohle už bylo rok rozepsané, takže to až tolik stručné nebude.) Čtvrtý semestr byl velmi různorodý; na jednu stranu takový volnější, na druhou dost náročný; většinou zábavný, ale taky zabijácký. (Víceméně platí, že první z dvojice adjektiv platí pro výuku, druhé pro zkouškové. Jen „alkoholový“ se hodí k obému.)

Předmětů jsem měl tentokrát zapsaných velice málo. Se slzou v oku jsem zrušil zaregistrovanou švédštinu, protože ji (tentokrát už opravdu) neměla učit Molíková a celkově nepasovala do rozvrhu. Kasprzakův seminář ze správy Un*xových systémů se pro změnu nevypsal, na základy grafiky jsem se kvůli nepoužívání open source softwaru vykašlal a z Návalu 2 jsem radši zbaběle vycouval. Celkem mi zbyly předměty za 28 kreditů a k tomu divadlo, které jsem si však už podruhé zapsat jako předmět nemohl.

Kromě studia jsem se ale také poprvé ocitnul na druhé straně katedry a vedl cvičení předmětu PV112. Ten spočívá v (jakž takž) nízkoúrovňovém programování OpenGL aplikací. Byl jsem účasten všech pěti obtýdenních cé-plus-pluskových cvičení, z nichž nejbizarnější bylo to, kde jsme byli dva cvičící na dva studenty.

MB204 Diskrétní matematika B [8 kr, B]

Protože dbám rad doporučeného průchodu studiem (a především jsem se ve svém nerozumu nechal překecat Květinou), i zapsal jsem si další těžkou matiku. Na rozdíl od Lineárních modelů se zde béčkovitost neprojevuje jen na hloubce, ale i na šířce učiva. Chudáčci stočtyřkáři tak vůbec nebyli seznámeni s abstraktní algebrou;[3] no nepolitujte je!

Předmět má dvě přednášky a jedno cvičení týdně. Již v průběhu semestru se klasicky sbírají body za dvě vnitrosemestrálky a minipísemky. Ty se tentokrát psaly na každém cvičení, ale do hodnocení se z nich počítalo nejvýše pět bodů (které tak bylo snazší získat).

Ačkoli jsem byl v během semestru ohledně „datelnosti“ předmětu značně skeptický, podařilo se mi nasbírat 19,5 bodu z 20 potřebných na E. Zkoušková písemka taky nebyla zabijácká, mnohem větší obavy jsem měl ze zkoušení ústního. Aby ne, když z něj člověk s dostatkem bodů na B odešel s déčkem. Byl jsem však na řadě až téměř poslední, takže zkoušejícímu asi došla těžká témata s důkazy. Navíc už jsem měl k disposici opravenou písemku a mohl si rychle projít, co jsem pokazil. A vyplatilo se, Bulant se na to opravdu zaměřil.

IB016 Seminář z funkcionálního programování [2 kr, Z]

Pokud vám v podzimním funkcku přirostl Haskell alespoň trošičku k srdci, neváhejte se zápisem tohoto semináře. Dozvíte se, co znamená, že diagram komutuje a že „uhorka“ a „úhoř“ nemají společný základ. Jo a taky se naučíte trochu toho Haskellu a možná dokonce potkáte mytické bytosti, které ho reálně používají v práci! Ve vzácných (ačkoli letos třeba ne až tak vzácných) případech vám bude nabídnuto cvičit IB015.

PV264 Advanced programming in C++ [6 kr, A]

Jestli nepatříte k početné skupině, co se po kurzu C++ (PB161) cítí jako po výprasku, a zoufáte si, že vlastně nové C++ neumíte používat, je toto předmět pro vás. Čeká vás mimo jiné šablonové veselí, skupinkový projekt a code review. Konec konců se pokochejte sami. Hromada Indů, kteří to v půlce vzdají, už tam možná příště nebude. Solid 5/7, would enroll again.

IB109 Návrh a implementace paralelních systémů [4 kr, A]

Už delší dobu jsem přemítal nad tím, že jsem si měl zvolit obor paralelních systémů. V průběhu let (obou) se ukázalo, že v laboratoři paralelních systémů jsou fajn lidi a programuje se tam v C++. Umocněno blížící se potřebou mít na čem pracovat v rámci bakalářky, řekl jsem si, že se vydám tímto směrem.

I bylo třeba někde začít. A to v podstatě nejde jinak, než tímto předmětem. Měl jsem za to, že jsem prof. Barnata vychválil už v minulém článku, ale očividně ne. Takže zkrátka bezva přednášející, zajímavý předmět, ne-vyloženě-těžká zkouška.

Hned po skončení zkoušky jsem se šel zeptat do labu, co mám udělat pro přijetí. „Jediné, co musíš udělat, je vybrat si místo. … Aha, ono už je volné jen jedno. Tak budeš sedět tady.“ To je docela fofr, ale aspoň se nebudu o prázdninách nudit, že? (Spoiler alert: Ne, nebudu, protože mi vyšla letní stáž a v labu jsem tak byl přes léto nanejvýš dvakrát.)

PB138 Moderní značkovací jazyky a jejich aplikace [5 kr, A]

Z tohoto předmětu jsem moc vodvařenej nebyl, protože XML je těžce fuj. Součástí je skupinkový projekt, v němž spektakulárně kolidoval můj perfekcionismus s fušerstvím mých soudruhů. No, ale abych pohanil i sebe: pracoval jsem především na nejzazším backendu, a protože jsme měli volnou ruku ve volbě jazyka a platformy, stvořil jsem rozkošný bastl tří skriptovacích jazyků a symlinkové džungle. Nicméně konec dobrý – všechno dobré. Kromě obhajoby projektu (která vůbec nebyla adekvátní té spoustě odvedené práce) vás na konci čeká písemná zkouška – snadná, akorát toho psaní!

VB036 English II [2 kr, Z]

Prostě druhá ájina. Tímhle předmětem jsem takřka bezpracně proplul, takže si příliš podrobností nepamatuji. Jedinou prací byla příprava pětiminutové presentace na nějaké počítačové téma. Povídal jsem o zajímavostech Unicode. Osvědčilo se (jistému děvčeti, takže jsem to obšlehl) mít na projektoru minimum informací (jen nějaké doplňující obrázky, čísla, jména) a všechno vykládat zpaměti. Po odpřednášení následuje čas pro otázky publika, jež posléze na papírek napíše positiva vašeho projevu a věci, které by byly lze zdokonalit. Nadšení a energičnost očividně přebíjí i tu hromadu nesprávně vyslovených slovíček. Tutéž presentaci jsem použil i při zkoušce VB001, což zřejmě nejde u všech učitelů – Trumpešové-Rudolfové to nevadí, Zitovi (tuším) ano.

VB001 Specialist English [1 kr, A]

Prostě zkouška z ájiny. Easy peasy lemon squeezy. Toto stanovisko však zjevně není široce sdíleno, nebudu je proto rozvádět.


Pátý semestr (podzim 2017)

Kromě vypsaných předmětů mám od podzimu 2017 každý semestr zapsané ještě labové předměty celkem za 5 kreditů. O těch má ale ještě menší smysl psát. Jeden z nich je prostě jen „jsoucno v labu“ a druhý je seminář, který si může zapsat každý. Na něm každý týden jeden z účastníků presentuje nastudovaný článek z oblasti verifikace paralelních programů.

DUCIT Praktikum vedení cvičení [3 kr, Z]

Moje hvězdná kariéra cvičícího pokračovala i v podzimním semestru. Z nízkoobjemových cvik v grafice jsem přeskočil rovnou k těm olbřímím ve stěžejním Neimperativním programování. Předmět DUCIT, nazývaný většinou Teaching lab, má pomoci (nejen) začínajícím cvičícím s vedením výuky a reflexí nad učením. Velice ho doporučuji. Dozvíte se třeba jak správně klást otázky, naučíte se hodnotit svou výuku a hlavně se budete setkávat s jinými prvocvičícími i ostřílenými učiteli a vyměňovat si s nimi zkušenosti a nápady.

IV113 Úvod do validace a verifikace [4 kr, A]

Předmět (nejen) o testování, model checkingu a temporálních logikách. Jako všechny Barnatovy předměty je i tento skvostný (a nepíšu to jenom proto, že teď jsem v jeho laboratoři). Pro nejlepší hodnocení je nutno splnit oba domácí úkoly: naprogramovat převaděč LTL na býčíwas? automat a doplnit slajdy obrázkem. Čas na to máte až do zkoušky, která je netradičně ústní.

PB007 Softwarové inženýrství I [6 kr, A]

Předmět se řadí k tomu, co poeticky nazýváme „temnou stranou fíly“. Prosaičtěji řečeno jsou to prostě sračky. Malování diagramů, specifikácia požadaviek, procesy vývoje (nebo vývoj procesů?). Musím však vyzdvihnout, že Bühnová má hezky interaktivní přednášky – používá něco jako Kahoot, ale ne na čas, s možností zvolit více odpovědí, volnými odpověďmi nebo anonymními dotazy.

Na začátku semestru se rozdělíte do trojic, dostanete textový popis projektu (byl to nějaký webový portál) a zbytek semestru postupně modelujete různé aspekty onoho projektu pomocí UML diagramů. Nuda a utrpení. Zkouška sestává z odpovědníku a jednoho diagramu. Netřeba příliš zoufat, ukázka žádaného diagramu je přímo v zadání.

PV094 Technické vybavení počítačů [5 kr, A]

Polovodiče, sběrnice, periferie. Překvapivě dost se řeší fysikální jevy na pozadí (ale ne zas nějak extrémně). Jak se dá čekat, mnoho probíraných pojmů už je historií, ale zase je fajn mít představu, jak moc nebo málo se dnešní počítače liší od těch starších. Kvůli kolizi jsem nebyl na jediné přednášce, ale kombo slidy + Wikipedie + muny zde funguje znamenitě.

PV175 Správa systémů MS Windows I [4 kr, P]

Tohle jsem si opravdu nedal dobrovolně, ale zaměření mého oboru to bohužel vyžaduje. Moje nenávist k Windows byla jen utvrzena (ačkoli nějaký ten světlý bod mi tento předmět ukázal). Předmět má formu on-line kursu s průběžnými odpovědníky. K disposici máte slidy, videa a virtuální mašinu.

Oproti minulým letům byl předmět zjednodušen (možná raději říci odsviněn). Odpovědníky je nyní lze skládat opakovaně a bez deadlinu; závěrečná zkouška má pak stejný formát (a plus mínus i otázky) jako odpovědníky, akorát na papír. Pověsti o pekelnosti tohoto předmětu tak již nejsou pravdivé.

PV227 Vykreslování na GPU [3 kr, P]

Pokračování předmětu PV112 (ten, co cvičím). Programuje se spousta shaderů – například rozmazání, zvýraznění hran, normal mapping – a třeba i částicové systémy a stíny. Na cvičeních se klasicky nestíhá, ale všechen boilerplate už máte k disposici a programujete tak jen to podstatné. Největší radost nejspíš budete mít z psychadelických efektů způsobených rozbitými nebo nedokončenými shadery.

Přes semestr máte za úkol vypracovat dva projektíky. My jsme dostali program se základní scénou a úkolem bylo přidat nebo upravit shadery a vykreslovací kód a dodat tak požadované efekty. Částečně se to dalo poslepovat ze cvik, zbytek se dal nastudovat z dokumentace a OpenGL wiki.

SBAPR Bakalářská práce [0 kr, Z]

Počet kreditů plus mínus odpovídal odvedené práci. Nicméně už jsem měl téma a přes semestr jsem se velmi zlehka šťoural v kódu model checkeru DIVINE, do nějž jsem měl v rámci bakalářky něco doimplementovat.

VB000 Základy odborného stylu [3 kr, P]

Pro mě zcela zbytečný předmět, ale program si ho žádá. Všechna ta typografická (natož pravopisná) pravidla jsem znal, ale někomu to může pomoci. Na přednášky jsem pro kolisi nechodil, na cvika jsem měl Hlaváčkovou a bez problému. Přes semestr máte napsat úvod bakalářky a její kapitolu o „zasazení do kontextu“. Doteď příliš nechápu, co to má vlastně být; pojal jsem to jako takový rozšířený a detailnější úvod a zjevně to stačilo. Vaše dílo vám bude následně vráceno k opravě s poznámkami, jichž jsem naštěstí příliš neměl, takže to šlo rychle.

p983 Tělesná výchova – Stolní tenis [1 kr, Z]

Tělocvik jsem si odchodil přes zkouškové a můžu jen doporučit. Příjemně to naruší stereotyp učení, zkoušek a prokrastinace a navíc jsem si trochu osvěžil řízení. V naší skupině byli úplní začátečníci (jako já) i značně pokročilí, ale každý si našel plus mínus vyrovnaného soupeře. Hlavně byli ale všichni prima a dost jsme se nasmáli. Nejzábavnější byla amerika a suplovací dny, kdy jsme místo pinecu stříleli na koš nebo si jen pinkali volejbalovým míčem. Rozhodně to bylo moc hezké zakončení semestru.


Šestý semestr (jaro 2018)

Poslední semestr bakalářského studia už, co se týče předmětů, o nic nešlo. Všechny povinné jsem měl splněné (kromě SBAPR), kreditů za studium víc než dost, takže i kdybych ty dva zapsané nedal, nic tak hrozného by se nedělo. Teda myslím, až tak detailně jsem to nestudoval, jelikož jsem vskutku neplánoval je nedát (rozhodně ne zároveň).

Jinak jsem měl opět zapsané labové předměty a navíc státnicové radosti: SBAPR Bakalářská práce za deset, SOBHA Obhajoba závěrečné práce a SZB Státní zkouška (bakalářský studijní program). Ty už jsou více méně pokryty v dřívějších článcích.

IV003 Algoritmy a datové struktury II [6 kr, B]

Chtěl jsem si zapsat předměty, které budou povinné na magisterském studiu, abych si je naddělal dopředu, ale nakonec to splňuje jen tento. Nával 2 was? navazuje na ten první třeba amortisovanou složitostí, Fibonacciho haldou a nějakými těmi grafovými algoritmy. Předmět má ještě děsivější pověst než jednička, a stejně jako v jedničce to není chyba předmětu. Přihlásil jsem se na pokročilá cvičení Nikoly Beneše a nelituji. Jen varuji, že skutečně nejsou pro každého, komu se zrovna hodí do rozvrhu (tupý čelověk neví, ale lidé vůkol něj ano).

Na rozdíl od Návalu 1 se vyžaduje i množství domácí práce – jsou zadány tři sady po čtyřech příkladech. Je dovoleno pracovat ve dvojici (zde patří poděkování Dvoru, bez nějž bych byl bezpochyby ztracen) a je vyžadováno použití LaTeXu. Zkouška je následně písemná. Áčko mi uteklo o tři body (z nějakých čtyř set padesáti), ale jelikož jsem jeden příklad nechal zcela prázdný, naprosto mi to patří.

PB173 Tematicky zaměřený vývoj aplikací v jazyce C/C++ [3 kr, P]

Zapsal jsem si skupinu „Writing a (Very) Small OS Kernel,“ zkráceně „bootovatelná věc“. Bylo to zábavné byť často náročné (port céčkové knihovny byl peklo), fascinující byť často frustrující (víte, jak blbě se ladí jádro‽) a úspěšnost myslím není nic moc. Ale pamatujete si to nadšení z prvního primitivního prográmku? Tak pocit uspokojení z věci, která nabootuje a spustí hello world v neprivilegovaném režimu, je alespoň dvakrát tak silný. Navíc jsem měl možnost něco málo napsat v jazyce symbolických adres a lépe si uvědomit, jak kurevsky těžkou práci má jádro a jeho vývojáři.


Tak, a to je z mého bakalářského studia všechno. Sečteno podtrženo to byla docela sranda. Nicméně zatím nekončím, takže se můžete těšit na opožděné shrnovače nadcházejících magisterských semestrů. Není moc pravděpodobné, že se jich dočkáte, ale těšit se můžete.

One thought on “3φ, aneb doháním restíky”

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *