neděle 27. ledna 2013

Projekt - IMP (VUT - FIT)

Více o projektu na stránce: http://matejmarecek.blogspot.cz/2013/01/vut-fit-5-semestr.html

DOWNLOAD:

https://docs.google.com/file/d/0BzEavpv8QogcNW9VdWJ4dGphaDA/edit

Projekt - IMS (VUT - FIT)

Více o projektu na stránce: http://matejmarecek.blogspot.cz/2013/01/vut-fit-5-semestr.html

DOWNLOAD: 

https://docs.google.com/folder/d/0BzEavpv8QogcRkdDbkI4dFppa0k/edit

VUT FIT – 5. semestr

Tak a je to tady. Moment, na který jsem tak dlouho čekal. Konec pátého semestru bakalářského studia na VUT FIT. Jelikož jsem si v tomto zimním semestru zapsal docela dost kreditů, tak mě v letním semestru čeká prakticky už jen bakalářská práce a státní závěrečná zkouška. I když píšu „jen“, tak si jsem vědom toho, že to asi bude ještě docela dost „záhul“, ale kdo by si chtěl kazit náladu z právě ukončeného semestru, že? :-)

Každopádně jako každý semestr i tento dostane krátké shrnutí, ať mí nástupci vědí co a jak.

IIS - Informační systémy

Název tohoto předmětu již dává tušit, co by mělo být jeho náplní. Bohužel z přednášek, které jsem navštívil, bych to nepoznal.

I přes zjevnou snahu přednášejícího byly přednášky jedno velké utrpení. Pominu-li nudnou látku, tak udržení pozornosti bránil i fakt, že přednášející mluvil do ručního mikrofonu a jelikož se stále otáčel na plátno, tak kolísala hlasitost. Výsledek? Jednou člověk neslyšel nic, podruhé mu málem upadly uši a po chvíli vás toho začne bolet hlava. Naštěstí se stalo, že jednou byly v ručním mikrofonu vybité baterie. Říkali jsme si, že máme konečně zajímavou hodinu… bohužel toto nadšení nám vydrželo jen 10 minut, než byly dodány nové baterie a připínací mikrofon vyměněn za ruční. Od té doby přestal na tyto přednášky chodit.

Na mou obranu, snaha byla… bohužel to dopadlo, jak dopadlo. Čekal jsem, že se naučím, jak se doopravdy dělají IS. Tedy jak je navrhovat, dělat architekturu, na co si dát pozor, kdy použít jaké technologie, kde nasadit ASP .NET, kde Javu, kde Silverlight/Flash a kde si vystačíme s HTML a AJAX + PHP. Nic z toho ovšem obsahem předmětu nebylo. Ani to, jak správně provézt analýzu požadavků od zákazníka a navrhnout mu vhodné řešení.

Jaké jsou tedy mé výsledné znalosti? Nějaká teorie, kterou ani nevím jak aplikovat a jestli je vůbec aplikovatelná, OLAP kostka, JS + PHP, teorie o kolekcích a SGML/XML/XSLT/DOM. Jediná zajímavá přednáška z těch co jsem navštívil a na které jsem se ocitl neplánovaně, byla o PHP s panem Burgetem (bohužel byla z velké části zbytečná, jelikož na spoustu z toho, co nám vykládal, je lepší použít manuál).

V předmětu se píše jak půlsemestrálka, tak semestrálka. Obě písemky měly podle mě odpovídající úroveň. Tedy nebyly tam nějaké zabijárny a podpásovky (pominu-li, že na obou písemkách byl příklad na XSLT o kterém jsem se dobrovolně rozhodl, že se učit nazpaměť nebudu). Navíc bodové hodnocení také odpovídalo +- tomu, co jsem tam napsal. Tedy v tomto ohledu spokojenost.

Pokud jde o to, z jakých materiálů se připravovat, tak odpověď je: Nevím. K předmětu jsou skripta, které jsou ovšem smíchána s dalšími 2 předměty, takže nevíte, co z nich se máte učit. Záznamy z přednášek nebyly (tady se sluší říci, že studentům jejich absence v nejmenším nevadila) a tak jediné, co zbývalo, byly slidy. A jelikož jsem předmět dal a v písemkách neměl výraznější problémy s otázkami, tak se dají slidy považovat za dostatečný zdroj informací.

V předmětu je také projekt. Udělat IS. Má to na starosti pan Burget, takže očekávejte vstřícný přístup a rychlé/korektní odpovědi v oficiálním fóru. Také vám dovolí požít Javu EE a do PHP/JS frameworky dle libosti. Zkrátka štěstí, že projekty vede zrovna on.

Co se týče témat, tak byste měli pokračovat v tom, co jste navrhli v IUS a v IDS k tomu udělali databázi. V mém případě zadání „Zubní ordinace“, které jsem s radostí zahodil a vzal si s novým kolegou rezervaci letenek. To sice znamenalo začít úplně od začátku, ale v 5. semestru již máte takové znalosti, že to vůbec nevadí.

Jediný zádrhel nastal při opravování projektu, kdy opravující zažádal o vysvětlení/prezentaci a vstřícně nabídl, že to můžeme vyřešit i přes Skype. Bohužel mám doma ADSL připojení, tak jsem raději natočil video, kde ukazuji IS. Výsledek… pod stromeček mi došel full-point. :-)

http://www.youtube.com/watch?v=IdfKmxGCzgE

IMP - Mikroprocesorové a vestavěné systémy

Další nadílka povinného hardware na FIT. Já vím, pro spoustu studentů nezáživný předmět. Proč se učit něco, čím se v budoucnu nebude zabývat? Proč to není volitelné? Na to bohužel nedokáži dát fundovanou odpověď.

Mohu vás ovšem potěšit, že stejně jako předchozí HW předměty i tento není nikterak náročný a navíc jej vedou skvělí lidé, kteří si zaprvé uvědomují, že HW nebaví všechny a umí látku zajímavě podat.

Přednášky má většinou pan Schwarz, který pěkně povídá o jinak nezáživných věcech. Občas se tam na nějaké věci „s drátkami“ objevil i pan proděkan Růžička, který toto téma také dokáže pěkně podat. Demonstrační cvičení (myslím, že byla až 4. přednášející hodinu), mají také lidé, kteří vědí, o čem mluví a ukazují prakticky použitelné věci.

Samotná HW cvičení jsou myslím až od půlky semestru a jsou celkově 4 (2 v asembleru a 2 v C, každé za 4 body). Bohužel poslední cvičení jsem nestihl kvůli reklamacím projektu v ISA (viz. níže). Vede je pan doktor Strnadel. Vše vysvětlí a napíše na tabuli, takže i když tam přijde a říkáte si WTF, tak nakonec skoro všichni mají za cvičení plný počet bodů (nicméně nějaká ta příprava předem se hodí).

Co se týče projektu, tak je výběr z celkem dosti témat. Většinou jsou také rozděleny na projekty v Code Warrior IDE a FITkitu. Nevím, jak se to stalo, ale nějak jsem propásl refresh war a všechna pro mě srozumitelná zadání byla okamžitě plná, tak jsem si zaregistroval něco jako tachometr. Další nepochopitelná věc se stala, když jsem si o dva týdny všiml, že ani ten tachometr nemám zaregistrovaný (asi miss-click) a poslední volné zadání byla robotická linka navíc na FITkitu.

Poté, co jsem několik hodin luštil zadání a stále plně nechápal, o co jde, tak jsem si řekl, že to můžu rovnou zabalit a IMP si zopakuji další rok. Naštěstí byl vedoucí tohoto projektu pan Strnadel. Tedy na dorazy na fóru odpovídal, vysvětloval, a jakmile jsem pochopil zadání, tak navrhnout konečný automat byla hračka, podívat se, jak funguje Free RTOS, také v pohodě (v repositáři je na to krásné demo, také myslím od Strnadela).

Stačí tedy tento projekt z repositáře vzít, trochu poupravit buildovací soubor a poté samozřejmě napsat vlastní main.c a jste hotovi. S Free RTOS je toto velice průzračné a více jak na drobnosti se můžete soustředit na algoritmy, co píšete.



Nakonec se z toho stal nejlehčí projekt v tomto semestru. Navíc jsem si ho mohl osobně obhájit na posledním cvičení (místo odevzdání vypracovaných posledních laborek, které jsem za méně jak jednu hodinu neměl moc šancí stihnout), jehož první polovinu jsem kvůli ISA nestihl. Výsledkem byl plný počet bodů.

Celkově se dá říci, že tento předmět mi zase o něco více rozšířil obzor z oblasti HW (navíc jedna přednáška byla od experta z praxe) a přístup lidí byl skvělý. Smůla, že takoví nejsou na FITu všichni. Hned by se tam lépe studovalo.

Download projektu je na stránce: http://matejmarecek.blogspot.cz/2013/01/projekt-imp-vut-fit.html

IMS – Modelování a simulace

Největší postrach pátého semestru. Těžký projekt, zcela nová látka atd. atd. Skutečnost byla pro mě ovšem poněkud jiná.

Jelikož se jedná zatím o neprobírané téma, tak o to pro mě bylo zajímavější. Přednášky, které vede pan Peringer jsou srozumitelné, mají hlavu a patu a navazují na sebe. Užijete si také v dostatečné míře "Windows hate" mezi-vstupy. :-D

Slidy jsou také pěkně udělané, navíc se nemusíte šprtat teorii nazpaměť. Samozřejmě, že ji také musíte umět, ale není to abstraktní tlachání o čem, tak jak pro mě bylo IIS.

Studijních materiálů je také dostatek. Kromě slidů, je k dispozici i solidní opora a vše jistí záznamy z přednášek. Navíc se konají demonstrační cvičení zaměřená na Petriho síť a SIMLIB + se dozvíme něco obecně k projektům.

Na půlsemestrálce nebylo nic nečekané. Pan PePe řekl, že tam bude Petriho síť a také tam byla. Kdo ji neuměl, tak to byla jeho věc/hloupost. A ani další věci nebylo nic neznámého (možná mohly být o něco jasnější otázky, ale to je vše).

Semestrálka… také nic, co bychom nemohli očekávat. Příklady na řešení Eulera, rychlé smyčky, analytické řešení M/M/x atp. Vše se probíralo na přednáškách a dopředu se vědělo, že podobné příklady se tam objevují každý rok. Tedy připravit se dalo.

Problém byl spíše v tom, že nebylo možno používat kalkulačku a přesto, že obtížnost numerických výpočtů v příkladech nebyla nikterak vysoká, tak se občas stalo, že při úpravě zlomků se mi kouřilo z uší a ztrácel jsem zbytečně čas něčím, co nebylo náplní studia IMS. Bohužel mi na kvůli tomu nezbyl čas na poslední příklad (jediný předmět, kde mi nestačil čas na napsání semestrálky).

Co se týče projektu, tak ten byl velice zajímavý. Dělal se ve skupinkách po dvou lidech, takže jste si museli najít nějakého kolegu. Naštěstí se mi podařilo natrefit na borce, který opakoval a věděl tedy co a jak. Navíc bylo dobré, že z počátku věděl „o co go“, takže jsme měli plynulý rozjezd.

Jako první krok v tvorbě projektu doporučuji nastudovat si o daném problému co nejvíce informací. Tedy v mém případě jsem se musel naučit, jak funguje uvnitř Apache HTTP Server, jak se pracuje s preforkingem atd. Doporučuji si tedy přečíst http://www.fmc-modeling.org/category/projects/apache/amp/Apache_Modeling_Project.html + nějakou knihu o Linuxovém jádře (rozhodnete-li se, že na serveru poběží tento OS). Dále se hodí zjistit, jak fungují jádra v CPU, různé úrovně cache paměti, jejich fyzikální a jiné parametry, RAM, HDD/SSD, DMA, databáze (zase dle výběru) a spousta dalších věcí.

Poté je ovšem potřeba toto kvantum informací protřídit a vybrat si pouze to podstatné, co má největší vliv na chod serveru. V našem případě jsme například zanedbávali různé úrovně cache pamětu u CPU a trochu zjednodušili databázi. Na druhou stranu jsem si zase vyhrál s modelem webového serveru, abychom v modelační studii ukázali, jak moc jsme šli občas do hloubky.

Také jsme chtěli mít hezčí grafy z GNUplot a tak jsem v Javě napsal prográmek, který dělal průměr z určitého vzorku dat a tak graf zpřehledňoval a šlo poté více vidět to, co nás zajímalo. Bohužel to je jediné, co jsem v Javě do tohoto projektu udělal. Na rozdíl od minulých let jsme mohli použít pouze C++/SIMLIB, což mě trochu rozladilo, jelikož jsem se těšil, že konečně budu moci psát v .NET/Java.

Za práci jsme dostali full + 2 body navíc, které mi doplnily 2 hody, které jsem ztratil u půlsemestrálky. Tedy spokojenost maximální.

Download projektu je na stránce: http://matejmarecek.blogspot.cz/2013/01/projekt-ims-vut-fit.html

IPZ – Periferní zařízení

Další HW předmět. A ani k němu není moc co říci. Probírají se tam prehistorické sběrnice z dob dávno minulých (z mládí pana přednášejícího). Navíc je musíte celkem detailně umět, což většinu lidí ještě více odradí.

Tedy místo lehkého poohlédnutí se za minulostí provádíte studium zkamenělin a nejnovější k čemu si přičuchnete je USB. Něco jako HDMI a Thunderbolt je z říše snů. Jediné pozitivum na tomto jinak nudné předmětu bylo, že písemky byly „datelné“ a jejich opravování odpovídalo podle mě realitě. A ani za Bčko, které jsem dostal, si nestěžuji. Pouze mě mrzí, že kdybych si mohl dát místo toho předmětu něco, co mě zajímá, tak ten čas strávený učením mohu využít ke studiu něčeho zajímavějšího a přínosnějšího.

ISA - Síťové aplikace a správa sítí

Pro mě jednoznačně největší poděs v tomto semestru. A nejde ani tak o to, co je náplní předmětu. Ano sítě mě totálně nezajímají, a přesto musím uznat, že obsah přednášek byl poměrně zajímavý (pro síťaře určitě).

Problémů v tomto předmětu bylo několik. Za prvé, přednášky byly od sedmi ráno… to mluví za vše. Za další, cvičení do tohoto předmětu totálně useless. Přijdete tam, na počítači vyplníte test v Moodle a poté se teprve bez jakéhokoli vysvětlení ze strany vedoucího máte pustit do „síťařiny“. Problém v tom, že otázky v testech mi přišly totálně na palici. Tedy ani bodové ohodnocení noc moc a podobně tomu bylo u veliké části mých kolegů. Tedy lidé znechuceně odcházeli po 10 minutách pryč, jelikož je tam nic nedrželo. Já se alespoň snažil udělat první cvičení, ale po té, co mi po třetí po sobě zhavarovalo FreeBSD, tak jsem odešel a ani jsem se nesnažil tu práci udělat doma.

Další znechucení přišlo s projektem. Už v samotném zadání je napsáno, že pokud vám program spadne nebo nedodržíte například Unixové konce řádků v readme (pointless), tak máte 0 bodů. Toto samotné dokáže lidi pěkně otrávit. Ale dobrá. Dejme tomu. Co mě naštvalo maximálním způsobem, tak bylo ohodnocení projektu a následné konzultace. Prostě na projektu jsem strávil hromadu času (DNS Proxy server), se vším si snažil vyhrát, udělal několik verzí (s vlákny, forkovaním i multiplexingem) a nakonec vybral tu nejrychlejší verzi. Také všude uvolňoval paměť atd. Dokumentace… s tou jsem se doslova a do písmene mazlil. 11 stránek textu, vysvětlující obrázky architektury, vše srozumitelně a přitom odborně popsané…

Výsledek… dostal jsem tak málo bodů, že mi to nestačilo ani na zápočet. A prodlužovat o rok kvůli nějaké prkotině se mi nechtělo. Ve WISu bylo navíc jen laxní nic neříkající zdůvodnění.

Vypravil jsem se tedy na konzultace WTF just happened. Přišel jsem přesně na čas, kdy měly konzultace začít a překvápko. Chodba plná lidí. Když jsem se po několika HODINÁCH dostal na řadu, tak mi nejmenovaným opravujícím bylo řečeno na otázku „Proč mám tak málo bodů?“, že ani neví.

Otevřel tedy dokumentaci a okamžitě mě zdrbal za to, že ten obrázek na hlavní straně něco pochybného, co jsem stáhl kdesi z i internetu. Ano mnozí si správně domysleli, že jsem tam dal nové logo naší fakulty/univerzity. Při hledání loga jsem totiž hned na hlavní stránce vutbr.cz našel propagaci těchto obrázků, tak jsem je prostě použil. A za odměnu jsem si musel vyslechnout 10 minutovou přednášku o tom, jak je naše nové logo hnusné, že ještě není na 100% oficiálně schválené a že to snad ti ****** ani nechválí. No jen jsem zíral. Dále mě byla dána lekce o tom, že použít bezpatkové písmo pro text je zvěrstvo a modré nadpisy jsou hnusné atp. Ano použil jsem základní šablonu z MS Office, načež mi řečeno, že pánové z Microsoftu jsou hňupové, kteří tomu ani za mák nerozumí.

Nakonec jsme se dostali k otestování samotného programu. Pustil se script, za a pár sekund bylo hotovo. Výsledky seděly na 100%. Jen pánovi opravujícímu se nelíbil jeden z mých counterů (podle zadání jsme si toto mohli implementovat dle libosti). No kdyby četl dokumentaci celou a nezavřel ji při spatření úvodní strany, tak to ví. Škoda mluvit.

Do WISu mi napsal 19 bodů z 21. Což bylo diametrálně odlišné od původního výsledku. Potom si pro sebe něco zabroukal a změnil to na 18. Načež se poškrábal na bradě a dal tam 17. Vůbec nevím proč. To jsem jako 4 body (tedy půlku bodů za celou dokumentaci) ztratil tím, že jsem tam dal logo, které se mu nelíbí a je MS hater? No skvělé. A na můj dotaz proč mi dal původně tak málo bodů, že jsem nedostal ani zápočet odpověděl, že „asi“ chtěl, abych přišel. A stejně to udělal i u ostatních. Ono bylo jistě velice těžké napsat email „Dobrý den, rád bych s Vámi konzultoval projekt do ISA.“. Ne on musel nechat většinu lidí 3 dny v nejistotě, jestli si zbytečně o rok neprodlouží. Tento předmět se pro mě stal prostě noční můrou, a jakmile jsem dostal body ze semestráky, tak jsem si pořádně oddechl.

PS: V tomto předmětu jsou variantní termíny. Doporučuji se tedy pořádně naučit a chodit už od začátku. Potom se vám totiž může stát stejně, jako se stalo několika lidem, že v posledních termínech na vás nevyjde a místo a ke zkoušce se ani nedostanete. A nemá potom ani smysl žádat o navýšení židlí. Pár lidí to zkusilo a samozřejmě neuspěli. Tedy na toto si dávejte pozor. ;-)

ITU - Tvorba uživatelských rozhraní

K tomu není moc co napsat. Inspirativní, kreativní, dobře zpracovaný a vedený panem Beranem. Takových předmětů by na FITu mělo být více. O dost více. A jako bonus si prakticky přičuchnete ke všem možným technologiím na tvorbu GUI (QT, WinAPI, WPF a HTML/CSS).

Moje hodnocení: Jeden z nejlepších předmětů na FIT.

RET – Rétorika

Humanitní povinnost. Za vše uvedu jeden citát uvedený na stránkách: http://www.grada.cz/setkani-s-autory/kariera-a-rozvoj-dovednosti/thmgr-klapetek-milan/

ocenění v podobě zaslechnutého útržku z rozhovoru studentů při zápisu volitelných předmětů: „Vole, zapiš se ke Klapetkovi, to je kanec“