To bylo elánu, to bylo motivace… Před odjezdem na Erasmus jsem se rozhodl trochu oživit svůj blog, ale nakonec mě studium (a nejen to) tolik zaneprázdnilo, že poslední příspěvek jste si mohli užít někdy v říjnu a od té doby ticho po pěšině. Ale není třeba se strachovat! Zbylou špetku elánu jsem zrovna našel pod postelí a odhodlal jsem se tedy aspoň ke shrnutí předmětů druhého kvartálu na TU Delft, abychom se mohli dostat k zajímavějším věcem

Zkoušky prvního kvartálu

V posledním postu jsem popsal předměty, které jsem měl v prvním kvartálu. Methodology of Science and Engineering a Cloud Computing byly pouze jednokvartálové, a proto jsem je zakončil už na konci října. Pro úspěšné splnění prvního stačilo řešit domácí úkoly a pak napsat zkoušku, která se jim svým zadáním dost podobala. Rozhodně nešlo o můj nejoblíbenější předmět, celé to bylo hlavně o logicky správné konstrukci vědecké argumentace, ale zkouška nebyla nikterak náročná a odnesl jsem si z ní 9 bodů z 10 (což je ale v převodu na naše známkování A).

Amazon Web Services jsme využili k nasazení naší aplikace

Už v prvním příspěvku jsem se zmiňoval, že Cloud Computing byl velice zajímavý předmět zaměřený na state-of-the-art technologie využívané v tomto oboru a zároveň nutící studenty číst mnoho vědeckých paperů, psát na ně reviews a dělat o nich prezentace. Hlavním zakončením předmětu byla ale týmová práce na reálné cloudové aplikaci. Se svým kolegou jsme se rozhodli vytvořit aplikaci v Javě měnící velikost obrázků, která poběží na Amazon Web Service prostředí a bude se škálovat podle vytíženosti. Inu, implementace nebyla z nejlepších, hlavně kvůli nedostatku času jsme to úplně nestihli dotáhnout, a tak podle toho vypadá i závěrečný report (hlavně experimentální sekce je trochu prázdná, poněvadž většinu experimentů jsme na našem systému ani nemohli spustit). Každopádně i přes všechny tyto problémy jsem i z tohoto předmětu dostal 9 bodů, díky čemuž jsem byl svými kamarády označen za “nechutného šprta”. Nic nového pod sluncem.

Předměty na celý semestr

Minule jsem vám popsal tři dvoukvartálové předměty, které trvají celý semestr a jsou zakončeny v lednu, tak se k nim pojďme vrátit. Na začátek musím bohužel konstatovat, že Advanced Algorithms, i přes nepopiratelnou zajímavost, jsem z nedostatku času přestal navštěvovat. Domácí úkol na desítky hodin každý týden byl prostě prvním kandidátem na cestu do akademického nebe. Navíc přesně kvůli takovýmto případným komplikacím jsem si na začátku vybíral předměty za víc než 35 kreditů.

Dalším předmětem bylo Introduction to High Performance Computing. Předmět zaměřený převážně na paralelní aplikace, část předmětu se věnovala paralelním programovacím modelům a hardwarovým architekturám pro paralelní výpočty, druhá pak paralelním algoritmům. Legendární PARy na FITu jsem ještě neměl, ale podle toho, co jsem zaslechl, je úvod do HPC proti nim velice slabá káva. Během semestru jsem předmětu prakticky žádný čas nevěnoval, až během zkouškového jsem začal pracovat na laboratorní práci, která však oproti ostatním předmětům nevyžadovala příliš vlastní invence a šlo spíš o následování konkrétního postupu, u kterého bylo nutné sem tam přemýšlet. Stejně tak zkouška nebyla nikterak náročná a kdybych ji měl porovnat s jinými předměty za 6 kreditů na FITu, umístila by se jako jedna z nejlehčích. Výsledek nicméně ještě nemám, tak uvidíme…

Pro svůj “vědecký” paper jsem využil síť Instagram.

Druhým celosemestrálním předmětem byl Web Science and Engineering. Jeho druhá část byla trochu víc zaměřena na dolování dat z webu a jejich využití, převážně proto, že naše závěrečná práce se měla týkat něčeho takového. Měli jsme využít webová data v nějakém urbanistickém kontextu. Přednášky patřily k těm nejzajímavějším na univerzitě a týkaly se např. sociálních sítí, dolování dat z Twitteru apod.

Jako závěrečnou práci jsme měli odevzdat klasický “vědecký paper”, zajímavé na zadání ale byl fakt, že vyučující netrval na jeho kompletnosti. Zajímal ho spíš návrh a struktura paperu, spíš než reálný výsledek, a proto jsme měli volnost a mohli jsme si např. vymyslet data, pokud budou v paperu prezentována správně. Já jsem se ve svém “výzkumu” zaměřil na sociální síť Instagram a pomocí geolokačních informací u jednotlivých fotek jsem připravil strukturu frameworku, který by měl dokázat určit nejvíce pitoreskní místa ve městech, tj. taková, která nejvíce lákají k vyfocení. Práce taktéž ještě není ohodnocená, navíc myslete na nereálnost dat, pokud ji budete třeba číst.

Nové jednokvartálové předměty

Jedním ze dvou nových předmětů, které mi přibyly v listopadu, byl Software Reengineering. Šlo o jeden z nejzajímavějších předmětů, které jsem doposud studoval a byl celý zaměřen na proces “vylepšování již existujícího software”. Představili jsme si různé programátorské principy apod., ale přednášky rozhodně nebyly středobodem předmětu. Studenti v dvoučlenných týmech totiž dostali za úkol pracovat s reálným open source systémem, najít v něm potencionální problematické sektory a některé z nich poté refactorovat. My jsme se zaměřili převážně na refactor MVC balíčku starající se o prezentaci front-endové vrstvy a bylo to velice zajímavé.

Nejdůležitější metriky kódu pro kvalitu otázky

Nejdůležitější metriky kódu pro kvalitu otázky

Asi úplně nejlepším předmětem na TU Delft byl Mining Software Repositories. Ten se věnuje oboru, který se z dat dostupných v různých repositářích jako je GitHub, StackOverflow, ale i třeba BugZilla nebo obyčejné emaily snaží najít zajímavá data a ty pak využít ke zlepšení softwarového vývojového procesu. Díky těmto datům lze třeba předem odhadnout pravděpodobnost, že nějaká část kódu bude obsahovat chybu. Předmět ale nabídl jen základní vhled do této problematiky, protože hlavní byla opět týmová práce.

Všechny týmy se v předmětu účastnili tzv. Mining Challenge, která je součástí konference ve Florencii. Za úkol jsme měli využít veřejně dostupná data ze StackOverflow a získat z nich nějaké zajímavé informace. Pro mě šlo rozhodně o jeden z nejzajímavějších projektů, na kterém jsem doposud v životě pracoval a ještě teď obdivuhodně koukám na paper, který jsme nakonec stvořili. My jsme se zaměřili na úryvky kódu, které se nacházejí v otázkách na StackOverflow a pomocí jejich analýzy jsme se pokusili předpovědět, jaká je kvalita dané otázky. S využitím různých statistických algoritmů se nám podařilo dosáhnout úspěšnosti 80 %, což nás velice překvapilo, protože tím směle konkurujeme podobným výzkumům, které akorát používají jiné metriky k analýze otázek. Uvidíme, jak budeme nakonec ohodnoceni (a navíc možná pošleme náš paper i na zmíněnou konferenci 🙂 ).

 Co dál?

Pokud se mi do příště motivace někam nezašantročí, tak se můžete těšit na nějaké závěrečné shrnutí celého pobytu a když budete příkladně hodní, tak třeba i nějakých doporučení.

V případě, že by se tak nestalo, tak jen velice stručně: Neváhejte a jeďte na Erasmus, sakra!