Contact | Kontakt

Daniel Čejchan
mail@danol.cz

Categories | Rubriky

Admin

2MIN/ZS: Devátý semestr na FITu

Mé studium na FITu už se pomalu blíží do finále. Jako vždy, po pár týdnech přestávám chodit na většinu přednášek a místo toho se věnuji projektům. Přichází komplikace v podobě diplomky.

BMS | Bezdrátové a mobilní sítě

Jediný předmět, u kterého jsem v tomto semestru vydržel chodit na všechny přednášky. Má vlastnosti typické pro docenta Hanáčka: poutavé přednášky, srozumitelné a dobře strukturované podklady až na pár kritických algoritmů, projekty prakticky o ničem a férovou zkoušku. Učivo bylo zajímavé, jsem rád, že jsem měl možnost nahlédnout i do oblasti telekomunikací. Zkouška byla hodně o zkratkách, ale dalo se to naučit. Projekty byly opět o něčem jiném, než byl předmět samotný: v prvním projektu jsme měli dělat modulátor a demodulátor pro ASK (amplitudové klíčování). Ačkoli jsme toto klíčování v předmětu probírali, o tom, jak se softwarově realizuje modulace a demodulace, nepadlo ani slovo. Studenti tedy realizovali různá splácaná řešení, aniž by vlastně přesně dělali, co mají dělat a jak se to dělá pořádně. Já jsem se svou demodulací využívající konvoluci, ač si myslím, že to bylo dobré řešení, uspěl pouze na 3 body z osmi.

Ve druhém projektu jsme pak měli implementovat nějaké kódování, aby to dokázalo opravit až 24 % chyb v přenosu (přenášená data mohla mít až 175% velikost vůči surovým datům). Potom, co jsem strávil asi tři dny snahou implementovat konvoluční kódování, jsem usoudil, že tudy cesta nevede. V zadání nám doporučovali použít Reed-Solomona, ale ten jsem z dostupných materiálů nedokázal pochopit a přišlo mi to natolik složité, že to ani náhodou neodpovídalo slibovaným dvanácti bodům za projekt. Dovolili nám použít libovolnou knihovnu, tedy jsem stáhl knihovnu na Reed-Solomona a pouze jsem nad ní rozhraní splňující požadavky projektu. Zřejmě toto bylo, co chtěli. Takže po tom, co jsem strávil tři dny tím, že jsem se snažil něco naučit, jsem dostal body za to, že jsem stáhl z internetu knihovnu… Přitom ani ta knihovna samotná, kterou rozhodně někdo nevyvíjel za 12 bodů, nebyla dostatečně rychlá, aby splňovala zadání – musel jsem si pomoci paralelismem…

Výše jsem zmínil, že podklady byly kvalitní, až na pár kritických algoritmů. Mluvím tu o Hammingovi a Reed-Solomonovi. Oba algoritmy se ze slidů prostě nedají naučit. K předmětu nejsou záznamy. Hamminga sice znám z předchozích předmětů, ale tam jsme se ho neučili maticově. Na wikipedii sice je popsán maticově, ale jinak, než je to ve slidech. Reed-Solomona jsem z wikipedie nedokázal pochopit. V důsledku toho jsem na zkoušku Reed-Solomona ani Huffmana neuměl. A hádejte, co bylo na zkoušce? Reed-Solomon za dvacet bodů!

EDIT: Hmm, teď jsem si všiml, že jsou nějaké podklady k Reed-Solomonovi ve WISu. Všechny ostatní podklady jsou na stránkách předmětu, tažke jsem ve WISu nehledal…

SEP | Semestrální projekt

S diplomovou prací se mi letos stala taková malá nepříjemnost. Chtěl jsem navázat na svou bakalářskou práci, ve které jsem si vytvořil vlastní programovací jazyk. V tom jazyku jsem uvedl koncept, který měl podle mě potenciál co se programovacích jazyků týče. V rámci bakalářky jsem ho měl napůl navržený a napůl implementovaný, v diplomce jsem to chtěl dopilovat, zdokumentovat a vydat takový “manuál”, jak to případně implementovat. Byl jsem už domluvený s mým vedoucím bakalářky, doktorem Křivkou, měl jsem to zapsané a začínal jsem na tom pomalu dělat.

Asi v půlce semestru mi doktor Křivka napsal, že se vedoucímu ústavu, docentu Kolářovi, moje zadání nelíbí, a že chce, abych místo toho, abych pokračoval na implementaci konceptu pro můj jazyk, koncept raději implementoval do již “zavedeného” jazyka. To by pro mě znamenalo, že místo toho, abych se mohl věnovat dotažení konceptu, bych musel pronikat do kódu cizího kompilátoru. Navíc by to klidně mohlo dopadnout tak, že bych shledal, že abych tam ten můj koncept mohl zavést, tak bych musel prakticky přepsat celý kompilátor. Skvělé. Koncept jsem neměl ještě zcela dořešený, takže jsem ani nevěděl, co všechno by vlastně bylo potřeba udělat.

Tedy jsem se v půlce semestru začal poohlížet po jiném zadání diplomky.

Už dlouho jsem si chtěl zkusit udělat vlastní Minecraft, párkrát jsem se o to i pokusil, něco jsem napsal a pak jsem toho nechal. Tedy jsem zašel za lidma od grafiky a ejhle, nový programovací jazyk s novým (potenciálně) unikátním konceptem neprojde, ale Minecraft ano. Pod svá křídla si mě vzal inženýr Matýšek a myslím, že jsme si celkem sedli. Nakonec jsem docela rád, že to takhle dopadlo. Svoji práci pro SEP jsem si spojil s projektem do GMU (což by u programovacího jazyka nešlo), což mě tento semestr nejspíš zachránilo, protože už tak jsem měl práce na projektech víc, než by mi bylo příjemné. A i samotná práce na tom jazyku a konceptu pro mě byla dost mentálně vyčerpávající – při tvoření diplomky jsem skoro zavařil mozek. V tom mém konceptu je strašně věcí, na které jsem musel myslet najednou, a nedařilo se mi to nějak rozdělit. Myslím, že si práci na svém novém zadání užiju.

I tak ve mě ale ty události zanechaly hořkou pachuť. Tedy jednak to, že se může stát, že člověku v půlce semestru stopnou diplomku, kterou měl domluvenou už půl roku dopředu, a jednak to, že zamítli dle mého názoru naprosto legitimní zadání, které mělo potenciál přinést něco nového, zajímavého a na úrovni. Ano, v tomto ohledu mě FIT zklamal.

SIN | Inteligentní systémy

Dozvěděl jsem se, že existují takové a takové sběrnice a protokoly, že se používají pro to a pro to a že se jmenují tak a tak. Hm. V projektu jsem si nasimuloval křižovatku. Hm. Předmět jsem absolvoval, ale že bych si z něho něco odnesl, to říct nemůžu. Vlastně ano – naučil jsem se pracovat s fuzzy množinami a fuzzy inferencí. To bylo zajímavé. Pak jsem si ještě zopakoval DEVS ze SNT a neuronové sítě ze SFC z minulých semestrů.

ZZN | Získávání znalostí z databází

Tohle byl učivem zajímavý předmět. Měl jsem možnost nahlédnout do mnou dosud neprozkoumané oblasti dolování dat. Naučil jsem se o rozhodovacích stromech, shlukovacích technikách apod. Jako projekt jsem si s kamarádem vzal vlastní zadání, kdy jsme si stáhli hodnocení filmů uživateli z ČSFD a snažili jsme se vytvořit systém, který bude odhadovat, jak by daný uživatel hodnotil daný film. Doktor Bártík byl, co se týče obhajob a hodnocení, naprostý pohodář.

GMU | Grafické a multimediální procesory

Nejlepší předmět tohoto semestru. V podstatě to bylo o GPU a o akceleraci algoritmů na GPU. Přednášky vedli pánové Drábek, Milet a Kula. Pan docent Drábek měl příjemný přednes, bohužel však vhodný spíše k předčítání před spaním. Navíc většina jeho materiálů sestávala z výčtů, kolik měl který procesor grafických jader apod., a tak jsem jeho přednášky spíše vynechával. Inženýři Milet a Kula měli intenzivní přednášky, na které jsem chodil velmi rád a na kterých jsem hysterickým tempem objevoval pro mě nový svět výpočtů na GPU. Příjemnou věcí bylo také to, že nás učili i o moderních technologiích a měli jsme tam zahrnuta třeba i nová RTXka od nVidie.

U projektů byla k dispozici zajímavá zadání a bylo možné přijít se zadaním vlastním (já jsem si takto mohl spojit podstatnou část práce s mými zájmy pro diplomku). U obhajob se pak ukázalo, že představy o rozsahu práce se mezi učiteli a studenty poněkud liší. Já jsem šel na několik konzultací, takže jsem věděl, co ode mě chtějí, ale musím říct, že ačkoli je fajn, že se mě snažili motivovat k udělání něčeho pořádně, tak na to, že to byl volitelný předmět, to bylo docela hardcore. Kdybych neměl spojenej projekt z GMU a SEP, tak si nejsem jistej, jestli bych tenhle semestr ke konci psychicky zvládl.

Ještě bych zmínil zkoušku. Bylo velmi milé, že nám poskytli seznam otázek/okruhů, podle kterých jsme se mohli učit (kor když na fitušce nebylo k tomuto předmětu skoro nic a učivo se podle všeho docela měnilo). Velká část otázek byla poněkud abstraktní, takže jsem si úplně nebyl jistý, co se učit – otázka byla například “popište principy vývoje grafických procesorů” a ve slidech byly věci ve stylu “1990: GPU XXX: 12 GFLOPs; 1995: GPU YYY: 15 GFLOPs”. Na zkoušce jsem ale ztratil jenom tři body, takže se mi zřejmě podařilo odhadnout, co po nás chtěli. Ve výsledku bych asi i řekl, že pokud jste si ty věci osahali na cvičeních a v projektu, tak že zkouška nebyla ani nijak extra složitá, učivo se dobře pamatovalo.

GUX | Grafická uživatelská rozhraní v X Window

Jelikož se zaměřuju na tvorbu desktopových GUI aplikací v Qt, řekl jsem si, že by nezaškodilo podívat se i na relevantní alternativy – v tomto případě tedy na Gtk. No, současně s Gtk jsem byl nucen se podívat i na X Toolkit/Motif (a to prakticky ve stejné míře), což jsem v dnešní době úplně nechápal. Taky bylo dohromady za oba projekty (8 Motif + 12 Gtk) jenom dvacet bodů, což mi u takovéhoto předmětu s prakticky zaměřeným tématem připadá zvláštní. Na druhou stranu, otázky se daly docela lehce naučit a nikde nebyly prakticky žádná minima, takže prostě stačilo jakkoli nasbírat padesát bodů. Raději bych u tohoto předmětu viděl upuštění od zkoušky a větší zaměření se na složitější projekt v Gtk.

SMT | Seminář matematických struktur

Ačkoli jsme MAT udělal už v minulém roce, přihlásil jsem se nyní na seminář matematických struktur. Proč? Protože mi do 120 kreditů potřebných ke zdárnému ukončení studia chyběly v plánu dva kredity, které právě nabízel tento předmět. A říkal jsem si, že menší opáčko matiky na státnice mi také neuškodí. No, jako příprava na státnice to moc nefungovalo, protože jsem na tříhodinových večerních seancích nebyl schopný udržet pozornost, ale ty kredity jsem dostal 🙂

 


 

VUT FIT | Rozcestník

Bakalářské studium

Magisterké studium (obor MIN | Inteligentní systémy)