Soubor výukových materiálů a metodiky studia JavaScript.

Metodika

editovat

Úvodní postřehy a principy studia programování

editovat

Při studiu různých programovacích jazyků, se mi vyplatilo si učivo rozdělit do několika bloků, jakýchsi úrovní. Je výhodné začít nejzákladnějšími elementy jazyka jako jsou výstup (HeloWord), proměnné, vstup, podmínky, cykli. Na těchto základech se dají vytvářet jednoduché ukázkové programy. Tedy je vhodné po zvládnutí nejzákladnějších prvků jazyka přejít k pokusům a experimentům. Tyto znalosti dál prohlubovat stále praktičtěji zaměřenými programy. Dále rozšiřovat prvky jazyka o objektové programování. Poté dále přecházet k základním algoritmům: posloupnosti, seřazovaní čísel (například bubble sort). Vysvětlit rozdíl mezi rekurzivním a iterativním algoritmem atd. S ohledem na charakteristiku a využití jazyka je vhodné vysvětlit a ukázat využití JavaScriptu na webu, jako například propojení scriptu s funkcí tlačítka, zpracování webového formuláře, práce s časem a datem (změna šablony podle času: večerní, přes den), přihlašování do systému a mnohé další prvky.

Teorie je nuda a praxe je nenahraditelná

editovat

Obvykle studenta doslova odrazuje nestručný úvod do čehokoliv, nehledě na tom, že informace o jazyku jsou často neuspořádané z hlediska metodického postupu výuky. Obvykle je jednoduší informace najít dle tématu nebo názvu funkce (příkazu) který hledáte. Za nejosvědčenější postup, který lze na samotném začátku použít, je hození studenta rovnou k psaní scriptu HeloWord. Student okouká postup vzniku jednoduchého scriptu. Vidí: jaký editor k tomu použít, jak vytvořit první soubor, jak do něj napsat něco co něco dělá (vypíše "Helou Word!"). Vždy se v tomto případě osvědčilo očesat maximum teorie a povídání, mít připravený a nainstalovaný a správně nastavený editor. Ukázat kam psát script a jak ho zpustit. A tím první hodina v podstatě končí. Nejlépe však nechat studenty, vytvořit si nový další script, který vypíše něco jiného ("Ahoj světe!", "Můj první script v JavaScriptu." atd.) Opakování totiž fixuje okoukaný postup.

Student v první hodině spíše okoukává a napodobuje. Proto jej teorie spíše ruší. Nejdříve se to naučí zopakovat, až později přemýšlí nad tím co vlastně dělá, klade otázky a pídí se po teorii aby věděl co dál a porozuměl tomu co dělá a hlavně proč zrovna takto. Bývá zvykem, že jedna věc se dá udělat různými způsoby a každé má své výhody a nevýhody. To je postupem času zapotřebí vysvětlovat, aby student nejen rozuměl tomu proč to dělá takto, ale také aby si později sám dokázal vybrat vhodný způsob řešení.

Papoušek a Kalkulačka

editovat

Nejčastějšími programy pro nejednoduší ukázky v úvodu studia většiny programovacích jazyků jsou Papoušek a program Kalkulačka. Jsou vhodné do druhé či třetí hodiny, protože v sobě nese jednoduché ukázky práce s proměnnou a vstupem i výstupem. Papoušek v podstatě dvakrát zopakuje původní vstup. Tím student získá představu o tom jak jazyk zachází při sčítání textových řetězců nebo čísel. Většina jazyků totiž vstup vnímá automaticky jako text ať už je tvořen pouze z čísel nebo ne. Obvykle v jazycích existuje způsob, který převádí textový obsah čísel na skutečná čísla (změna typu proměnné). Dovednost nemusí být nutně nezbytná v případě programu Papoušek, ale je zcela nepostradatelná v programu Kalkulačka, protože tam se již s prací číselnými proměnami nelze vyhnout. Dále studenta rozšiřuje o dovednost větvení podmínek, protože si uživatel může na kalkulačce vybrat jakou početní operaci chce provádět a tento výběr možností zákonitě vede k větvení programu.

Programátorská Kata

editovat

Je takový program, který programátor zkouší znovu a znovu. Například program Kalkulačka se dá udělat nekonečno různými způsoby a každý dobrý programátor (pouze tvrzení autora textu) jich za svůj život napíše nespočítaně. Jak dovednosti rostou, roste i složitost další kalkulačky. Přidává další funkce, mocniny a odmocniny, geometrické funkce. Ošetřuje vstupy, například pro chyby vzniklé dělením s nulou. Zjednodušuje a vylepšuje svůj kód a dělá ho přehlednějším. Přemýšlí nad jinými vhodnějšími názvy proměnných. Tím se učí čistit a udržovat svůj kód. Pilovat své dovednosti, opakováním a současně přidáváním nových prvků nebo jiných změn. Každý program je potom sice jiný, ale v podstatě má to samé zaměření. Jako by vytvářel nové a nové verze kalkulaček.

Struktura studia

editovat

Výukové materiály

editovat