1. ročník na FIT ČVUT

V roce 2016 jsem na této škole úspěšně dokončil první ročník s absolvováním všech předmětů. Zkusím sepsat ke každému z nich pár postřehů a rad, aby jste již ze začátku tušily, do čeho jdete a co vás zhruba naučí. Obecně ale platí, že studovat na FITu není procházka růžovou zahradou a musí vás informatika opravdu nadchnout, aby jste s ní dobrovolně strávily mnoho přemýšlivých večerů.

Upozorňuji, že některé předměty prošly v roce 2017 lehkou obměnou, a tak informace a moje dojmy již nemusí být aktuální.

1. semestr

PA1 - programování a algoritmizace I (těžký)

Zde se naučíte programovacímu jazyku C. Předmět počítá s naprostými začátečníky, přesto ale doporučuju těm, kteří si programování ještě nevyzkoušeli, aby nastoupili aspoň s nějakým základem. Úplné triviálnosti se totiž proletí dost rychle a hned za pár týdnů už po vás požadují vypracování prvních úloh. Celkem vás za semestr čeká 8 programovacích úloh, kde si vždy můžete vybrat z lehčí a těžší varianty. Nemusíte vypracovat vše, ale pro zápočet je třeba vypracovat alespoň tak 5 těžších úloh. Odevzdáváte je na slavný testovací portál PROGTEST, který váš program otestuje na mnoha testovacích datech a objeví každou chybu (opravdu i tu sebemenší chybu). Připravte se tedy na víkendy u kompu s přemýšlením na plné obrátky. Na těžší úlohu je třeba v průměru tak 3-10 hodin tvrdé práce. Podle toho, jak moc máte s programováním zkušenosti. Na každou úlohu máte ale 14 dní, a tak není na škodu prodiskutovat možná řešení s kýmoliv, koho potkáte. Věřte, že se s tím trápí všichni. Zkouška je teoretická a praktická. Nejprve je praktická, kde máte vypracovat za 3 hodiny alespoň jednu ze dvou úloh. Úlohy jsou podobné těm těžším z domácích úkolů a většinou o něco málo okleštěné, aby se daly stihnout. Teoretická zkouška byla za mě formou 20ti otázek na počítači, kde musíte mít alespoň 10 bodů (předměty na FITu mají v drtivé většině u zkoušek a testů vždy minimum na 50%). Otázky byly všeho druhu. Například určování složitosti algoritmů, opravování velice komplikovaných zdrojových kódů apod. Pro mě byla teoretická část daleko těžší než praktická. Když budete mít smůlu můžou si vás vyvolat k ústní, ale pokud vypracujete dost úloh v semestru a nemáte podezřelý rozdíl bodů u zkoušky, tak k ústní nemusíte.

ZMA - základy matematické analýzy (těžký)

Ve zkratce je to komplet matematika ze střední plus něco navíc. Důraz se především klade obecně na funkce, limity, řady, derivace a integrály. Vše je sice vysvětleno, ale mnohdy to nestihnete vstřebat, a proto doporučuji provést opáčko třeba formou nepovinného prázdninového předmětu PKM na portálu marast. Zkouška je formou písemky, ve které jsou ze 70% otázky teoretické. Čili musíte mít jasno v definicích a větách a umět je poté aplikovat. Asi nejpracnější zkouška v 1. semestru.

PS1 - programování v Shellu I (velice těžký)

Naučíte se pracovat s příkazovou řádkou v linuxu. Pro ty, kteří o ní ještě neslyšeli, tak vřele doporučuji si co nejdříve nainstalovat operační systém linux (nejlépe dualboot, že máte windows i linux na stejném PC). Během studia pochopíte jaké neskutečné výhody vám linux jako pro programátora přinese. Práce v něm je nezbytná i pro PA1, PA2 a další předměty. Předmět nemá zkoušku, ale klasifikovaný zápočet. V semestru je tedy několik písemek ze kterých v součtu musíte mít alespoň polovinu z celkových bodů. Při testu dostanete na PC k vypracování 2 úlohy, které odevzdáte na PROGTEST a ten je otestuje. Připravte se na stres při odevzdávání, protože hodnotící systém většinou úlohu hodnotí stylem buď nula anebo plný počet :-). Předmět má nejhorší průchodnost (za mě okolo 30%) a není radno ho tedy podcenit. Osobně můžu říci, že to pro mě byl nejužitečnější předmět semestru.

MLO - matematická logika (spíše jednoduchý)

Zábavný předmět pro přemýšlivé. Naučíte se formulovat nejen matematická tvrzení a poté mnoho způsobů jak dokázat jejich pravdivost. Užitečný předmět pro ZMA, v druhém semestru pro SAPy a vychází z něj i mnoho předmětů v semestru třetím. Zkouška formou písemky, kde musíte mít polovinu bodů v teoretické, úvahové i početní části. Důležité je nepodcenit tu teoretickou.

ČAO - číslicové a analogové obvody (velice jednoduchý)

Fyzika pro ajťáky. Super přednášky, které spíše pobaví než naučí. Na cvičeních se naučíte pracovat s programem Mathematica. V semestru jsou 3 testy, které když napíšete slušně, nemusíte na zkoušku. A to je sakra výhoda!

2. semestr

PA2 - programování a algoritmizace II (velice těžký)

Naprosto jiný level programování oproti jedničce, ve kterém se naučíte objektový jazyk C++ (tedy spíše se sami máte naučit). V semestru vás čeká 6 úloh a tentokrát musíte vypracovat jak lehčí tak těžší variantu (body z nich se sčítají). Počítejte tedy s tím, že vám už víkend nemusí na obě úlohy stačit. průměrná doba vypracování obou úloh tak 8 - 9999 hodin. Zde už opravdu záleží, jak vám to pálí v algoritmickém myšlení, jelikož většina úloh vám neprojde s naivním řešením jak tomu bývá v PA1. Ke konci semestru musíte pracovat na své semestrální práci, což je program o min 1000 řádek na určené téma. Já například dostal naprogramovat hru bomberman, jiní měli správce souborů, hru bang, šachy apod. Zkouška se skládá ze zápočtového testu, ve kterém musíte vypracovat jednu ze dvou úloh za 3 hodiny. Úlohy jsou daleko náročnější než v PA1 a ověřují vaši dokonalou znalost C++. Po testu vás čeká ústní obhajoba vaší semestrální práce. Zde během 10 - 50 minut jeden ze cvičících vyzkouší váš program. Jde trochu o štěstí u koho skončíte, ale vesměs pokud vaše práce splňuje požadavky zadání a nespadne při běžném používání tak byste měli zkoušku složit.

LIN - lineární algebra (velice těžký)

Matematika plná vektorů a matic. Oproti střední je to něco naprosto nového a musíte si zvyknout pochopit matiku z definic a vět. Chce to nepodcenit dva testy v semestru a učit se danou látku dokud ji plně nepochopíte. Ušetří vám to pak mnoho času před zkouškou. Zkouška je písemka a z velké části teoretická. Musíte znát definice, věty, ale i důkazy nejrůznějších tvrzení a vše poté umět aplikovat v početních příkladech. Naprosto nezbytný předmět pokud chcete programovat zobrazení ve hrách či grafických programech.

SAP - struktura a architektura počítačů (jednoduchý)

Předmět vycházející z MLO, ale zaměřený prakticky. V laboratořích budete programovat procesor a základní kombinační či sekvenční obvody. V závěru si vyzkoušíte i pro mě odporný assembler. Je důležité chodit od začátku na všechny laborky, jinak se v tom ztratíte. Na každé z nich dostanete několik úloh, za které dostáváte body. Úlohy jsou spíše pracné než těžké a s dobrým cvičícím je můžete odevzdávat až do konce semestru. Máte-li dostatek bodů, nemusíte ke zkoušce.

DBS - databázové systémy (středně těžký)

Zpočátku hodně teoreticky zaměřený předmět, ve kterém se dozvíte, jak vypadají databáze, co je to relační algebra a jak se dotazovat na data. Cílem předmětu je však vypracování vaší vlastní databáze (například já si vybral databázi letecké společnosti). Tvorba a odladění zabere hodně času, takže doporučuji nenechávat na poslední chvíli. Budete mít i tak dost práce s PA2 a LIN. Zkouška je z vcelku snadná, pokud dáváte na proseminářích pozor.

volitelný předmět ZUM - základy umělé inteligence (jednoduchý)

Užitečný předmět pro ty, co se chtějí zaměřit na programování her či solverů na složité problémy. Programuje se pouze v Javě, ale i bez její předešlé znalosti se to dá zvládnout (můj případ, nikdy předtím jsem javu neviděl, ale během týdne jsem se jí naučil v dostatečné míře pro průchod předmětem). Naučíte se spoustu algoritmů, které si na cvičeních prakticky sestrojíte. Vrcholem je semestrální práce na genetický algoritmus, kterou zvládnete za dvě odpoledne. Zkouška je nejprve test, který by vám po přečtení všech prezentací neměl dělat problémy, a ústní nepovinná část jen pro zlepšení známky (doporučuji, pan Řehořek je velice vstřícný).