První semestr na Nanyang Technological University

Přicházím k odletové bráně na Letišti Václava Havla a předkládám svůj palubní lístek. Po oskenování kódu se ale rozsvítí červená kontrolka a ozve chybový tón. Asi pro mě už není v letadle místo? Free upgrade! Dostávám nový palubní lístek s titulkem BUSINESS. Bez čekání ve frontě nastupuji do letadla a hned po usazení mě letuška vítá jménem a na stolku mi přistává sklenka šampaňského.

Takhle nějak před 6 měsíci začala moje cesta do Singapuru. Co tam? Díky ČVUT se mi naskytla možnost ročního studijního pobytu na Nanyang Technological University. Jak probíhá takové přijímací řízení, jsem popsal v minulém článku. Teď už mám nějakou dobu za sebou konec prvního semestru, tak se pokusím trochu přiblížit, jak to vypadá na jedné z nejlepších univerzit v Asii.

Kampus

Areál NTU se rozléhá na ploše 200 hektarů a je považován za jeden z nejhezčích kampusů na světě. I přes to, že se skládá z více než 100 budov, všude je spoustu zeleně a připadáte si spíše jako v zahradě. Probíhá zde také iniciativa EcoCampus, jejíž vizí je být nejekologičtějším campusem na světě. Cílem je do roku 2020 snížit o 35 % množství používané energie, vody a odpadu. V praxi to znamená třeba větší pokrytí střech solárními panely, efektivnější systém klimatizace nebo nasazení samořiditelných elektrických autobusů pro přesun po areálu.

Trochu nevýhoda je poloha na úplném západě ostrova a izolace od zbytku města, do centra se jede autobusem a metrem přes hodinu. Od místních tak můžete slyšet výraz Pulau (malajsky ostrov) NTU. Dál na západ už je jen džungle a občas se stane, že vás v koupelně překvapí krajta nebo se dveřmi prokouše luskoun.

Na druhou stranu, pokud bydlíte na kolejích, do města skoro není potřeba jezdit, na kampusu je vše potřebné – supermarket, restaurace, food courty, fast-foody (McDonald’s, Subway, KFC, Dunkin‘ Donuts), kavárny (Starbucks, The Coffee Bean & Tea Leaf), kadeřnictví i pobočka banky. Pro sportovní rekreaci je k dispozici stadion, posilovna, tenisové kurty, bazén a běžecká trasa.

IMG_20161117_115350
Hall of Residence 3

IMG_20161116_185422
North Hill Food Court

IMG_20170119_194041
Školní McDonald’s

NTU se skládá z několika fakult, většina jich sídlí ve společné budově a sdílí přednáškové místnosti. Hlavní a nejstarší budova je rozdělena na 2 propojené části – North Spine a South Spine. Chodby jsou většinou z jedné strany otevřené, takže můžete přecházet mezi místnostmi nebo sedět u stolku a být pořád na čerstvém vzduchu. Architektonicky zajímavá je budova The Hive, otevřená v roce 2015. Vzhledem připomíná včelí úl nebo košíky s dim sum (tradiční čínské chuťovky). Uvnitř jsou menší třídy vybavené interaktivními tabulemi a kulatými stoly, u kterých sedí studenti po skupinách. Netradiční rozložení tříd má pomoci realizovat tzv. flipped classroom model, styl výuky založený na větší interaktivitě mezi studenty a učitelem. Za zmínku stojí ještě budova School of Art, Design & Media, která má na celé ploše střechy trávník.

IMG_20170127_121017 (2)
The Hive, „dim sum building“

IMG_20161124_115854
School of Art, Design & Media

Výuka

Délka bakalářského studia v Singapuru je obvykle 4 roky a pak jde většina rovnou pracovat, na magisterský program pokračuje málokdo. Doporučený průchod programem Computer Science je na NTU takový, že první 3 roky se studují povinné předměty, z toho jeden semestr je vyhrazen pro povinný internship. Poslední rok má každý specializované předměty podle svého oboru a pracuje na závěrečném projektu.

Styl výuky u většiny předmětů jsou klasické přednášky a cvičení. U některých předmětů jsou cvičení po menších skupinách, někde jen formou přednášky, kde učitel ukazuje řešení příkladů. Všechny přednášky jsou automaticky nahrávány a můžete si je kdykoliv pustit, ale cvičení se nenahrávají a odpovědi se nezveřejňují, takže se hodí tam být, protože podobné příklady se pak objeví ve zkoušce. V každém technickém předmětu jsme měli nějaký skupinový projekt, jehož výstupem bylo zpracovat několikastránkový report, popisující jak jsme postupovali a jakých jsme dosáhli výsledků.

[CZ4031] Database System Principles → A

Předmět zabývající se principy, na kterých funguje většina relačních databázových systémů. Ne z pohledu uživatele, ale vnitřního fungování databázového stroje. Vše od typů indexů (B+ Tree a Hash index), přes různé algoritmy pro implementaci databázových operátorů (selekce, projekce, vektorový součin, spojení) a optimalizace dotazů prováděné databázovým strojem. Posledním tématem byla správa transakcí a jak mohou být realizovány jejich ACID vlastnosti (atomicita, konzistence, nezávislost, trvanlivost) pomocí logování, zámků a dalších mechanismů. Součástí byly 2 skupinové projekty, které spočívaly v konstrukci SQL dotazů nad relativně velkou databází a následně vytvořením vhodných indexů, aby provedení dotazů bylo co nejrychlejší. Celkem zajímavý předmět, díky kterému jsem pochopil, co všechno probíhá mezi tím, co se předá databázi SQL dotaz a tím, kdy se vrátí výsledek.

pgadmin_query_plan
Vizualizace prováděcího plánu v pgAdmin

[CZ4032] Data Analytics And Mining → B+

Jaké je nejvíc trendy povolání pro 21. století? Data mining, nebo-li vytěžování znalostí z dat, je v současnosti hodně populární oblast, překrývající se statistikou, strojovým učením a databázovými systémy. Je možné ho využít třeba k optimalizaci marketingových kampaní, doporučování podobných produktů v e-shopech, detekci zneužití kreditních karet nebo v bioinformatice. Běžný postup spočívá v předzpracování dat, aplikaci vhodných algoritmů (typickými úlohami jsou vytěžování asociačních pravidel, klasifikace, regrese, shlukování a detekce anomálií) a vyhodnocení výsledků. V rámci skupinového projektu jsme si celý proces vyzkoušeli v praxi, náš tým se zabýval predikcí úspěchu studentů na základě demografických a sociálních ukazatelů a dalších atributů. Obsah přednášek a cvičení je založen na knížce Introduction to Data Mining.

infographic

[CZ4042] Neural Networks → B

Výzkum v oblasti umělých neuronových sítí (výpočetní model inspirovaný lidským mozkem) probíhá tak rychle, že obsah tohoto předmětu musí být každý rok upravován, aby zůstal aktuální. Jen během posledního roku se objevily následující aplikace: samořiditelná auta, přirozený překlad cizích jazyků, převod textu na řeč nebo přenesení uměleckého stylu na fotky. Naučili jsme se různé architektury neuronových sítí: Perceptron, Multi-layered Perceptron, Deep Convolutional Neural Network, Autoencoder, Self-Organizing Feature Maps, Principle Component Analysis, Hopfield Networks. Co se matematiky týče, stačila znalost vlastních čísel, parciálních derivací a násobení matic. Některé koncepty jsme si vyzkoušeli i v praxi. Využití MLP pro klasifikaci e-mailového spamu, predikce ceny nemovitostí v Kalifornii na základě jejich dispozic a polohy, rozpoznávání ručně psaných číslic pomocí konvoluční neuronové sítě a využití autoencoderu pro kompresi obrázků. Na přednáškách se probírala většinou jen teorie, ale byly dostupné ukázkové programy pro Matlab. Ten byl i doporučený k řešení úloh, ale mohli jsme se naučit a použít cokoliv. Já si na první úlohy nejdřív vyzkoušel Python s TensorFlow, ale konvoluční síť jsem musel kvůli výkonu trénovat na GPU v laboratoři, kde byl jen Matlab s Neural Network Toolboxem. Od příštího roku má předmět kompletně přejít na Python, který se většinou používá i v praxi.

lenet5
Konvoluční neuronová síť LeNet 5

[HE9091] Principles of Economics → B+

Základy mikroekonomie a makroekonomie podle knížky Principles of Economics. Prošli jsme většinu základních ekonomických pojmů – posuny nabídky a poptávky, elasticita poptávky, maximalizace zisku, externality, ekonomika veřejné politiky, výpočet HDP, nezaměstnanost, finanční trhy, bankovní systém, hospodářský cyklus, mezinárodní obchod a mnoho dalšího. Zase jsem si trochu rozšířil obzory a nějaké ty základy ekonomie by měl znát asi každý.

IMG_20170127_120534
Uvnitř The Hive, kde probíhala cvičení z ekonomie

[LC9001] Chinese Language Level 1 → B+

Singapur má 4 oficiální jazyky. Většinou se dá všude domluvit anglicky, druhým nejpoužívanějším je mandarinská čínština. Ta je zároveň i nepoužívanějším jazykem na světě vůbec. Za semestr jsme se naučili něco přes 100 základních znaků/slov. Gramatika je velmi jednoduchá, jazyk nemá žádné skloňování a časování, v podstatě stačí jen znát slova a skládat je za sebe ve správném pořadí. Výzva jsou čínské znaky, na závěrečný test ale naštěstí stačilo umět pinyin (přepis výslovnosti znaků do latinky). Další komplikací je, že čínština je tónový jazyk, každá slabika se dá vyslovit 4 různými tóny (tón udává, jak by se měla měnit výška hlasu při vyslovování slabiky – konstantní, nahoru, dolů, dolů a nahoru) a tím dostane úplně jiný význam. Hodiny byly celkem zábavné, občas jsme nahlédli do čínské kultury, ale hlavně jsme procvičovali poslech, konverzaci, gramatiku, v domácích úkolech i psaní.

IMG_20170127_121434
Chinese Heritage Centre

Zkoušky

Jak tu probíhají zkoušky? Zkouškové období trvá 3 týdny, každý předmět má předem daný termín a je jen jeden pokus. Zkouška většinou tvoří 60 % výsledného hodnocení, zbytek je práce v semestru. Hodnocení probíhá aplikací Gaussovy křivky, takže záleží, jak dopadnou ostatní. Během semestru tak nikdo netuší, jak na tom je, motivuje to tedy k co nejlepším výsledkům, ale také větší soutěživosti.

Může to vypadat, že jsem se pořád jen učil. Ale o víkendech jsem poznával Singapur, stihl jsem i výlet do Kuala Lumpur a na Pulau Bintan v Indonésii. V polovině semestru je tu tzv. recess week, kdy si místní studenti opakují učivo. Já mezitím jezdil na skútru a surfoval na Bali. #YOLO. Trochu mě tak překvapily docela dobré známky, které přišly měsíc po konci zkouškového.

Z ČVUT do Singapuru

Už před nástupem na VŠ jsem přemýšlel o tom, že bych si nějaký ten semestr vyzkoušel studovat v zahraničí. Je to skvělá příležitost rozšířit si obzory, poznat nové lidi, jinou kulturu a v neposlední řadě také zlepšit angličtinu.

Možnost hlásit se na mezinárodní programy je na ČVUT otevřená pro studenty od druhého ročníku. Způsobů, jak vycestovat, je více. Přes celoevropský program Erasmus se dá dostat na zajímavé školy po celé Evropě. Ale kdo by se chtěl podívat trochu dál, ČVUT má také tzv. mimoevropské bilaterální dohody (MBD) se školami po celém světě – od USA, Kanady, Austrálie až po Japonsko a Čínu.

Výběrové řízení pro MBD probíhá ve 4 kolech, kde v každém kole jsou v nabídce jiné země. Na přihlášce se uvádí vždy 3 školy, seřazené podle priority. Já se přihlásil na podzim minulého roku hned do prvního kola a z nabízených univerzit vybral:

  • Nanyang Technological University, Singapore – Nejrychleji rostoucí univerzita v žebříčku TOP 50, má velký moderní campus s množstvím zeleně a učí se tu celkem zajímavé předměty z oblasti machine learningu i s přesahem do ekonomie. V USA bych asi sice byl vystaven kvalitnější angličtině, ale Singapur mě lákal víc také kvůli své poloze a vlivu asijské kultury.
  • University of Wisconsin–Madison, USA – Největší a nejstarší univerzita ve Wisconsinu, asi nejprestižnější v USA, se kterou má ČVUT dohodu. Madison je celkem malé pěkné univerzitní město.
  • Union College, Schenectady, USA – Relativně malá, ale v USA také docela uznávaná univerzita.

Podle čeho se rozhodne, zda a kam vlastně pojedete? Hodnotí podle několika kritérií. Tím prvním je motivace. Součástí přihlášky je motivační dopis v angličtině, kde je potřeba vysvětlit, proč chcete jet do zahraničí, a ke každé univerzitě připsat nějaký smysluplný důvod, proč zrovna tam.

Dalším kritériem je písemný test z angličtiny. Ten obsahoval několik úkolů především na slovotvorbu, doplňování slov do textu, a nakonec jsme měli napsat esej na téma “old vs. modern, large vs. small universities”. Přišlo mi to celkem jednoduché, z testu jsem získal 19 bodů z 20. Následoval anglický pohovor ve dvojicích, kde jsme měli nejdříve říct něco o školách, které jsme si vybrali, a potom jsme se bavili o nějakém tématu souvisejícím s naším oborem, u mě to bylo konkrétně o tom, co je machine learning a kdo stál u zrodu počítačů. Z pohovoru jsem dostal 17 bodů z 20. Posledním kritériem je pak průměr za celé dosavadní studium.

Výsledek přijímacího řízení jsem se dozvěděl koncem ledna. Vyšla mi hned moje první volba, NTU v Singapuru, což mě celkem potěšilo. Tím jsem však byl pouze nominován ze strany ČVUT a nastalo ještě dlouhé čekání na vyjádření o přijetí od NTU. Měla by to být jen formalita, přesto nám ale bylo doporučeno, ať s nákupem letenek ještě počkáme. Uvítací dopis nakonec dorazil koncem května.

Tak jsem si koupil letenku, kufr, průvodce Lonely Planet, zařídil očkování, která se do asijských zemí doporučují, a odletěl. Všechno to bylo dost narychlo. Teď už jsem týden v Singapuru. Semestr tady totiž začíná už v srpnu a končí v listopadu, celý prosinec jsou prázdniny a druhý semestr začíná v lednu. A jelikož tu zůstávám na oba semestry, snad dokážu dostatečně proniknout do místní kultury. Určitě budou tedy následovat články o výuce na NTU a životě v Singapuru, lah!

Čtvrtý semestr na FIT ČVUT

Další semestr ukončen. Je vidět, že nejtěžší předměty už mám asi za sebou, protože tentokrát jsem zakončil zatím nejlepším průměrem za celé studium. Ale úplně bez práce to také nebylo. A co že jsem tento semestr studoval?

[BI-BEZ] Bezpečnost → B

Předmět se zabývá především kryptografií (věda o šifrování). Nejdříve se proberou matematické principy různých typů historických i v současnosti běžně používaných šifer, nahlédne se i do budoucnosti úvodem do kvantové kryptografie. Potom se prakticky jednotlivé šifrovací techniky vyzkouší při programovacích úlohách v C s využitím knihovny openssl, např. k zašifrování obrázkového souboru nebo ručnímu navázání šifrovaného spojení přes internet.

[BI-EP2] Efektivní programování 2 → A

Volné pokračování volitelného předmětu EP1. Tentokrát témata velmi úzce souvisí s paralelně zapsaným předmětem BI-GRA, takže jeho absolvování pomůže pochopit většinu algoritmů probíraných na přednáškách v onom předmětu. Forma je stejná jako u první části předmětu – řešení úloh z minulých ročníků programovací soutěže a následná diskuse různých řešení studentů. Předmět je ukončen semestrální prací, která spočívá ve vytvoření zadání vlastní úlohy, napsání referenčního řešení a přípravě testovacích dat. Je zajímavé se podívat na věci i z té druhé strany.

[BI-GRA] Grafové algoritmy a základy teorie složitosti → B

Docela zajímavý oborový předmět zabývající se různými grafovými algoritmy, které mají v praxi široké využití, od hledání nejkratší cesty na mapě po optimální rozvržení přednášek do místností. Bojoval jsem s ním však do poslední chvíle. Testy na cvičeních během semestru mi přišly dost těžké, především tím, že se na ně nedalo moc připravit. Nakonec jsem ale body dohnal na dvou programovacích úlohách, teoretickém midtermu a první části zkoušky. Na druhou část zkoušky se totiž také moc připravit nedalo, úkolem bylo analyzovat problém a navrhnout algoritmus pro co nejefektivnější řešení. Problém byl ale dost nepřiměřený tomu, co jsme dělali v semestru. A nebyl to jen můj pocit, úplně správné řešení totiž neměl nikdo.

[BI-OSY] Operační systémy → A

Základní principy fungování všech operačních systémů – komunikace mezi procesy a vlákny, přidělování výpočetního výkonu vláknům, stránkování operační paměti, principy fungování různých souborových systémů. Součástí hodnocení byly 2 programovací úlohy – implementace vícevláknového programu typu producent–konzument a simulace stránkování paměti. U zkoušky pak počítací příklady zaměřené na přesné pochopení jednotlivých oblastí.

[BI-PJP] Programovací jazyky a překladače → A

Další oborový předmět, kde pochopíte, k čemu byla všechna ta teorie v BI-AAG. Výstupem je semestrální práce, jejíž náplní je implementace frontend části překladače pro zjednodušený jazyk Pascal – tedy vytvoření lexikální analyzátoru, syntaktického analyzátoru a překlad do abstraktního syntaktického stromu backendu gcc. Pro plné bodové hodnocení bylo potřeba v jazyce podporovat základní konstrukty jako deklarace a přiřazení proměnné, pole, podmínky, cykly, funkce s parametry a rekurzivní volání.

[BI-PSI] Počítačové sítě → B

Tady jsme se naučili, jak funguje internet a prošli detailně všechny vrstvy modelu ISO/OSI. V laboratořích jsme pak teorii procvičovali konfigurací Cisco routerů. Programovací úlohy spočívaly v napsání TCP klienta a UDP serveru.

Zbývá mi teoreticky poslední rok, ale už teď vím, že si studium ještě o rok prodloužím. Na další dva semestry totiž odjíždím studovat do zahraničí. O tom ale asi napíšu více v dalším článku.

Třetí semestr na FIT ČVUT

Mám za sebou třetí semestr, což také znamená, že už jsem v polovině bakalářského studia. Třetí semestr je doba, kdy je dobré mít vybraný svůj studijní obor, protože tady se začínají lišit doporučené průchody studijním programem. Ještě před nástupem na FIT jsem měl představu, že budu studovat Softwarové inženýrství, praktický obor zaměřený na práci v týmu na reálných projektech.

Nakonec jsem se ale rozhodl pro obor Teoretická informatika. Proč? Nevěnuje se tu tolik času tomu, jak programovací jazyky a nástroje používat k tvorbě aplikací, ale spíše jak skutečně fungují a třeba i jak si vytvořit jazyk vlastní nebo rozšířit existující. Neučí se tedy věci, které mohou být jinak ještě než školu vystudujete, ale základy, na kterých to všechno stojí. Naučit se postavit něco nad tím už je pak podle mě záležitost samostudia a praxe.

[BI-AAG] Automaty a gramatiky → C

aag-strip Z tohoto předmětu je mezi studenty asi největší respekt. Jeho cílem je seznámit s hierarchií formálních jazyků, gramatik, kterými se dají tyto jazyky zapsat, a výpočetních modelů, které tyto jazyky přijímají. Od konečných automatů, přes zásobníkové automaty až k Turingovu stroji. Nakonec základy teorie složitosti a vymezení problémů, které už počítač vyřešit neumí.

Zkouška se skládá z rozstřelu, písemné části a ústní zkoušky. Je to první předmět, u kterého je ústní zkouška povinná součást a neslouží jen k vylepšení známky. Je tedy potřeba opravdu dobře všemu rozumět, umět formálně zapsat, ale i vysvětlit.

[BI-DBS] Databázové systémy → A

Calkem jednoduchý předmět pro každého, kdo někdy pracoval s databází. Začne se uvedením formálního systému relační algebry, která poskytuje teoretický aparát, který je základem všech relačních databázových systémů. Hlavním cílem předmětu je pak naučit se jazyk SQL a vyzkoušet si návrh a implementaci databáze v databázovém stroji Oracle.

[BI-EFA] Efektivní algoritmy → B

První oborový předmět, pojmenoval bych jej spíše Datové struktury. Po zopakování polí a spojových seznamů jsme se vrhli na rozptylovací tabulky, binomiální a Fibonacciho haldy, vyvažované vyhledávací stromy (B–stromy, AVL a Červeno-černé stromy). Během semestru nás čekaly 3 domácí úlohy v Progtestu, při kterých jsme si některé struktury zkusili implementovat. Jsou to sice věci, které člověk neprogramuje každý den, ale hodí se vědět, díky čemu fungují indexy databází nebo file systémů.

[BI-EP1] Efektivní programování 1

Na povinných programovacích předmětech mi vadilo, že nikdy nebylo zveřejněno vzorové řešení. Člověk tedy skoro vždy za úlohy nějaké body získal, ale nikdy se vlastně nedozvěděl, v čem spočívalo efektivní řešení. A říká se, že nejvíce se člověk naučí právě čtením cizího kódu.

I z tohoto důvodu se mi tak líbil tento volitelný předmět. Každých 14 dní je zveřejněno několik úloh převzatých z mezinárodní programovací soutěže ACM. První týden je na každém, aby zkusil vyřešit, co zvládne. Poté jsou na přednášce vysvětleny principy možných řešení, včetně ukázky kódu, a zveřejněna vstupní data. Další týden je pak možnost za menší počet bodů úlohy dopsat.

[BI-SI1] Softwarové inženýrství 1 → B

flowchartNa začátku semestru jsme se rozdělili do týmů, ve kterých jsme si pak vyzkoušeli kompletní proces vývoje informačního systému od sběru a analýzy požadavků, přes návrh až po jeho implementaci. Pro některé studenty je to asi první zkušenost s prací v týmu, používáním verzovacího nástroje a vývoje nějaké reálné aplikace. Já si z toho odnesl jen seznámení s UML notací a potvrdilo se mi, že Softwarové inženýrství jako obor by pro mě nebyla šťastná volba. Většinu těhle věcí se člověk zvládne naučit sám, nebo během prvních pár dní práce ve firmě.

[BI-ZDM] Základy diskrétní matematiky → B

Oproti předchozím semestrům celkem pohodová matematika. Prochází se základy z různých oblastí matematiky, které se nám mohou hodit v jiných předmětech. Matematická indukce, teorie množin, binární relace, kombinatorika, rekurentní rovnice a základy teorie čísel.

[BI-3DT] 3D Tisk → A

Zábavný volitelný předmět, kde si zkusíte postavit 3D tiskárnu, naučíte se programovat parametrické modely v OpenSCAD a pomocí slicovacího nástroje Slic3r připravovat modely pro tisk. Po absolvování předmětu se vám otevřou dveře do 3Dprint Labu, kam si můžete přijít cokoliv vytisknout.

Abych to shrnul, třetí semestr mi přišel v mnohém jednodušší a zajímavější než druhý, ale nic není zadarmo. Pokud však něčemu věnujete dostatečný čas, i zprvu obtížná látka nakonec začne dávat smysl a všechno do sebe zapadne.

Druhý semestr na FIT ČVUT

V červnu jsem zakončil první ročník na FITu. Druhý semestr už byl v mnohém náročnější než ten první, ale také zajímavější. Pojďme si rozebrat jednotlivé předměty.

[LIN] Lineární algebra → E

Zatím nejtěžší předmět, s jakým jsem se setkal. Už jen pro získání zápočtu je potřeba vynaložit nemalé úsilí, i když zápočtové testy jdou napsat stylem nevím co to je, ale umím to spočítat. Před zkouškou jsem se věnoval nepřetržité skoro dva týdny studiu teorie a počítání všech možných typů příkladů. I přes skvělou podporu od vyučujících (konzultační hodiny, odpovídání na dotazy na FB) zápočet dostala jen asi polovina studentů, z nichž polovina u zkoušky neprošla. Předmět je náročný asi hlavně svojí obsáhlostí a množstvím teorie, kterou je potřeba znát.

Linda

[PA2] Programování a algoritmizace → C

Úvod do C++, objektového programování a abstraktních datových typů. Každý týden dvě programovací úlohy odevzdávané a automaticky hodnocené v Progtestu. Zkouškou je obhajoba semestrální práce, na které student samostatně pracuje během semestru. Téma dostal každý náhodně přiřazené, já vytvářel karetní hru Bang! s hrou po síti a umělou inteligencí. Předpokládá se dost samostudia, jelikož náročnost většiny zadání byla mnohonásobně vyšší, než cokoliv, co jsme se učili.

[SAP] Struktura a architektura počítačů → A

Praktické uplatnění některých znalostí z matematické logiky – návrh a minimalizace logických a sekvenčních obvodů, jejich sestavování v Xilinx ISE, následné nahrávání do FPGA přípravku. V druhé polovině semestru jsme poznávali Assembler v AVR Studiu. Při samostatných úlohách se programoval např. displej s posuvným textem nebo časovač bomby s využitím přerušení.

[TED] Tvorba elektronické dokumentace → A

Jeden s lehčích předmětů, naučili jsme se sázet text v LaTEXu, tvořit diagramy v Graphviz, grafy v Gnuplot a generovat dokumentaci ze zdrojového kódu pomocí Doxygen. Také jsme se seznámili se základy typografie.

[ZUM] Základy umělé inteligence → B

Volitelný předmět, který rozhodně můžu doporučit. Postupně se na přednáškách projdou různé oblasti umělé inteligence, některé se i prakticky vyzkouší na cvičeních – prohledávání stavového prostoru, evoluční výpočetní techniky, plánování, multiagentní systémy, teorie her, strojové učení, umělé neuronové sítě. Semestrální prací bylo řešení NP-úplného problému minimálního vrcholového pokrytí grafu pomocí genetického algoritmu (algoritmus inspirovaný biologickou evolucí, který implementuje křížení, mutaci, selekci a některé další pokročilé metody pro diverzifikaci populace).

Líbilo se mi propojení některých předmětů, Doxygen z TED jsem využil při dokumentaci semestrálky z PA2, LaTEX pro semestrálku ze ZUM, kterou jsem pak upravil na semestrálku pro TED. A ZUM se hodily i při programování AI pro semestrálku z PA2 a jeden úkol.

Už se začínám těšit na druhý ročník, který bude určitě zase trochu zajímavější. Ale do té doby musím trochu vydechnout, ještě zbývají 2 měsíce prázdnin.