Blog.nechutny.net

Blog o webu a IT.

Zhodnocení 4. semestru na FIT VUT v Brně

4. semestr

Bude to nedávno, co jsem na FIT nastupoval a již mám za sebou 2/3 absolvované. Již si dohaduji zadání bakalářské práce, ale i přesto nadešel čas na sepsání postřehů a pocitů z dalšího semestru.

ICP - Seminář C++

Za bakalářské studium na FITu je třeba absolvovat alespoň jeden povině volitelný technický předmět (PVT) a právě jedním z nich je ICP. Další možností je Java, nebo VHDL, takže pro mě bylo C++ jasnou volbou.

Jedinou hodnocenou částí předmětu je projekt, jehož zadání je stejné i pro Seminář Java (IJA). Letos se jednalo o implementaci počítačové verze deskové hry Labyrinth. Projekt je určený pro dvojice s možností samostatného řešení. Pro grafické rozhraní je zadáno použití Qt, zdrojové kódy mají být komentovány pomocí doxygen. Projekt jsem řešil ve dvojici a celková časová náročnost byla kolem 25 hodin. Výsledná aplikace je se zdrojovými kódy dostupná na Githubu.

Předmět hodnotím velmi kladně i přesto, že jsem na přednášky z časových důvodů nedocházel - prolistoval jsem alespoň v rychlosti slajdy. Předmětu bych jen vytkl pouhý zápočet. Myslím, že mnohem lepší by byl klasický klasifikovaný zápočet, kdy by záleželo na počtu získaných bodů a více by to motivovalo. Pouhé získání zápočtu je poměrně hračkou. Druhou a asi závažnější výtkou je pak absence jakékoliv odezvy z hodnocení projektu. Přijdou vám body, ale bez jakékoliv informace co se nelíbilo a za co jsou případně strženy. Po zkušenostech z předmětu IJC - Jazyk C, který má stejný přednášející jsem očekával stejně podrobné hodnocení.

Hodnocení: 7/10

IDS - Databázové systémy

Zajímavě koncipovaný předmět hlavně tím, že během semestru je celkem 5 projektů, které na sobě postupně staví. V podstatě se tím nahrazují cvika.

První částí je návrh struktury databáze pro projekt. Varianty jsou stejné, jako projekt v IUS a tak pokud jste jej vypracovali správně, tak máte ERD, podle kterého jen vytvoříte tabulky. První část zahrnuje také obhajobu vámi zvoleného řešení, kdy během 5 minut odpovíte na případné dotazy. - "projekt" 1 a 2

Druhou částí je naplnění databáze daty a vytvoření různých selectů dle zadání - daný počet joinů, agregační funkce apod. SQL se pouze odevzdává a již nijak neobhajuje. - "projekt" 3

Třetí částí je tvorba "pokročilých databázových objektů" - triggery, procedury apod. Dále pak návrh indexů, které povedou k zrychlení dotazů. Navrhnutou optimalizaci je třeba zdokumentovat spolu s triggery a zdůvodnit dosažené zrychlení - ukázky z explain před a po vytvoření indexů. Tato část také zahrnuje finální obhajobu. - "projekt" 4 a 5

Další body je možné získat na půlsemestrální zkoušce, která je hodnocena poměrně přísně, protože nestačí pouze napsat fungující select dle zadání, ale je třeba i trocha telepatie, abyste odhalili způsob řešení, který zadávající chtějí. Stejné je to pak u semestrální zkoušky. Volba Oracle DB (stížnosti by vydaly na celý článek) a tohoto způsobu hodnocení zkoušky bohužel kazí celkový dojem z jinak pěkného předmětu. Asi nejlépe je to vidět na přiloženém grafu, kde oproti dřívějším rokům zůstává počet průchozích téměř konstantní a narůstá pouze počet neabsolvovovaných. V roce 2012 neprospělo pouhých 60 lidí, tendence jsou tedy zřejmé.

Hodnocení: 6/10

IIZ - Správa serverů IBM zSeries

Zcela nový volitelný předmět vyučovaný přímo zaměstnanci z IBM a v budově IBM na Technické. Jelikož je tento předmět zcela nový a v tomto semestru ho má zapsáno celkem 5 lidí, tak jsem se rozhodl sepsat menší informace pro následovníky.

Jak to probíhá:

Zhruba 12 tříhodinových přednášek kombinovaných se cviky. Cca hodinu a půl přednáška, vždy na jiné téma i s jiným přednášejícím, který přímo v této oblasti pracuje (kromě přednášky o webovém serveru, kde byly některé chyby). Klasicky slajdy v EN a přednáška v CZ. Následuje cca 15 minutová přestávka a poté cvika, kdy se řeší věci probrané na přednášce na zkušebním mainframu s z/OS 1.13. Během cvik je možné se na cokoliv ptát, radit, googlit... velmi příjemní a přátelští. V závislosti na vaší rychlosti a množství dotazů se odchází i třeba o půl hodiny dříve, nebo i později (častější). Občas dostanete bodované domácí úlohy za 6b, na které je dostatek času a nejsou těžké. Složení bodů bylo: 20 půlsemestrální zkouška, 20b za docházku, 30b (5x 6b) za domácí úlohy a 30b za semestrální zkoušku. Nebylo tedy žádný problém předmět úspěšně absolvovat.

Co se probere:

Co to vůbec mainframe je, z čeho se skládá, k čemu je určený, jakou má logiku... Následně se naučíte ovládat ISPF (gui), práce s textovým editorem, práce s datasety (něco jako adresáře) a membery (soubory). Základy JCL (skriptování nepodobné bash), podívat se do logu na spuštěnou úlohu (batch), zkompilovat si hello world v asm, cobol, C... Dále se probere transakční server, databáze, webový server... přejde se ke konfiguraci systému, zavádění, způsobu správy aplikací a probere se i lehce bezpečnost. Tzn. získáte celkově obecný přehled co to je a jak to asi funguje. Na hlubší pochopení by bylo třeba ještě tak 2 navazující předměty.

K čemu to je:

Hlavním důvodem, který nikdo nezastírá je vychování si zaměstnanců a jejich získání. Zde máte po absolvování kurzu větší šanci nastoupit rovnou jako 2nd level, které se pak dělí na oddělení zaměřující se na DB2, transakční servery apod... Tzn. přeskočíte zhruba rok-dva kariérního růstu. Nástupní plat se prý pohybuje kolem 25-30k CZK (což není dle mě moc). I přesto, že nemám v plánu nastupovat do IBM, tak mi tento předmět dal poměrně velký rozhled. Velkou výhodou může být to, že co se zde naučíte platilo před 40 lety a za dalších 40 let bude platit stále - zpětná kompatabilita a konzervatismus je zde značný a viditelný na každém kroku. Budete pracovat s překladači zkompilovanými v 70 letech a v podstatě na dnešním železe jste schopni spustit děrné štítky z 60 let.

Zkoušky:

Půlsemestrální zkouška se skládala z 20 fulltext otázek za 20b. Nebyla těžká a bylo při ní dovoleno používat PC, takže Google, nápověda přímo na mainframu (která je mimochodem úžasně zpracovaná). Otázky jako "co je support element", "jaké jsou druhy datasetů", "co je LPAR", či vysvětlit některá slova z JCL jako DD, LRECL... Nic těžkého.

Zápočtový test je kombinace sportky (A-E) a fulltextu a již nebylo dovoleno použití PC. I tak nebyl nijak těžký a nebyl žádný problém jej napsat na dostatek bodů.

Celkové hodnocení

Poměrně jednoduchý předmět v příjemném prostředí. Obtížnost opravdu není velká a stačí si to odsedět, vše potřebné v hlavě zůstane. Občas se přešlo k věcem, která mi byly známy z IOSu a dalších předmětů, ale jejich znalost se nepředpokládá a jsou probrány a vysvětleny znovu. Velmi kladně mohu také hodnotit kvalitu studijních materiálů. Cca 800 stránkový Redbook je napsán velmi srozumitelně a přehledně.

Hodnocení: 8/10

IPK - Počítačové komunikace a sítě

Celkem příjemný a příliš nenáročný předmět. Informace byly praktické a podané dobrou formou. Tři cvika byla zaměřena na praktickou ukázku a vysvětlení probírané látky. V prvním se konfiguroval mikrotik jako brána pro 2 PC, nastavit DHCP apod. V druhém se zapojovaly 4 mikrotiky do kruhu, nastavovalo statické a poté i dynamické routování. V třetím cviku se pak prošlo rychle nastavení a fungování WiFi.

V předmětu také byly dva projekty pro seznámení se s prací s TCP a UDP. Prvním projektem bylo vytvoření klient-server aplikace nad TCP pro získávání informací o linuxových uživatelích. Druhým pak implmentace nástroje ping nad UDP. Mé řešení obou projektů je opět dostupné na githubu.

Semestrální zkouška nebyla nijak obtížná a jednalo se o kombinaci fulltextu se sportkou, kdy za chyby ve sportce nebyla penalizace :).

Přednášející se již oproti dřívějším letům ve výkladu krotí. Ve výsledku musím ohodnotit předmět velmi kladně, jelikož probral své téma příjemnou formou.

Hodnocení: 8/10

IPP - Principy programovacích jazyků a OOP

TL;DR: Programování a spousta teorie.

V předmětu se projde klasifikace jazyků, návrhové vzory, jak fungují překladače, linkery, interpretry... Předmět navazuje na IFJ - Formální jazyky a překladače. Klasicky půlsemestrální zkouška, 2 projekty a semestrálka.

Projekty mají několik variant, které jsou různě nakombinované pro první projekt v PHP 5.3 a druhý v Python 3. Zadání jsou navržena, aby výsledek i k něčemu byl. Například já měl kombinaci převod JSON do XML a generování SQL z XML. Projekty jsou jako vždy zveřejněny na Githubu.

Předmět není nijak těžký a spousta věcí je odvoditelná ze znalostí z předmětů jako IAS, či IJC. Proto mě celkem překvapoval počet opakujících třeťáků, které jsem potkával na zkouškách. Zajímavý předmět v tom, že u projektů se bylo třeba více zaměřit na návrhové vzory a logiku fungování, než na to, zda někde špatně neuvolňuji pamět...

Hodnocení: 7/10

ITY - Typografie a publikování

Po tomto volitelném předmětu si budete vážit dobře nasázeného dokumentu. Naučíte se pracovat s LaTeXem a základy typografie dokumentů. Přednášky mi opět kolidovaly se cvikami z IZU, ale i tak přínosný předmět. Celkem pět projektů, každý zaměřený na některou část - matematické rovnice, citace, prezentace... Z projektů je možné získat až 70 bodů, takže lze předmět považovat za poměrně lehký zdroj kreditů.

Semestrální zkouška za 30b není povinou částí absolvování předmětu a je k ní dovolen "tahák" s LaTeX příkazy, či jinými poznámkami.

Hodnocení: 6/10

IZG - Základy počítačové grafiky

Relativně pohodový předmět zaměřený na 2D a 3D počítačovou grafiku. Každý druhý týden cvika, na kterých se projde nějaký problém (rasterizace přímky, kružnice, vyplňování plochy, převod bitmapy do černobílé, transformace objektů v prostoru, křívky...) a následně se řeší bodovaný praktický úkol. Každé cvika je jiný cvičící, ale vesměs byli všichni příjemní.

Součástí předmětu je také každý rok jeden samostatný projekt v kterém se řeší něco z věcí probraných na cviku. Loni to bylo otexturování 3D modelu šachovnicí, letos transformace objektu v prostoru a podpora poloprůhlednosti objektu. U projektu je vždy také vyhlášena rychlostní soutěž, kde 3 nejrychlejší implementace jsou oceneni lahví vína předanou na zkoušce.

Půlsemestrální zkouška je kombinací sportky a fulltextu. Není ani příliš těžká, takže jistě nebudete mít rpoblém, pokud předmět nepodceníte. Ve výsledku mi tedy tento předmět vychází opět mezi ty lepší.

Hodnocení: 7/10

IZU - Základy umělé inteligence

Nečekejte žádné programování robotů apod. Budou se řešit různé algoritmy pro prohledávání stavového prostoru a něco málo z Prologu a LISPu. Ve výsledku nic těžkého a navíc věci, které se budou hodit - například algoritmus BFS jsem použil v projektu do IJC pro ověření možnosti tahnout na dané políčko.

Počítačová cvičení - asi by nebylo moc o čem psát, kdybych si nezvolil Ing. Wassem Abdulrahman. Při registraci jsem si ho bez jakýhkoliv předsudků zaregistroval, ale to jsem nevěděl co nás čeká. Základním problémem byla jakákoliv komunikace ať už česky, či anglicky. Výklad látky byl v podstatě nulový - na tabuli pouze opsal ze svého monitoru vzorec a neřekl jediné slovo. V případě dotazů odpovídal "Google", či zcela zcestně. Například na dotaz, zda by ve vzorci nemělo být spíše + místo - se nám dostalo zcela hroznou češtinou ujišťování, že nám nemůže prozradit, co bude na půlsemestrální zkoušce za příklady. Při pokusech o komunikaci v angličtině se dostalo opakovaně odpovědi, že anglicky neumí. Bylo běžné, že si zadání v češtině kopíroval do Google Translatoru na překlad do arabštiny. Jak jsem se následně dozvěděl, tak před našimi cviky chodil jako "student" na cvika k jinému cvičícímu, takže byl vždy jen o lekci před námi.

Na půlsemestrální zkoušku se v podstatě stačilo naučit Min-Max a Alfa-Beta řešení úloh. Na semestrální zkoušku k tomu pak přibyly další algoritmy pro prohledávání stavového prostoru jako BFS, DFS, DLS, IDS, A*... něco málo o rozpoznávání objektů, či vytvořit některé funkce v Prologu/LISPu. Ve výsledku je poměrně těžké ohodnotit tento předmět, jelikož ho zkazil v podstatě jeden jediný cvičící, který tu už příští semestr ani nemusí být. Naopak látka byla zajímavá a přínosná...

Aktualizace: 23. ledna 2016 jsem na školní e-mail obdržel špatnou angličtinou psanou zprávu od Abdulrahman Wassem <iabdulrahman@fit.vutbr.cz>, v které žádá o odstranění jména z článku a pokouší se uvést na pravou míru některé zde zmíněné věci. Bohužel zřejmě došlo k nepochopení zde psaných tvrzení a nerelvantní reakci na věci, které zde nejsou napsány. Bylo vysvětleno, proč je jméno uvedeno, a nabídnuta možnost doplnění tohoto blogpostu o reakci, ale zpráva zůstala již bez odezvy.

Hodnocení: 4/10

CESA - Střelba - výuka a výcvik (Pokračovací výcvik)

Pro tento semestr jsem si na webu CESA zaregistroval tento sport. Celá registrace všech sportů probíhá v jeden čas, takže v momentě startu padne celý webový server a po zhruba 20 minutách máte možnost provést registraci. Zde by jistě bylo vhodné zvážit postupnou registraci předmětů s například 5 minutovými prodlevami.

Na první schůzce se dohodne den a čas střeleb - možný je v podstatě celý týden v jakýkoliv čas od rána do večera, pokud budete alespoň 3 zájemci. Střelby jsou pak kombinované s posilujícími cviky, takže na začátku je cca 20 minut cvičení a pak i během střelby jsou například série 2x 5 ran, kliky a zas jít střílet.

Zbrojní průkaz není nutnou podmínkou pro zápis tohoto kurzu i když je lepší, když už máte se střelbou zkušenosti. Pro přípravu bez zkušeností je pak lepší zvolit začátečnický výcvik. Střelbu je možné provádět ze své, či zapůjčené zbraně. Většinu času jsem tedy používal svoji CZ 75 Kadet (.22 LR), či CZ 75 B (9 mm), ale občas jsem zvolil některou z téměř 20 nabízených zbraní k zapůjčení. Například Steyr M9 jsem si oblíbil kvůli mířidlům i když spoušť nebyla nic moc.

V naší skupince se sešli příjemní lidé i včetně správce. Střelba probíhá na kryté střelnici s maximální vzdáleností 25m, ale na krátké zbraně je to dostačující. Jediné nepříjemné překvapení byla chyba na webu CESA, kde do konce kurzu bylo uvedeno "Pokračovací výcvik 2800,- Kč (včetně střeliva odebraného z BH Magnum)", ale odebrané střelivo bylo zpoplatněno zvlášť. Po upozornění je již tato informace opravena na "Pokračovací výcvik 2800,- Kč (nezahrnuje střelivo odebrané z BH Magnum)".

Hodnocení: 7/10