Druhý semestr na FIT ČVUT: The Second Sort

Konec prvního semestru a zkouškové nakonec zas tak hrozné není. Je to prostě spíš jen šok. Obzvlášť pro středoškoláka, který se nikdy nesetkal s vysokoškolským zkouškovým. Maturita mi v tuhle chvíli připadá jako směšně jednoduchá záležitost. Ale definitivně se to s trochou odhodlání dá vysedět a naučit. Z kamarádů z původního kruhu spolužáků nás zbyla asi polovina.

Jelikož jsem první semestr začal až s moc dobrým prospěchem, plánem na druhý semestr bylo dělat jen to nejnutnější, jet na D až E a mít více volného času. Tato taktika se definitivně moc neosvědčila a obecně bych ji nedoporučil. Plán jsem dodržel, ale jen co se známek týče. Zbytek semestru byl totiž celkem no-life. A smysl pro to, proč mít dobrý prospěch (s výjimkou stýpek a případně zahraničního stipendia), jsem zatím opravdu nezjistil.

Druhý semestr má nakonec ale i pověst toho nejvíc hardcore, co se dá na FITu zažít. Sice jsme letos neměli na rozdíl od kolegů před několika lety navíc i obávané OSY, ale i tak se sejde několik semestrálek, zápočtovky z lingebry, otravné úlohy do SAPů a k tomu ještě volitelné předměty. Na konci semestru je toho pak fakt hodně. Získat zápočty z jednotlivých předmětů mi nepřišlo ani zas tak těžké. Je potřeba ale neustále dělat domácí úlohy, progtesty a semestrálky, a ideálně si moc nikdy neoddechnout.

BI-PA2 [Programování a Algoritmizace 2]

Po PA1, které se rozjíždí celkem pozvolně jednoduchými úlohami je Programování a Algoritmizace 2 skokem po hlavě do bazénu C++. V předchozím semestru se do hloubky probral programovací jazyk C a cílem PA2 je obeznámit studenta s krásami C++. Na jednu stranu je to bohužel mnohem více kódování a méně vymýšlení algoritmů, na stranu druhou se dá již využívat objektové rozdělení do tříd a v některých případech i STL (Standard Template Library). Právě ta obsahuje i vychytávky jako Vektor (automaticky rozšířitelné pole), nebo Mapu (Key Value hashmap), což je najednou super, když ve většině úloh není potřeba debutovat svoje chyby ve správě paměti rozšířitelného pole. V průběhu semestru se opět setkáváme s Progtestem – automatickým testovacím systémem, který je naprosto nekompromisní k jakýmkoliv odchylkám od očekávaného výsledku. Nedá vám navíc body ani pokud vaše řešení není dosti efektivní, nebo pokud po sobě váš program nesmaže alokovanou paměť. Pro zápočet je potřeba získat dostatek bodů za Progtestové úlohy, teoretické testy z programátorských chytáků, a na konci i semestrální práci. Právě ta byla náplní konce mého semestru. Požadavkem byla práce o délce minimálně 1000 řádků, která bude efektivně využívat C++, splní zadání, a nebude leakovat.  K tomu všemu je potřeba navíc Makefile (pro mě asi ta nejotravnější část) a v Doxygene vygenerovat dokumentaci k celému projektu. Mým zadáním bylo naprogramovat klon Asteroidů v STL a rozšířit ho o upgrady zbraní a o ukládání skóre. Na semestrálce jsem makal týden před koncem semestru celkem nonstop, vytvořil kolem 2000 řádků kódu, a zajímavou hru, kterou si můžeš zahrát i ty! (pokud se ti podaří ji zkompilovat). Práce se sice nemusí odevzdávat do konce semestru, ale cvičící slibovali, že na nás budou hodní. Doufal jsem, že o zkouškovém se budu věnovat měsíc spíše než dodělávání semestrálek lineární algebře. Předmět byl podobně jako PA1 velice přínosný. Naproti PA1 mě ale bohužel moc nebavil. Úlohy byly delší, ale mnohem méně o vymýšlení algoritmů a mnohem více o tom, proč mi tahle součást STL nefunguje, nebo proč je zakázaná, a já to musím stejně vymýšlet.

BI-DBS [Databázové systémy]

Předmět DBS si klade za cíl obeznámit nás se základy databází. Začíná se teoreticky relační algebrou. Postupně se ale proberou i tvorba relačních schémat a transformace konceptuálních schémat do relačních. Semestr zakončujeme úvodem do jazyka SQL. DBS je složen z přednášek jednou týdně, které byly celkem zajímavé, proseminářů, kde se probírají praktické stránky správy a tvorby databází a cvičení jednou za 14 dní. Jejich cílem je konzultace ohledně práce na semestrální práci. Jako semestrálku jsem si vybral vývoj databáze pro správu klubu orientačního běhu. Celá práce je rozdělena na několik dílčích kontrolních bodů v průběhu semestru, které donutí studenta začít včas pracovat. Za každý se dají získat body. Na konci semestru se pak píše i zápočtový test ze znalostí nabitých za první půlku semestru. Semestrální práce nebyla nijak extrémně těžká, ale poslední kontrolní bod už zabral celkem dost času. Dělal jsem na něm asi tak 24 hodin non-stop a s přehledem jsem ho stihnul. Budu se opakovat, ale znalost databází je v dnešní době jistě esenciální součástí švýcarského nože dovedností, které by měl každý programátor ovládat. Práce s databázemi a jejich vývoj mě bohužel šíleně nebavil. Neumím si představit živit se správou databází.

BI-SAP [Struktura a Architektura počítačů]

Arduino mě vždycky bavilo, tak jsem si říkal, že základy hardwaru se budou hodit. Jenže realita byla jiná. SAPy navazují volně na BI-CAO, což byla flákačka a ani SAP nemá pověst obtížného předmětu. Body pro zápočet se získávají na cvičeních – buď za plnění úloh za semestru, nebo za zápočtové testy. Kdo nasbírá dosti bodů, nemusí psát zkoušku a získává z ní automaticky za A. Na tuto metu jsem nemířil. Tedy z počátku ne. Úlohy jsou na začátku semestru z programování logických hradel FPGA v programu Xylinx. To jsem nesnášel. Když jsem viděl zadání, rval jsem si vlasy, že na Arduinu bych to zvládnul asi tak na 3 řádky. Říkal jsem si, že body navíc nechci a budu se snažit jen proplouvat. V druhé půlce semestru se začne probírat assembler. To je alespoň celkem užitečné. Na konci semestru jsem trochu zalitoval, když jsem zjistil, že zkouška není až tak zadarmo a většina mých kamarádů má za A. Každému, kdo tedy nechce mít s tímto otravným předmětem trable, doporučuji najít si kamaráda, který opakuje, nebo který má rád hardware ze stejného cvika a (například v mém případě za pomoc s Progtestem) od něj už od začátku potají outsourcovat domácí úlohy a nafarmit si tak body. S tímto jsem začal až moc pozdě a na A ze semestru mi chybělo asi 8 bodů. Zkouška nebyla těžká, ale na získání známky jsem se učil 2 dny.

BI-LIN [Lineární algebra]

Největší strašák druhého semestru a vlastně i celého studia. Tedy alespoň pro mě. S matematikou jsem sice neměl nikdy moc problém, a ZMA (Základy Matematické Analýzy) v prvním semestru mě celkem bavily, ale lineární algebra je děsivý pojem sám o sobě. Tento předmět má opravdu asi nejmenší průchodnost na celém FITu. Myslím, že tak polovina spolužáků na mém cvičení ho opakovalo. V průběhu semestru se píšou celkem 2 zápočtové písemky. Získat zápich nebylo pro mě vzhledem k praktickému zaměření testů moc obtížné. Je potřeba vyplnit i povinný kvíz, který testuje vaši znalost teoretických otázek, ale na jeho zvládnutí máte hodně času a neomezené množství pokusů. V semestru to rozhodně nechce podcenit. Na druhou stranu, pokud se vám povede dobře první písemka, jste už vysmátí a zápočet máte více-méně jistý. Zkouška je koncipována v poměru 66% teorie / 34% příklady. Tedy nic pro mě. Zkoušku jsem si zapsal až jako poslední ze všech s tím, že budu mít v případě neúspěchu i další 2 pokusy do konce semestru. Vyhradil jsem si na studium 2 týdny, ale první týden jsem odpočíval, a začátek druhého raději sportoval. Takže by se dalo říct, že jsem studiu věnoval nakonec „jen“ asi 4 dny full-time studia. Šel jsem to zkusit s tím, že alespoň uvidím, jaké to je. Ale dopadlo to na prváka! Takovou radost jsem z úspěchu u žádné zkoušky ještě neměl. Takže je vidět, že když přeje štěstí, dá se zvládnout i lingebra a zas takový hardcore to taky není. Obecně vzato mě předmět bavil. Nehledě na to, že lineární algebra má široké využití například v programování grafiky, což se prostě hodí umět.

Katedra aplikované matematiky

BI-EHA [Etický hacking]

Tento předmět jsem si vybral jako volitelný, a popravdě mě tento semestr asi bavil nejvíc ze všech. Cílem kurzu je seznámit studenta s užíváním Kali Linuxu, s běžnými praktikami testování bezpečnosti nejen webových stránek ake i Androidu, operačních systémů i data forensics. Předmět vyučují odborníci z oboru a měl jsem k nim respekt. V semestru se nepsaly zápočtové testy. Cílem bylo vytvořit report o bezpečnosti některé ze školních služeb. Můj team složený ze 3 lidí se ale bohužel rozpadl (ostatní 2 neměli na konci semestru čas). Já jsem semestrálku chtěl řešit na konci semestru, a vzhledem k tomu, že jsem lingebru napsal celkem rychle, měl bych i čas. Bohužel ale kvůli personálním změnám nefungoval správně školní DNS server a tudíž ani náš testovací mirror pro penetrační testování. Na zprovoznění jsem čekal 2 týdny, a když služba nebyla opravena ani tak, předmět jsem po vzoru mého týmu nedokončil. Musím ale poznamenat, že mi cvičící chtěli vyjít vstříc, ale já měl na konci zkouškového jiný program a začínat s jiným tématem se mi vůbec nechtělo. Hacking mě velmi bavil, a doporučil bych ho každému, kdo se zabývá bezpečností počítačů. Líbilo se mi, že jsme dokázali probrat opravdu široký okruh aplikací etického hackování.

All memes by FITMeme.

One thought on “Druhý semestr na FIT ČVUT: The Second Sort”

Napsat komentář: Josephnib Zrušit odpověď na komentář

Vaše emailová adresa nebude zveřejněna.