Osobní stránky

Online kurz jazyka Scala

V posledních letech se čím dál, tím více prosazují online e-learningové kurzy. Mezi nejznámější patří coursera a edX. Hlavní výhodou těchto kurzů je, že jsou všechny materiály a testy online a zdarma. Většina institucí navíc spolupracuje přímo s univerzitami a výuka online kurzů tedy zhruba odpovídá látce předmětů vyučovaných danou univerzitou. Kvalita kurzů je díky tomu na vysoké úrovni a probírají se i teoretické znalosti. Tento semestr jsem absolvoval hned dva online kurzy zaměřené na programovací jazyk Scala a chtěl bych se podělit o své zkušenosti.

Já osobně online kurzů velmi rád využívám. Již třetím rokem se snažím za školní semestr absolvovat minimálně jeden online kurz a vlastním již několik certifikátů o úspěšném dokončení. Doporučit mohu kurzy datábaze MongoDB na stránce: education.mongodb.com. Je ale nutno dodat, že kurzy nejsou zcela jednoduché a pro úspěšné dokončení je potřeba věnovat studiu určitý čas. Většina kurzů probíhá v anglickém jazyce, ale dají se najít kurzy i v dalších světových jazycích.

O programovací jazyk Scala jsem se zajímal již dříve. Přibližně dva roky nazpět jsem začal se Scalou experimentovat a pomocí návodů na internetu jsem začal psát první programy. Zároveň jsem začal navštěvovat lokální srazy Scala vývojářů, které mi pomohly v prohlubování pokročilejších možností jazyka a používaných knihoven.

Od 16. září 2013 byl na portálu coursera vypsán online kurz jazyka Scala: Functional Programming Principles in Scala. Je důležité poznamenat, že kurz byl vedený přímo zakladatelem a otcem jazyka Martinem Oderskym. Kurz probíhal formou postupného zveřejňování výukových videí a každý týden bylo nutno odevzdat jeden domácí úkol, který byl bodově ohodnocen. Během sedmi týdnů byly probrány hlavní prvky funkcionálního programování s konkrétními ukázkami použití ve Scale. Celkově se jednalo o druhý běh tohoto online kurzu, jelikož minulý podzim již tento kurz jednou proběhl.

Díky zkušenostem s psaním programů ve funkcionálním jazyce LISP jsem již měl naštěstí dostatečné teoretické znalosti funkcionálního přístupu. Naučil jsem se ale některé nové možnosti Scaly a prohloubil jsem si především dosavadní znalosti. Celý kurz byl velmi srozumitelný a určitě jej mohu doporučit všem zájemcům o tento jazyk.

Shlédnutí výukových videí a odevzdání úkolu mi týdně zabralo přibližně 8 hodin a to i přesto, že jsem již měl se Scalou i s funkcionálním programováním určité zkušenosti. Součástí výukové platformy je naštěstí i online diskusní fórum, kde lze nalézt mnoho rad a odpovědí na případné dotazy nebo probémy při řešení úkolů. Takže je kurz vhodný i pro studenty, kteří nemají se Scalou žádné zkušenosti.

Mimo základního kurzu Scaly byl tento rok vypsán i pokročilejší navazující kurz s názvem: Principles of Reactive Programming. Náplní tohoto kurzu jsou především paralelní, událostmi řízené a asynchronní systémy. Tento kurz byl pro mne mnohem zajímavější, jelikož toto téma je v poslední době velmi užitečné. Probíraly se futures (včetně teoretického výkladu monád), které se například v poslední době začaly ve větší míře používat v JavaScriptu. Dále je náplní kurzu především actor model a různé možnosti návrhu této architektury, různé návrhové vzory a řízení běhu programu.

Kurz probíhal stejně jako předchozí Scala kurz. Každý týden byla zveřejněna výuková videa a bylo potřeba odevzdat jeden domácí úkol. Tento kurz má oproti prvnímu hned tři lektory: Martin OrderskyErik Meijer a Roland Kuhn. Jelikož se jednalo o první běh tohoto kurzu, byly některé domácí úlohy zadány poněkud nejasně. Naštěstí ale došlo k vyslyšení proseb na fóru kurzu a lektoři prodloužili časový limit pro odevzdávání domácích úloh na dva týdny.

S actory jsem před absolvováním druhého kurzu měl pouze okrajové zkušenosti, a proto pro mne byl kurz velmi zajímavý a přínosný. Na druhou stranu jsem ale sledováním videí a vypracováváním domácích úkolů strávil každý týden více než 8 hodin, což je již poměrně dost. Je ale pravda, že probíraná látka je poměrně náročná a rozsáhlá. Někteří účstníci dokonce na diskusním fóru psali, že se jedná o jeden z nejtěžších kurzů, který se dá na výukovém portálu Coursera najít.

Oba kurzy pro mne byly velice zajímavé a přínosné. Byly chvíle, kdy jsem si nad domácími úlohami lámal hlavu a měl jsem chuť, se na vše vykašlat. Ale nakonec se mi podařilo všechny úlohy odevzdat s dostatečným počtem bodů. Rozhodně jsem si z obou kurzů odnesl nové postupy, které budu moci využívat při práci a rozšířil jsem si obzory. Na internetu jsou dostupné statistiky ze závěrečného dotazníku prvního kurzu.

Plánuji i nadále pokračovat v absolvování dalších online kurzů, abych se mohl učit nové metody a získavat tak další zkušenosti. Výhodou těchto online kurzů je, že se zpravidla každý rok opakují. Pokud jste tedy propásli letošní běh kurzů, na podzim bude pravděpodobně možnost oba kurzy absolvovat znovu.

Jakub Škvára


Jakub je cestovatel, blogger a webový vývojář. Zajímá se především o technické novinky a rád navštěvuje konference. Používá: Symfony2 Framework, AngularJS, NodeJS, MongoDB a další moderní technologie. Aktuálně žije v Londýně.