13. Programátorské jazyky a prostredia

• Porovnajte jazyky Pascal a Logo z hľadiska programátora ako aj ich vhodnosti pre vyučovanie programovania.

• Aký vplyv má výber programátorského prostredia na vyučovanie?

• Navrhnite a zdôvodnite poradie tém výučby programovania na vybranom stupni školy.

 

 

Na vyučovanie programovania detí základných škôl treba používať „špeciálne“ pedagogické postupy a „metodické pomôcky“. Tieto metodické pomôcky sa nazývajú malé programovacie jazyky (alebo detské) a sú špeciálne tým, že spôsob výučby programovania je prispôsobený deťom. Nevýhodou voľby takéhoto jazyka je, že v ďalších stupňoch výučby treba prechádzať na iný jazyk,  zväčša Pascal. Žiak sa opäť musí naučiť, ako vyzerajú jazykové konštrukcie, ktoré sa už raz učil a až potom môže pokračovať v ďalšom vzdelávaní.

Malé jazyky sú vizuálne intuitívne, jednoduché a silné nástroje na uvedenie žiakov do sveta programovacích jazykov. Sú dobrým základom pre všeobecné počítačové učenie, poskytujú nahliadnutie do programovania pre žiaka a učia algoritmickému mysleniu.

Ideou mini-jazykov je vypracovať malý a jednoduchý jazyk pre vstup do programátorského sveta. Vo väčšine malých jazykov žiak pomocou jednoduchých príkazov ovláda nejaký objekt (korytnačku, robota alebo inú “živú bytosť”) v jej mikrosvete. Žiak priamo na obrazovke pozoruje správanie objektu a sleduje, ako sa vykonávajú jeho príkazy. Objekt môžeme ovládať zadávaním jednoduchých príkazov do príkazového riadku, alebo písaním zložitejších programov. Malý jazyk v zásade obsahuje príkazy a operácie na riadenie objektu. Väčšina mini-jazykov obsahuje základné riadiace štruktúry (podmienené vykonávanie, cyklus, rekurziu, atď.) a mechanizmus na vytváranie nových inštrukcií (príkazov, podprogramov). Termínom malé jazyky označujeme kombináciu objektu a jazyka, ktorým tento objekt ovládame. V existujúcich malých jazykoch sa žiaci učia ovládať viditeľný objekt, ktorým môže byť napríklad korytnačka . Objekt dokáže vykonávať niekoľko jednoduchých príkazov a reagovať na základné príkazy vracajúce hodnotu
Existuje viacero dôvodov, prečo vyučovať malé jazyky. Predovšetkým poskytujú dobrý základ pre učenie vyšších jazykov, ako Pascal, C a iné. Otvárajú cestu k novej vzdelávacej príležitosti. Malé jazyky tiež poskytujú pevný základ pre systematické riešenie problému aj pre ľudí, ktorí budú “programovať” len na úrovni tabuľkových procesorov, databázových systémov, alebo iných aplikačných programov.

Ďalšou dôležitou výhodou malých jazykov je, že tvorca jazyka nie je viazaný na syntax a sémantiku “veľkých” programovacích jazykov, ktoré nie sú vhodné pre začiatočníkov. Jazyk je vytvorený pre presne určený vzdelávací cieľ, pre presne definovanú skupinu žiakov. Môže používať prirodzený jazyk žiakov. Jeho prostredie je veľmi atraktívne.

 

Logo

Programovací jazyk Logo vznikol v roku 1967 (Wally Feurzeig, Seymour Papert). Autori ho pôvodne navrhli pre účely hravého vyučovania matematiky, práce so slovami a vetami. Syntax jazyka Logo vychádza z funkcionálneho jazyka LISP. S jazykom Logo je spojená korytnačia grafika. Tá sa stala súčasťou jazyka Logo až neskôr, keď vznikla snaha riadiť reálny (korytnačí) robot. Postupne sa Logo stalo jazykom – prostredím, ktoré sprístupnilo počítače a programovanie deťom. Logo zažilo svoj vzostup najmä v 80. rokoch, keď sa osobné počítače stali dostupnejšie.

Ukážka programu v jazyku Logo:

repeat 10 [print “Ahoj]

Tento jazyk sa v súčasnosti úspešne používa pri vyučovaní programovania. Z pohľadu didaktiky je nesmierne cenná najmä jednoduchosť a interaktívnosť programovacieho prostredia. Znamená to napríklad, že príkaz dopredu 100, ktorý zadáme do príkazového riadku, sa okamžite vykoná a na obrazovke vidíme výsledok – kresbu.

Pokým nepotrebujeme vytvárať príliš zložité projekty, má programovací jazyk pre začiatočníka jednoduchú syntax, jednoduché pravidlá, ktoré sa dajú vysvetliť priamo alebo prostredníctvom prístupných metafor (napríklad, korytnačka ako metafora pre grafické pero). Cenné sú aj zmysluplné chybové hlásenia. Nevýhodou jazyka Logo je, že už v mierne zložitejších situáciách si musíme dávať pozor na vyhodnocovanie výrazov. Napríklad, pokým výrazy neumiestnime do zátvoriek, vyhodnocujú sa inak, ako by hovorila intuícia: zoznam 1 alebo zoznam 1 2 3 sú zlé zápisy, správne sú (zoznam 1) alebo (zoznam 1 2 3).

 

PASCAL

Programovací jazyk Pascal vznikal v rokoch 1968–9 a verejnosti bol sprístupnený v roku 1970 (Niklaus Wirth). Jazyk bol od počiatku navrhovaný ako malý, ale pritom silný a efektívny programovací jazyk, ktorý by bol vhodný predovšetkým (avšak nie iba) pre vyučovanie programovania, pre získanie dobrých programátorských návykov a získavaní skúseností pri práci s údajovými štruktúrami.

Ukážka programu v jazyku Pascal:

var i: integer;

begin

for i:=1 to 10 do

writeln(‘Ahoj’);

end.

Objekty boli do jazyka Pascal zavedené až v roku 1986, čím vznikol jazyk Object Pascal. V tomto období boli mnohé vlastnosti objektovo orientovaného programovania dostatočne preskúmané. Preto sú určité vlastnosti objektovo orientovaného programovania implementované v jazyku Pascal premyslenejšie ako v jazyku C++. Firma Borland stála za vývojom obľúbeného prostredia Turbo Pascal. V 80. a 90. rokoch sa tieto prostredia označovali skratkou IDE (Integrated Development Environment = integrované vývojové prostredie). IDE prostredie v sebe obsahovalo editor programu, kompilátor a nástroje na trasovanie a ladenie programov. V 90. rokoch, s nástupom prostredia Delphi, sa pre vývojové prostredie používalo označenie RAD (Rapid Application Development = rýchly vývoj aplikácie). To preto, lebo pomocou komponentov mohli programátori rýchlo zostaviť vzhľad aplikácie.

 

V priebehu 90. rokov nastáva éra Windows, mení sa spôsob práce s počítačom a jeho aplikáciami. Doposiaľ bežala väčšina aplikácií v textovom režime. Nové aplikácie však ponúkajú grafické používateľské rozhranie. Preto aj tvorcovia oknových aplikácií musia využiť iné stratégie programovania. V roku 1995 vzniká prostredie Delphi, ktoré pomocou komponentov umožnilo elegantne vytvárať plnohodnotné oknové aplikácie. Z didaktického hľadiska ostáva jazyk Pascal stále vhodným kandidátom na vyučovanie programovania. Existuje k nemu veľa metodických materiálov a postupov, nezaťažuje žiakov–začiatočníkov mnohými technickými podrobnosťami ani komplikovanými syntaktickými pravidlami. Pre začiatočníkov môžu byť problémom súčasné prostredia Delphi alebo Lazarus, ktoré, pokým ich vhodne nenakonfigurujeme, vyzerajú pomerne zložito. Niektorí pokročilí žiaci jazyk Pascal nemajú radi. Zdá sa im príliš rozvláčny a nie až tak trendový, ako „céčkové“ programovacie jazyky.

 

V jazyku Pascal musíme na začiatku programu vymenovať aké premenné v programe používame (deklarácia premenných). Deklaračnú časť si môžeme predstaviť ako titulky k filmu, kde sa uvádzajú mená hercov (premenné), ktorí hrajú v hlavnom deji (programe medzi slovami BEGIN a END). Komentáre sú uzatvorené do zložených zátvoriek. Žiak po odladení syntaktických chýb začína hľadať logické chyby. Hľadanie logických chýb uľahčuje krokovanie programu. Je to postupné spúšťanie príkazov v programe. Výhodou krokovania je, že žiak môže priebežne prezerať obsahy jednotlivých premenných a podľa nich zistiť pokiaľ je beh programu v poriadku a kde asi nastala chyba.

Na vyučovanie programovania na ZŠ sa odporúča používať detský programovací jazyk.

Odporúčaná učebnica programovania je Tvorivá informatika: 1. zošit z programovania, ktorá používa jazyk Imagine Logo.

Z prvého stupňa základnej školy by mali žiaci vedieť používať klávesnicu a editovať krátke texty.

Programujeme interaktívne, príkazy zadávame do príkazového riadka spočiatku po jednom. Po zadaní sa príkaz okamžite vykoná.

Vyučovanie programovania v Imagine Logu začíname programovaním kreslenia v korytnačej grafike. Súčasne s procedurálnym programovaním zoznamujeme žiakov s princípmi objektovo -orientovaného a udalosťami riadeného programovania. Volíme vyučovacie postupy, ktoré podporujú konštruktívny poznávací proces. Navrhujeme zmysluplné aktivity. Nové pojmy demonštrujeme na jednoduchých príkladoch. Uzavreté úlohy striedame s tvorivými zadaniami. Podporujeme experimentovanie a hry s malými didaktickými aplikáciami. V programovaní využívame väzby na ostatné tematické okruhy informatiky a medzipredmetové vzťahy.

 

 

Na prvom stupni základnej školy sa žiaci na hodinách informatickej výchovy stretli s ikonickým programovaním. Vedia zostavovať krátke postupnosti ikonických príkazov. Ikonické programovanie je pre deti mladšieho školského veku vhodné najmä preto, lebo eliminuje problémy s editovaním príkazov (malá zručnosť v práci s klávesnicou, preklepy, syntaktické chyby). Ikonické príkazy sa vyberajú z ponuky a zoraďujú sa do postupnosti väčšinou ťahaním alebo klikaním myšou.

 

ŠVP nepredpisuje používanie žiadneho konkrétneho programovacieho prostredia. Učiteľ si môže vybrať sám. Kritériom výberu je dostupnosť prostredia a metodickej podpory (učebnica, komunita používateľov), vlastnosti a možnosti prostredia.

 

ISCED1 – 1. stupeň ZŠ: Informatická výchova

Pojmy:

  • · postup, návod, recept,
  • · riadenie robota, obrázková stavebnica, postupnosť krokov,
  • · detský programovací jazyk, elementárne príkazy, program,
  • · robotická stavebnica.

Vlastnosti a vzťahy, postupy a metódy:

  • · skladanie podľa návodov (stavebnice, hlavolamy, origami),
  • · zápis/vytvorenie postupu, receptu, návodu a práca podľa návodu,
  • · v počítačovom prostredí riešenie úloh pomocou robota, skladanie obrázkov

z menších obrazcov, okamžité vykonávanie príkazov, vykonanie pripravenej

postupnosti príkazov,

  • · riešenie jednoduchých algoritmov v detskom programovacom prostredí

(kreslenie obrázkov, pohyb animovaných obrázkov).

Obsahový štandard:

  • · získanie základov algoritmického myslenia.

Výkonový štandard:

  • · získať základy algoritmického myslenia – príkazy v priamom režime,
  • · riešiť jednoduché algoritmy v detskom programovacom prostredí.

Komentár

Na prvom stupni hrá veľmi dôležitú úlohu vhodné prostredie, akými sú napríklad prostredia Cirkus šaša Tomáša, Baltík, Karel, Panák, EasyLogo alebo Živý obraz. Tiež sa predpokladá, že pre riešenie rôznych hlavolamov, bludísk alebo úloh, v ktorých je potrebné hľadať závislosti alebo dodržiavať stanovené pravidlá, vzniknú vhodné prostredia.

ISCED2 – 2. stupeň ZŠ: Informatika

Pojmy:

  • · postup riešenia, etapy riešenia problémov,
  • · programovací jazyk, elementárny príkaz, postupnosť, procedúra, cyklus,
  • · zložitosť riešenia problému.

Vlastnosti a vzťahy, postupy a metódy:

  • · v detskom programovacom prostredí riešenie úloh s opakovaním nejakých

činností, zoskupovanie častí riešenia do procedúr,

  • · porovnanie času trvania rôznych riešení problému.

Obsahový štandard:

  • · postup riešenia, formálny zápis riešenia, etapy riešenia problémov,
  • · programovací jazyk, elementárny príkaz, postupnosť, cyklus, procedúra,

parametre, premenná, hodnota, priradenie,

  • · zložitosť riešenia problému.

Výkonový štandard:

  • · žiak dokáže zapisovať a interpretovať postupy (napríklad zápis

matematických algoritmov, algoritmus na jednoduché zašifrovanie textu),

  • · žiak demonštruje v detskom programovacom prostredí riešenie úloh s opakovaním nejakých činností, zapamätávanie výpočtov do premenných, zoskupovanie častí riešenia do procedúr,
  • · žiak dokáže porovnať čas trvania rôznych riešení problému.

Komentár

Aj na druhom stupni základnej školy bude potrebné venovať pozornosť programovaciemu prostrediu a programovaciemu jazyku. Odporúčané prostredia sú Imagine, Scratch, Karel, Baltík, prípadne detské verzie jazykov (napríklad detská verzia jazyka Pascal).

Ak vyžadujeme formálne (textové) zápisy programov, je výhodné používať interpretovaný jazyky v prostredí, ktoré umožňuje grafický výstup (Imagine–Logo). Žiaci potom získavajú prvé skúsenosti priamym zadávaním jednoduchých príkazov, ktoré čosi kreslia.

 

Témy v Logu:

1.     Korytnačí pohyb, kreslenie, hrúbky, farby

2.    Opakovanie príkazov

Námety na jednoduché vzory s opakovaním:

  • · prerušovaná čiara, bodkovaná čiara, bodkočiarkovaná čiara a iné „pásové“

vzory,

  • · štvorec, trojuholník, hviezdy, oblúky a iné „kruhové“ vzory.

3.    Tlačidlá

4.     Príkazy s podmienkou

5.    Vlastné príkazy, tvar korytnačky

Námety tém na písanie vlastných príkazov:

  • · ovocný sad: jablko, hruška, čerešňa, iné,
  • · park: listnatý, ihličnatý strom, lavička, kvet, lampa,
    • Vianoce: prskavka, hviezda, snehuliak, zvonček, iné ozdoby,
    • · mapa pokladu: topografické značky.

    6.    Príkazy so vstupmi

7.    Objekty a udalosti priKliknutí a priŤahaní

S objektmi a udalosťami sa žiaci prvýkrát stretnú pri používaní tlačidiel. Tlačidlo si vytvoria na uľahčenie písania príkazov do príkazového riadka pri kreslení obrázkov.

8.    Animované tvary a procesy

 

 

 

ISCED3 – stredná škola: Informatika

Pojmy:

  • · algoritmus, program, programovanie, etapy riešenia problému,
  • · príkazy (priradenie, vstup, výstup),
  • · riadiace štruktúry (podmienené príkazy, cykly),
  • · premenné, typy, množina operácií.

Obsahový štandard:

  • · problém, algoritmus, algoritmy z bežného života, spôsoby zápisu algoritmov,
  • · etapy riešenia problému – rozbor problému, algoritmus, program, ladenie,
  • · programovací jazyk – syntax, spustenie programu, logické chyby, chyby počas behu programu.

Výkonový štandard:

  • · analyzovať problém, navrhnúť algoritmus riešenia problému, zapísať algoritmus v zrozumiteľnej formálnej podobe, overiť správnosť algoritmu,
  • · riešiť problémy pomocou algoritmov, vedieť ich zapísať do programovacieho jazyka, hľadať a opravovať chyby, rozumieť hotovým programom, určiť vlastnosti vstupov, výstupov a vzťahy medzi nimi, vedieť ich testovať a modifikovať,
  • · riešiť úlohy pomocou príkazov s rôznymi obmedzeniami použitia príkazov, premenných, typov a operácií,
  • · používať základné typy údajov v používanom programovacom jazyku,
  • · rozpoznať a odstrániť syntaktické chyby, opraviť chyby vzniknuté počas behu programu, identifikovať miesta programu, na ktorých môže dôjsť k chybám počas behu programu.

Komentár

Tematické plány môžu byť pre školy rôzne. Napríklad, v jednom návrhu tematických plánov sa programovaniu venuje takéto množstvo hodín:

  • · v 1. ročníku 0 hodín z 32,
  • · v 2. ročníku 8 hodín z 32,
  • · v 3. ročníku 16 hodín z 30.

Téme Postupy, riešenie problémov, algoritmické myslenie sa venuje približne štvrtina celkového počtu hodín Informatiky. Napríklad, v inom návrhu pre školy so zameraním na informatiku má programovanie:

  • · v 1. ročníku 16 hodín (problém, algoritmus, etapy riešenia problému,

programovací jazyk),

  • · v 2. ročníku 16 hodín (príkaz priradenia, vstup, výstup, riadiace podmienené

príkazy, cykly, premenné, typy, množina operácií),

  • · v 3. ročníku 0 hodín.

Programovanie spočiatku tvorí malú časť informatiky. Postupne však jeho význam narastá. Predpokladá sa, že maturant si vyberie voliteľný predmet tak, aby maturitu z informatiky úspešne zvládol. Pre maturity je programovanie veľmi dôležité. Ako sme mohli vidieť, programátorské úlohy na maturitách tvoria až 50% všetkých úloh. Chceli by sme dať do pozornosti aj to, že vzdelávací program nepredpisuje žiadne programovacie jazyky ani prostredia. Vzhľadom na dobré skúsenosti a dostupnosť pedagogických materiálov by sme však odporučili používať Imagine, Pascal, Delphi prípadne Lazarus. Pripomeňme ešte, že maturitným jazykom je Pascal.

 

Reklamy

Pridaj komentár

Zadajte svoje údaje, alebo kliknite na ikonu pre prihlásenie:

WordPress.com Logo

Na komentovanie používate váš WordPress.com účet. Odhlásiť sa / Zmeniť )

Twitter picture

Na komentovanie používate váš Twitter účet. Odhlásiť sa / Zmeniť )

Facebook photo

Na komentovanie používate váš Facebook účet. Odhlásiť sa / Zmeniť )

Google+ photo

Na komentovanie používate váš Google+ účet. Odhlásiť sa / Zmeniť )

Connecting to %s