Původně jsem tento článek ani neměl v plánu, ale dobře, překecali jste mě. Aspoň tak navážu na už skoro tradici hodnocení jednotlivých semestrů studia na FIT VUT.
Musím to zmínit hned v úvodu. Čtvrtý semestr byl naprosto vyčerpávající. Hlavně ke konci. To je i důvod, proč jsem se do zhodnocení semestru nepustil hned po jeho konci, tak jako dříve. Tou dobou jsem na školu vůbec pomyšlení.
Semestr jako vždy začal poklidně. Na přednášky jsem skoro nechodil, takže jsem měl spousty volného času. Přibližně v polovině semestru přišel zlom. Půlsemestrálky, domácí úkoly a projekty. Tuna, hromada, záplava ne zrovna jednoduchých projektů. Možná to zní až moc dramaticky, ale chvílemi bylo naše temto opravdo zběsilé.
Časově nejnáročnější projekt byl rozhodně do předmětu IJA (seminář Java). Ke konci náš denní rozvrh vypadal tak, že jsme se spolubydlícím vstali, přijeli další dva členové týmu, programovali jsme, krátká pauza na oběd, programovali jsme a v deset večer naši dva mimobrněnští týmoví kolegové už utíkali na vlak. Později to bylo tak hektické, že ani ten vlak nestíhali a přespávali rovnou u nás. Do toho jsme ještě měli úzávěrky pár jiných projektu jako třeba síťové aplikace v C (žádný med), umělá inteligence pro piškvorky v C a třeba i takové srandy jako List a Prolog. Každopádně jsme to úspěšně zvládli a chtěl bych na tomto místě poděkovat všem členům našeho IJA týmu za výbornou práci. Hektické období konce semestru popisuje i blogspot mého spolužáka Romana s všeříkajícím názvem Příliš velké nasazení.
Konec žvanění a pustíme se do hodnocení jednotlivých předmětů. Tentokrát nebudu hodnotit zvlášť předmět a vyučujícího, jelikož jsem na většinu přednášek ani nechodil. Takže nebylo vyjímkou, že jsem přednášejícího poprvé viděl až na zkoušce. Nemyslete si však, že jsem nějaky flákač. Jen mám ověřeno, že za ten čas, co by človek strávil sezením na přednášce (většinou 3 hodiny), se naučí mnohem více doma v klidu. Navíc jsem měl snad na všech přednáškach (vyjímkou je snad jen pan docent Zbořil) pocit, že učivo je přednášeno přiliš pomalu, což mi bránilo se koncentrovat. Pokud by náhodou někdo zjistil, že na přednásšce o něco přišel (mně se to teda nestalo:)), tak není problém přednášku stáhnout z video serveru a podívat se na ní dodatečně. Tím také získáte výhodu, že si přednášku můžete pustit zrychleně a tím se eliminuje problém, o kterém jsem psal výše.
Databázové systémy - IDS
Tento předmět má vcelku výstižný název. Náplní učiva jsou databáze (Oracle) a jakyk PL/SQL. Z SQL to však nejsou pouze základy, které používáte v MySQL u vaší webové aplikace, ale i pokročilejší věci jako uložené procedury, master/detail vztahy, tiskové sestavy, databázové triggery apod. Batabáze mě sice nijak extra nebaví, avšak jejich základní ovládnutí je nutnou součástí vědění každého programátora. Součástí předmětu byl jeden projekt rozdělený na tři fáze. Tento projekt vychází z projektu do předmětu IUS, kde jsme tvořili ER diagram pro nějaký informační systém. Třeba my konkrétně měli knihovnu. První částí projektu bylo obhájit ER diagram, poté ho transformavat do SQL tabulek a naplnit vzorkem dat a nakonec nad databází vystavět interaktivní aplikaci pomocí prehistorické verze programu Oracle Form Builder. Na poslední části projektu bylo zákeřné, že splněním standardního zadání získáme pouze 50% bodů, když implementujeme i několik bonusových návrhů tak 75% a když aplikace bude fakt drsná (nevim jak to bylo doslovně specifikováno:)) tak máme nárok na 100% bodů. Tento způsob hodnocení se mi osobně příliš nezamlouvá. Předmětu jinak obsahově ani organizačně moc chyb vytknout nemohu.
Hodnocení: 7/10
Počítačové komunikace a sítě - IPK
Snad v každém semetru se našel předmět, který většina nenávidí a já miluji. V případě čtvrtého semestru je tím předmětem rozhodně IPK. Jedná se o předmět zabývající se počítačovými sítěmi, tedy detaily ohledně ISO/OSI modelu a jednotlivých protokolů. Náplň předmětu je velice zajímavá a jelikož toho čtvrtý semestr nemohl moc nabídnout, tak se IPK stalo mým favoritem tohoto semestru. Nároky ke zkoušce jsou poměrně vysoké. Jedná se o kvantum teorie z oblasti sítí. Někteří si stěžovali na otřesné přednášky, jejich nepřehlednost a použitý font (Comic Sans – WTF!). S tím se dá víceméně souhlasit, hlavně co se fontu týče. Někteří si však dokonce stěžovali na to, že přednášky jsou pouze v angličtině (česká verze přednášek je objevila až ke konci semestru). Toto ale nechápu, informatik MUSÍ umět anglicky, takže zde se není o čem bavit.
Síťařská náplň IPK je na internetu tak profláklá, že dané informace velmi jednoduše naleznete na internetu. Například mně stačilo na přípravu ke zkoušce osnova požadovaných témat a wikipedia (anglická). A co nebylo na wiki, bylo někdo jinde. Proto stížnosti typu „Na zkoušku jsem se nemohl pořádně naučit, protože slajdy byly na *(zde si doplňte oblíbený vulgarismus)*“, jsou zcela liché.
Projekty jsou další zajímavou (mnohými proklínanou:)) kapitolou tohoto předmětu. Projekty byly celkem tři a jejich obtížnost se (někdo by řekl rapidně) zvyšovala. Prvním projektem byla implementace, řekněme velmi jednoduché verze geniální aplikace wget. Ta měla za úkol stáhnout soubor zadaný pomocí URL. Navíc bylo třeba reagovat na stavové kódy protokolu HTTP, hlavně 4xx a 3xx. Fajnšmejkři implementovali i následování 3xx přesměrování až ke konečnému souboru. Projekt bylo možné psát v C nebo C++. Nevím co mě to chytlo za sadomasochistickou myšlenku, ale projekt jsem psal v čistém C. Když jsem pak viděl spolužákův kód, který byl přibližně třikrát kratší, řekl jsem si, že C++ na budoucí projekty nebude špatná volba:) I přes harakiri-pure-C implemtaci jsem za projekt obdržel plný počet bodů.
Druhý projekt byl už zajímavější. Ve zkratce se jednalo o klient-server aplikaci. Server si chrtí soubor s CSV databází a klient požaduje vždy určitou část dat a navíc vyfiltrovaou podle různých parametrů. Zadaní stručné, aplikační protokol jsme si měli navrhout sami. Velká volnost – paráda. Navíc poučen z minula jsem mohl zapomenout na malloc() a psal jsem již v C++. Výsledkem byl opět plný počet bodů.
Třetí projekt byl opravdu chuťovka. 300 lidí nula bodů, většinou ani neodevzdali. Ze začátku jsem byl ze zadání řekněme zmaten, protože jsem naprosto netušil o co go. Později jsme si společnými silami na studentském fóru zadání přeložili to srozumitelnějšiho jazyka. Takže ve zkratce se jednalo o klient-server aplikaci, která používá UDP protokol (oba předchozí používali spojovaný TCP). UDP protokol je nespojovaný a negarantuje doručení dat, což je sranda. A na nás bylo právě nad tímto protokolem vystavět vrstu (RTP), která doručování dat bude kontrolovat, řídit, případně data přeposílat. Když to hodne zjednoduším a přeženu, tak jsem měli UDP protokol předělat tak aby se choval jako TCP. Jestli zadání bylo složité tak pak nevím jak nazvat samotnou implementaci. Abychom to neměli tak „jednoduché“, tak jsme navíc nemohli používat C++ ale jen holé C. No každopádně odpoledne plné programování a nadávek mi přineslo 13 bodů z 12. U tohoto projektu se člověk naučil opravdu mnoho.
Dále byly součástí předmětu dvě laboratorní cvičení. První zaměřené na konfiguraci LAN sítí, druhé na konfiguraci WiFi sítí. Až mě překvapilo, kolik spolužáků mělo s těmito elementárními činnostmi potíže. Pokud však umíte zadat man ifconig, naklikat připojení ve Windows a nakonfigurovat bakelitovou krabičku (wifi router) přes webové rozhraní, nemůžete mít potíže.
Takže shrnutí. Osnova předmětu, to byla moje krevní skupina. Projekty pro někoho přehnaně těžké, já to bral tak, že co projekt, to výzva. Laboratorní cvičení primitivní. Přednášky hrozné co se týče výkladu i kvality přednášek. Každopádně znalost sítí by měla patřit do studnice vědění každého, kdo to myslí s IT vážně.
Hodnocení: 9/10
Principy programovacích jazyků a OOP - IPP
Co jsem si všiml, tak tento předmět také zrovna nebyl všeobecně oblíbený. Předmět je těžce teoretický a jak z názvy plyne, zabývá se teorií programovacích jazyků. Rozsáhlá a poměrně dobře zpracovaná opora je rozdělena do tří hlavních částí: strukturální jazyky, objektově orientované jazyky a logické a funcionální jazyky. Člověk si tímto předmětem pěkně rozšíří obzory. Zjistí (pokud to do té doby nevěděl:)), že kromě jeho milovaného C/C++, Javy či PHP exitují i exotičtější jazyky. Dozví se základy sigma a lambda kalkulu a další zajímavé věci. Na předmět se nadávalo hlavně kvůli přehnaně obtížné půlsemestrální zkoušce. Mně teda přišla ještě v limitu a pokud byla půlsemestrálka těžká, tak to bylo rozhodně vykompenzováno finální zkouškou, u které si už nemohl stěžovat nikdo. Přímou součastí tohoto předmětu nebyl žádný projekt, avšak započítavaly se sem body z programové dokumentace projektu IJA (viz. dále).
Pokud máte k programování jako takovému kladný vztah a rádi se z této oblasti naučíte něco nového (i když teda není záruka, že to někdy využijete), bude se vám tento předmět líbit.
Hodnocení: 8/10
Základy počítačové grafiky - IZG
Tak tento předmět se věnuje počítačové grafice. Překvapení, co? Člověk zde konečně v rámci školních projektů vytvoří něco, co na něho nekouká jen z černé konsole, ale je to barevné, leskne se to, hejbe se to, točí se to a prostě se na to pěkně kouká. Projektů bylo celkem pět a postupují od kreslení jednotlivých pixelů, přes kružnice, elipsy, křivky, 3D objekty až po OpenGL. Člověk projekty nepíše od píky, ale vždy dostane předpřipravenou kostru v C++. Projekty byly vesměs jednoduché i když i tady by se našli vyjímky. Každému projektu předchází cvičení, na kterém jsou vysvětleny nezbytené detaily. Předmět je v rámci tohoto semestru považován za jednoduchý, i když mně se záhadně povedla pokazit jak půlsemestrálka, tak semestrálka. Člověk naštěstí může nahrabat dost bodů za projekty, takže to nakonec nebylo tak zlé.
Předmět je koncipován jako takové lákadlo na jeden ze čtyř (pravda, od letošla jich je deset, ještě jsem si nezvykl) magisterských oborů Počítačová grafika a multimédia. Obor je to jistě zajímavý a u studentů populární, avšak u mě osobně to zrovna není to, na co bych se chtěl v budoucnu specializovat.
Hodnocení: 7/10
Základy umělé inteligence - IZU
Tak toto je jediný předmět, jehož přednášky jsem tento semestr navštěvoval. Tedy alespoň v první polovině, pak už ani to ne. Umělá inteligence je nesmírně zajímavý, ale i náročný obor. Tento předmět tvoří jen nezbytný úvod, na který potom navazují vybrané předměty magisterského studia. Vyučujícím je pan docent Zbořil, který nás měl v prvním semestru na assemblery. Přednášky v jeho podání jsou vcelku záživné. Co se osnovy týče, učí se zde takové věci jako metody řešení úloh, metody hraní her, logika nebo strojové učení. Spíše než na teorii je předmět zaměřen na jednotlivé algoritmy, které se poté objevují u zkoušek.
V tomto předmětu také si student také přičichne k představiteli logických jakyků Prologu a představiteli funkcionálních jazyků Lispu. Tyto jazyky poté uplatní v několika malých projektech. Někdo to možná shledá vítaným osvěžením proti neustálému kódění v jazyce C, mně osobně však Lisp ani Prolog nijak zvlášť k srdci nepřirosl. Vyzkoušet si však nějaký neimperativní jazyk rozhodně není na škodu.
Nebyl by to ale předmět umělá inteligence, kdybychom si nějakou tu AI v rámci projektu nenaprogramovali. Tento projekt z IZU se mi zdál v rámci FITu revoluční, jelikož nešlo o to pouze splnit nějaké zadání, ale porazit implementaci AI svých spolužáků. Ptáte se co jsme programovali? Roboty vyzbrojené řeznými lasery, které poté sváděli neúprosné bitvy v laboratoři robotiky. No dobře, teď vážně. Programovali jsme takzvaný brain (AI) pro hraní piškvorek. Dvoučlenná družstva, každé implementovalo vlastní brain, které poté sehrály vyřazovací turnaj (jako třeba na MS v hokeji). Jen škoda, že programování brainu připadlo zrovna na dobu ke konci semestru, kterou jsem popisoval výše. Na plnohotné vyžití se tedy bohužel nebyl moc čas. Tento projekt chválím za naprosto výborný nápad. Přeci jen motivace porazit své kolegy je silnější než jen suše splnit zadání;)
Hodnocení: 8/10
Seminář Java - IJA
Tento předmět spadá mezi povinně volitelné technické předměty (všechny předchozí byly povinné). A co že to znamená? Znamená to, že jsme si mohli vybrat ze dvou seminářů. Seminář C++ a seminář Java. Už možná vzhledem k mé nedávné tvorbě v sekci Projects tušíte, že jsem si vybral jazyk Java. Mnohými milovaný, mnohými zatracovaný. C/C++ mám rád, navíc ho učí můj oblíbený přednášející, vyhlášený antiWindowsák doktor Peringer. Upřímně si ale myslím, že budoucnost je v Javě. Teď nemyslím zrovna jen konkrétní jazyk Java SE, ale Javu jako celou platformu. S postupným přesouváním aplikací na web může Java nabídnout applety (no dobře, to už je historie), technologii Java Web Start a hlavně Java EE a vše co k ní náleží. Co v tomto ohledu může nabídnout C++?
Součástí předmětu byly vrcholně nezáživné přednášky (ano, jednu jsem navštívil) a jeden velký, opravdu velký a časově náročný projekt, o kterém jsem psal již v úvodu. Zadání projektu bylo společné jak pro seminář Java, tak pro C++ a dělali na něm čtyřčlenné týmy. Jednalo se vytvoření kalendáře, něco na způsob Google Calendar nebo Apple iCal. Jakktoliv jednoduché se to může zdát, rozhodně to jednoduché nebylo. Zadání obsahovalo velké množství funkcí, které bylo třeba implementovat, což se všeobecně nestíhalo. Minulý rok bylo zadáním vytvořit hru dáma. Ačkoliv alespoň mně se zdá vytvoření hry složitější než nějakého kalendáře, obsahovaly kalendáře průměrně asi o třetitnu více kódu a jen málokdo stihnul implementovat veškeré zadané funkce. Naše programovací nasazení, kdy jsme s Javou vstávali a s Javou usínali jsem už popisoval. V té době se mezi studenty začal šířit tento povzbuzující vtípek🙂 Nakonec jsme projekt zdárně dokončili. Navíc s výborným výsledkem.
Hodnocení: 7/10
Síťová kabeláž a směrování (CCNA1+CCNA2) - IC1
Rozhodně a bezkonkurenčně největší zklamání ze všech předmětů. Měl bych tedy ale podotknout, že se jedná o předmět volitelný. Cisco Academy kurzy CCNA1 až CCNA4 jsou všeobecně známé, člověk si má aspoň co napsat do životopisu. Rozhodně jsem však nečekal, že to bude v podání FITu taková hrůza. A co bylo hrozného? Materiály a podmínky splnění předmětu jsou by Cisco, takže na tom nejde (skoro) nic zkazit. Co jde ale zkazit je celková organizace předmětu. Člověk byl naprosto neinformovaný kdy začínají přednášky, kdy odpadají, to samé ohledně laboratorních cvičení, takže se mi několikrát stalo, že jsem přišel zbytečně nebo naopak nepřišel vůbec.
Co se přednášek týče, na několika jsem byl a úroveň opravdu otřesná. Nejen, že když si sednete dál než do první lavice, tak neslyšíte, protože přednášející má asi nějakou fóbii z mikrofonů, ale když už si teda sednete dopředu, abyste slyšeli, zjistíte, že to vlastně bylo zbytečné, protože přednášející jen koktá překlady textu ze slajdů (ty jsou v angličtině).
Co se laboratoří týče, další zklamání. Laboratoř je špičkově vybavená Cisco zařízeními (routery, switche,…) za stovky tisíc korun. K čemu to ale je, když cvičící přijde stylem tam jsou kabely, tam jsou switche, tam jsou počítače a tady zadání a dvě hodiny si v klidu chatuje s tím, že případné dotazy bere jako nutné vyrušení od jeho „práce“. Když už se teda rozhodne něčí dotaz zodpovědět, ne že by to třeba vysypal z hlavy když se jedná a elementární dotaz ohledně konzolové konfigurace Cisco routeru, ale začne hledat na internetu a nakonec vám to vyjde hůř, než kdybyste si to našli sami. Když přitom víte, že je to student PhD. v oboru počítačové sítě, tak si kladete otázku, co je špatně. Že by ignorance?
Kurz by byl hodně kvalitní, kdyby se přednášející a hlavně(!) cvičící studentům více věnovali a nekašlali by na ně. Rozporuplné bylo i když si vedoucí kurzu zavedli k úspěšného dokončení kurzu dodatečné podmínky, které Cisco nespecifikuje. Kdo dostatečně protestoval, tomu byly prominuty, zbytku ne. Zajímavé, že?
Hodnocení: 3/10
Skriptovací jazyky - ISJ
Tak a jsme u posledního. Tento předmět byl také volitelný. Čekal jsem od něho, že mě konečně donutí naučit se Python. V tomto předmětu se však nevyučuje jen Python, ale i Perl, Ruby a GNU Textutils. Minulý semetr tvořil tento předmět jeden velký projekt za velké množství bodů a potom půlsemestrálka. Ta je známá tím, že obsahuje velice zákeřné testové otázky, ke kterým byste potřebovali minimálně interpret daného jazyka. Abyste viděli, že skutečně nepřeháním, zde je několik ukázkových otázek přímo z oficiální stránku předmětu:
Regulárnímu výrazu:
^(?=.*?\bPavel\b)(?=.*?\bDavid\b)((?!Petr|Jan)).*$
odpovídá řetězec:
A: Pavel, David, Honza, Marie, Petr
B: PavelDavidPetr
C: Honza, David, Pavel, Marie, Adam
D: žádný z uvedených
Posloupnost příkazů (kolona):
cut -f1 cetnosti.lowercase | tr "áčďéěíňóřšťúůýž" "acdeeinorstuuyz" | paste - cetnosti.lowercase | sort -k1,1 -k3,3rn | awk '{if ($1 != prev) print; prev = $1;}' | cut -f1,2
A: vypíše pro každé slovo bez diakritiky (odpovídající nějakému slovu z původního seznamu) nejčastější slovo s diakritikou, které mu odpovídá
B: udělá něco jiného
C: udělá něco úplně jiného
D: neudělá ale vůbec nic
IDLE (interaktivní interpret Pythonu) pro
[1, 2, 3, 4, 5][::-1]
vypíše
A: [5]
B: [4]
C: [5, 4, 3, 2, 1]
D: [0, 1, 2, 3, 4]
Skript v Pythonu:
print filter(None,map(lambda y:y*reduce(lambda x,y:x*y!=0, map(lambda x,y=y:y%x,range(2,int(pow(y,0.5)+1))),1),range(2,10)))
vypíše
A: [1, 2, 3, 4]
B: [1, 1, 2, 3]
C: [2, 3, 5, 7]
D: [2, 4, 6, 8]
Kód v jazyce Python:
def cross(A, B):
return [a+b for a in A for b in B]
rows = 'ABCDEFGHI'
cols = '123456789'
digits = '123456789'
squares = cross(rows, cols)
unitlist = ([cross(rows, c) for c in cols] + [cross(r, cols) for r in rows] \
+ [cross(rs, cs) for rs in ('ABC','DEF','GHI') for cs in ('123','456','789')])
units = dict((s, [u for u in unitlist if s in u]) for s in squares)
peers = dict((s, set(s2 for u in units[s] for s2 in u if s2 != s)) for s in squares)
print peers['A1']
vypíše:
A: set(['A2', 'A3', 'A4', 'A5', 'A6', 'A7', 'A8', 'A9'])
B: set(['A2', 'A3', 'A4', 'A5', 'A6', 'A7', 'A8', 'A9', 'B1', 'C1', 'D1', 'E1', 'F1', 'G1', 'H1', 'I1'])
C: set(['A2', 'A3', 'A4', 'A5', 'A6', 'A7', 'A8', 'A9', 'B1', 'C1', 'D1', 'E1', 'F1', 'G1', 'H1', 'I1', 'B2', 'B3', 'C2', 'C3'])
D: set(['A2', 'A3', 'A4', 'A5', 'A6', 'A7', 'A8', 'A9', 'B1', 'C1', 'D1', 'E1', 'F1', 'G1', 'H1', 'I1', 'B2', 'B3', 'C2', 'C3', 'D2', 'D3', 'E2', 'E3', 'F2', 'F3', 'G2', 'G3', 'H2', 'H3', 'I2', 'I3'])
Skript :
ruby -e'(2..10).each{|i|(2..Math.sqrt(i).floor).find{|j| i%j == 0} or p i}'
vypíše na jednotlivé řádky čísla:
A: 2, 3, 4
B: 2, 3, 5, 7
C: 2, 4, 6, 8
D: 3, 5, 7
Co vypíše následující skript?
ruby -e "printf(s = 'printf(s = %c%s%c, 39, s, 39)', 39, s, 39)"
Co vyspie njedcaulisi skrpit?
echo 'Co vypise nasledujici skript' | ruby -pe 'gsub!(/\B\w+\B/){%%EDITORCONTENT%%amp;.split(//).sort_by{rand}}'
Co jsem popsal to však byla situace z minulého roku. To ještě šlo zvládnout tím, že si člověk dá záležet na projektu a tím dostane dostanek bodů na úspěšné absolvování předmětu. Na nás si však letos nachystali něco zabijáckého. Půlsemestrálka zůstala. Její forma samozřejmě taky. Projekt byl bodově osekán na pouhých 40 bodů, což znamená, že ani udělání projektu na plný počet bodů vám nezaručí projití předmětem. Zbytek (50) bodů vyplní do té doby neexistující semestrální zkouška. A oprávněně jsme předpokládali, že bude stejného typu jako půlsemestrálka.
No nebudu to protahovat. Půlsemka mě osobně vyšla ale asi třetina lidí získala celou nulu. Už jen po této půlsemce tento předmět mnoho lidí vzdalo.
Poté byl čas na projekt. No přesněji řečeno, ten čas na projekt vůbec nebyl. Člověk si mohl vybrat z několika variant zadání, z nichž nejschůdnější se zdálo zadání se stahováním titulků. Toto zadání si také vybrala většina. Zadání bylo tak stručné a ledabylé, že jsme potřebovali ještě několik oficiálních upřesnění, abychom vůbec věděli co dělat. Proti tomu bylo i zadání IPK 3. projektu naprosto krásné a srozumitelné. Jednalo se o skript, kterému je předán název filmu a on na něj z OpenSubtitles.org stáhne české titulky, poté hromadu anglických titulků a každé z nich porovná s těmi českými na co největší shodu a vybere ty nejpřesnější. Opravdu sranda. Nesmělo se to dělat formou slovníku, že bych věty překládali, ale jednoduchými metodami jako třeba počet slov ve věte až po hrozivě sofistikované heuristiky. Tomuto projektu jsem vyhradil jediné odpoledne, ačkoliv by si zasloužil alespoň týden. Času ale opravdu nebylo nazbyt. Vůbec mě neuklidnilo, když jsem si na fóru přečetl příspěvek třeťáka, který konstatoval, že s tímto projektem strávil víc času než praktickou částí bakalářské práce. Smutné, ale výstižné. No vraťmě se zpět. Za to jedno odpoledne jsem tedy něco vytvořil. To něco nebylo dokonalé a občas to i fungovalo:) No upřímně, nečekal jsem, že to za ten jeden den bude vůbec něco dělat.
Co jsem také o projektu z minulých let vědel bylo to, že snad nikdo z něho nikdy neměl plný počet bodů. Já přitom zoufale potřeboval každý bod. No nebudu vás napínat. Dostal jsem 40 bodů ze 40 možných. Tak co? Říkáte si, že jsem genius a že i pro IBM by mě bylo škoda? Nemusíte. Došlo totiž k božímu (nebo kdo to tam nahoře vede) zásahu a opensubtitles bylo v době opravování projektu dlouhodobě nedostupné. Pan garant se k tomu postavil jako chlap a dal každému kdo projekt odevzdal (ať už v jakémkoliv stavu) plný počet bodů. Jo, ti co neodevzdali s tím, že to už nemá cenu, si asi trhali vlasy:) No stejně ještě nebylo vyhráno. Měl sem 47 bodů a potřeboval jsem 3 body k úspěšnému ukončení předmětu.
Semestrálka byla na 50 bodů, mě chybí tři. No to bylo, abych to nedal, co? Znovu nebudu napínat. Povedlo se mi něco grandiozního, něco o čem bych nevěřil, že je to možné! Z 50 možných bodů jsem ze semestrální zkoušky ISJ dostal -5 bodů. Ano, ta pomlčka tam není chyba. Slovy: mínus pět bodů. Ha, teď si zase říkáte, co je to za losera, co? Pan garant si byl naštěstí vědom obtížnosti zkoušky a tak každému do základu přidal 15 bodů. Tím můj čistý zisk ze semetrálky činil 10 bodů, celkem 57 a já si tak odnesl své první E na FITu.
No ještě se vrátím k oné slavné zkoušce. Jak, že je možné něco tahkle podělat? Tak od začátku. Věděl jsem, co může být na zkoušce za chytáky, proto jsem se Python doslova drtil, všechny možné chytáky a vychytávky (a že jich Python má). Před zkouškou jsem se tedy cítil připravený důkladně. Před samotnou zkouškou jsme se dozvěděli bodování. Celkem 5 příkladů, každý 4 možnosti. Správná odpověď 10 bodů, špatná -5 bodů. Opravdu kruté podmínky. Dostanu papír a jen mžitky před očima. První příklad Ruby, druhý přiklad Ruby, atd. Hlavně, že jsem se drtil Python:) Ruby jsem nikdy předtím pořádně neviděl (jen v pár skriptech k metasploit fw;)), takže jsem tipoval a domýšlel si, co co znamená. Naštěstí srdcem většiny skriptů v příkladech byly regulární vyrázy, na které jsem se také dobře připravoval. Takže i po skončení a odevzdání jsem měl vcelu dobrý pocit. Jenže ono stačilo málo. Hlavně to, že jsem si neuvědomil, že regulární výrazy jsou implicitně greedy plus pár dalších malých chybiček a záporné body udělají své…
I přes veškerá úskalí spojená s tímto předmětem si nemohu stěžovat – rozhodně mě donutil se ten Python naučit:)
Hodnocení: 6/10
Výběr volitelných předmětů
Tak, tím jsou shrnuty veškeré předměty, které jsem tento semestr absolvoval. Doufám, že vám to pomohlo zformovat si alespoň přibližnou představu, jak tento semestr probíhal a jaké na nás byly kladeny nároky. A co dál? V minulých zhodnoceních jsem na tomto místě vždy psal, jak je svoboda na vysoké škole úžasná oproti řetězům, kterými vás svazují na gymnáziu/SŠ. To rozhodně platí, ale nyní budu na tomto místě spíše kritizovat. Tento semestr byl pro mě takový přelomový. Nějak jsem ztratil růžové brýle a nadšení, s kterým jsem na FIT šel. Samozřejmě tento pocit byl nejsilnější ke konci a po ukončení semestru. Nyní, měsíc před začátkem nového akademického roku už takovou averzi vůči škole necítím, avšak že bych se přímo těšil jako třeba minulý rok, to řict nemohu.
A co, že mě tak zklamalo? Paradoxně nedostatek svobody. Nyní však nemyslím nedostatek svobody, co se školní docházky týče, ale nedostatek svobody ve volbě předmětů. První dva semestry jsem si říkal, dobře, prostě máme předepsanou sadu předmětů, kterou musí každý bakalář absolvovat, další semestry nám už dají větší volnost v podobě volitelných předmětů. Jenže s registrací předmětů do třetího ročníku přišlo hluboké zklamání. Ne, že by bylo pár povinných předmětů a zbytek bychom si vybrali podle naší vůle. Je to přesně naopak. Znovu nával předmětů povinných a člověk je může doplnit, jedním, možná dvěma (pokud mu chybí kredity) volitelnými předměty. Kdybych chtěl, aby o důležitých věcech za mě rozhodoval někdo jiný, tak volím ČSSD a jiné komunistické partaje. Já však vím co chci a nevím co by byl za problém dát studentům alespoň v posledním ročníku bakalářského studia ve výběru větší svobodu. Fakulta asi ví lépe jaké předměty nám vrazit, nebo si to alespoň myslí.
Tak tedy musím sklonit hlavu a vybrat si jeden volitelný předmět. A co že mám na výběr? Když jsem očima poprvé projel seznam dostupných volitelných předmětů, nevěděl jsem, zda si dělají srandu, nebo jsem někde přehlédl čudlík, co by mě přenesl na další stranu. Ne, nabízených předmětů není málo. Spíše naopak. Tak proč si (zase) stěžuju? Protože téměř u každého z této spousty předmětů je pro studenta FITu dokonale odrazující zkratka: FEKT. Tyto čtyři písmenka označují naší „spřátelenou“ fakultu. Proti studentům FEKTu rozhodně nic nemám, jenže téměř každý FITák FEKT nenávidí kvůli předmětům, na které jsme tam byli minulé semestry posíláni. Jednalo se o fyziku a matematiky.
Je sice fajn, že nám nabízejí (elektrotechnické) předměty jiné fakulty, ale kde sakra jsou ty předměty z FITu? Aaa, vidím jeden. Pokračování CCNA kurzu. No jasně, stejnou chybu podruhé neudělám. Co dál? Sada Windows předmětů (desktopy, servery, .NET). Ne, děkuji pane Microsofte, ja bych spíše bral něco více unixového. Tak co dál? Roluju přes kvanta FEKT předmětů typu Automobilová eletronika a míjím přitom i několik FP (Fakulta Podnikatelská) jako mikro/makroekonomie a podobné. Ha, konečně FIT předmět. Řízení projektů informačních systémů. Hmm, název zní vcelku fajn, ale to bych nesměl vědět, že se jedná o zbytečný „vatový“ předmět, do kterého se práce píšou ve Wordu (WTF, máme snad LaTeX nebo OO, ne?). Následuje pár dalších FEKT předmětů, nějaké jazyky a konec. Abych FITu nekřivdil jsou tam asi ještě 3 předměty, které jsem už předem vyloučil.
Dobře, co teď? FEKT předmět nechci, elektronika, eletrotechnika, či co to vlastně je, mi nic neříká. Předměty z FP… no nevím, nevím. Musel bych dojíždět až na FP, což z mého privátu celkem dálka, na to kašlu. Jazyky? Bral bych nějakou angličtinu, ale zase to bych nesměl vědět jak to v Ústavu Jazyků na FEKTu chodí. Spolubydlící si angličtinu zapsal, tak uvidím zda jsem udělal chybu, tím že jsem tento předmět také vyloučil. Dále zbývají FIT předměty. CCNA a M$ předměty jsem vyloučil. A co zbývá? Řízení SW projektů, no dobře beru, už mě nemučte!
Tak takto probíhala má volba volitelných předmětů. Třeba mi tam chybí předmět věnující se konfiguraci a správě unix serveru. Hlavně, že to samé pro M$ tam je. Později jsem si říkal, zda by si nebylo lepší dát programování .NET a C#. Aspoň bych programoval když už nic. Jenže stejného názoru bylo i 120 lidí (kapacita předmětu), kteří se rozhodli dříve než já. Studenti FI MU se asi asi teď smějí. Svobodu volby předmětů a možnost poskládat si vlastní rozvrh beru jako největší klad MU. Zase celková teoretičnost FI MU ji zase v mých očích stahuje dolů. Udělat takového křížence FIT VUT a FI MUNI a máme tu dokonalou školu pro studium IT:)
Tak, už to pomalu ukončíme. Nevím jestli zrovna tento článek bude lidi na FIT přitahovat nebo odpuzovat, ale co, popsal jsem to tak, jak to já osobně cítím. Ostatně nejsem placený za to FIT vychvalovat. Jakkoliv negativisticky by se mohlo toto zhodnocení semestru a volby volitelných předmětů na další akademický rok zdát, rozhodně neplánuji podávat si přihlášku jinam. Alespoň dokud nedokončím bakalářské studium.