Mám za sebou třetí semestr, což také znamená, že už jsem v polovině bakalářského studia. Třetí semestr je doba, kdy je dobré mít vybraný svůj studijní obor, protože tady se začínají lišit doporučené průchody studijním programem. Ještě před nástupem na FIT jsem měl představu, že budu studovat Softwarové inženýrství, praktický obor zaměřený na práci v týmu na reálných projektech.
Nakonec jsem se ale rozhodl pro obor Teoretická informatika. Proč? Nevěnuje se tu tolik času tomu, jak programovací jazyky a nástroje používat k tvorbě aplikací, ale spíše jak skutečně fungují a třeba i jak si vytvořit jazyk vlastní nebo rozšířit existující. Neučí se tedy věci, které mohou být jinak ještě než školu vystudujete, ale základy, na kterých to všechno stojí. Naučit se postavit něco nad tím už je pak podle mě záležitost samostudia a praxe.
[BI-AAG] Automaty a gramatiky → C
Z tohoto předmětu je mezi studenty asi největší respekt. Jeho cílem je seznámit s hierarchií formálních jazyků, gramatik, kterými se dají tyto jazyky zapsat, a výpočetních modelů, které tyto jazyky přijímají. Od konečných automatů, přes zásobníkové automaty až k Turingovu stroji. Nakonec základy teorie složitosti a vymezení problémů, které už počítač vyřešit neumí.
Zkouška se skládá z rozstřelu, písemné části a ústní zkoušky. Je to první předmět, u kterého je ústní zkouška povinná součást a neslouží jen k vylepšení známky. Je tedy potřeba opravdu dobře všemu rozumět, umět formálně zapsat, ale i vysvětlit.
[BI-DBS] Databázové systémy → A
Calkem jednoduchý předmět pro každého, kdo někdy pracoval s databází. Začne se uvedením formálního systému relační algebry, která poskytuje teoretický aparát, který je základem všech relačních databázových systémů. Hlavním cílem předmětu je pak naučit se jazyk SQL a vyzkoušet si návrh a implementaci databáze v databázovém stroji Oracle.
[BI-EFA] Efektivní algoritmy → B
První oborový předmět, pojmenoval bych jej spíše Datové struktury. Po zopakování polí a spojových seznamů jsme se vrhli na rozptylovací tabulky, binomiální a Fibonacciho haldy, vyvažované vyhledávací stromy (B–stromy, AVL a Červeno-černé stromy). Během semestru nás čekaly 3 domácí úlohy v Progtestu, při kterých jsme si některé struktury zkusili implementovat. Jsou to sice věci, které člověk neprogramuje každý den, ale hodí se vědět, díky čemu fungují indexy databází nebo file systémů.
[BI-EP1] Efektivní programování 1
Na povinných programovacích předmětech mi vadilo, že nikdy nebylo zveřejněno vzorové řešení. Člověk tedy skoro vždy za úlohy nějaké body získal, ale nikdy se vlastně nedozvěděl, v čem spočívalo efektivní řešení. A říká se, že nejvíce se člověk naučí právě čtením cizího kódu.
I z tohoto důvodu se mi tak líbil tento volitelný předmět. Každých 14 dní je zveřejněno několik úloh převzatých z mezinárodní programovací soutěže ACM. První týden je na každém, aby zkusil vyřešit, co zvládne. Poté jsou na přednášce vysvětleny principy možných řešení, včetně ukázky kódu, a zveřejněna vstupní data. Další týden je pak možnost za menší počet bodů úlohy dopsat.
[BI-SI1] Softwarové inženýrství 1 → B
Na začátku semestru jsme se rozdělili do týmů, ve kterých jsme si pak vyzkoušeli kompletní proces vývoje informačního systému od sběru a analýzy požadavků, přes návrh až po jeho implementaci. Pro některé studenty je to asi první zkušenost s prací v týmu, používáním verzovacího nástroje a vývoje nějaké reálné aplikace. Já si z toho odnesl jen seznámení s UML notací a potvrdilo se mi, že Softwarové inženýrství jako obor by pro mě nebyla šťastná volba. Většinu těhle věcí se člověk zvládne naučit sám, nebo během prvních pár dní práce ve firmě.
[BI-ZDM] Základy diskrétní matematiky → B
Oproti předchozím semestrům celkem pohodová matematika. Prochází se základy z různých oblastí matematiky, které se nám mohou hodit v jiných předmětech. Matematická indukce, teorie množin, binární relace, kombinatorika, rekurentní rovnice a základy teorie čísel.
[BI-3DT] 3D Tisk → A
Zábavný volitelný předmět, kde si zkusíte postavit 3D tiskárnu, naučíte se programovat parametrické modely v OpenSCAD a pomocí slicovacího nástroje Slic3r připravovat modely pro tisk. Po absolvování předmětu se vám otevřou dveře do 3Dprint Labu, kam si můžete přijít cokoliv vytisknout.
Abych to shrnul, třetí semestr mi přišel v mnohém jednodušší a zajímavější než druhý, ale nic není zadarmo. Pokud však něčemu věnujete dostatečný čas, i zprvu obtížná látka nakonec začne dávat smysl a všechno do sebe zapadne.