Založ si blog

Výuka programovania na základnej škole

Na základných školách sa pri výuke programovania využíva/zneužíva (???) viacero “detských” programovacích jazykov. Ich základnou výhodou je, že sú prispôsobené detskému vnímaniu sveta (aspoň my dospelí si myslíme, že detský svet je natoľko primitívny). Deti v týchto prostrediach programujú intuitívne a dospelí (nepobozkaní “profesionálnym” programovaním”)  by v nich programovali so zdravým sedliackym rozumom.

Intuícia je, obávam sa, stále neprebádaná oblasť. Hoci som ateista, intuícia je intímny dotyk s Božstvom, niekto sa ho dotýkať vie, iný sa ho dotknúť bojí a ten kto s Bohom diskutoval a neuveril, sa musí dotknúť jeho, či skôr vlastných rán, vlastných ranných prebúdzaní, aby uveril, a popritom nepochopil.

Základnou nevýhodou “detských” programátorských prostredí je, že takmer žiadne z nich profesionálny ani amatérsky programátor v reálnom svete, v reálnom živote nikdy nikdúci nepoužije.

Asi jedinou výnimkou je programovací jazyk Python, ktorý možno “ponížiť” na detskú úroveň (kiež by sme vedeli byť nevinní, nezmanipulovaní, úprimní ako deti) a pritom v  ňom možno postupne riešiť aj najnáročnejšie intelektuálne (matematické, fyzikálne, biologické, sociologické, filozofické,…) problémy.

  • robot Karel (Karol) – v súčastnosti sa tento jazyk asi (dúfam) na našich školách nepoužíva, ešte ako študent vysokej školy som ho deti na krúžku výpočtovej techniky učil na 8 bitovom počítači PMD
  • korytnačka Žofka – tiež prekonaný jazyk z osembitových počítačov, ktorý však má aj v súčastnosti nasledovníkov
  • Baltík 3 – na základných a čiastočne stredných školách v strednej Európe medzinárodne rozšírený programovací jazyk, ktorý je v značnej miere nasledovníkom robota Karola. Príkazy sa zadávajú pomocou obrázkov (icon), ktoré môžu byť nasledované/predsledované číselnými alebo textovými parametrami. Organizujú sa v ňom slovenské i medzinárodné programátorke súťaže
  • Baltík 4 – nástupca Baltíka 3 . Kým Baltík 3 je dvojdimenzionálny, v Baltíku 4 sa používateľ/programátor/Baltík pohybuje  v trojdimenzionálnom priestore. Hlavnou výhodou oproti trojke je, že ikonografické príkazy si možno zobraziť aj “normálnom” programovacom jazyku (tuším C#) a teda to môže byť vhodný medzikrok k “dospelému” programovaniu.
  • Scratch – kým Baltík programátora nenavádza k syntaktickému mysleniu, Scratch k šturktúrovaným príkazom automaticky dopĺňa syntakticky korektný kontext. Ja osobne Scratch rád nemám, ale mám žiakov, ktorím sú iné “detské” programátorske prostredia “odporné”, ale v Scratchi sa vedia “vydovádět”.
  • Imagine – je to do značnej miery pokračovateľ korytnačej grafiky Žofky. Predstavte si korytnačku, ktorá levituje nad pieskovou plážou, nezanecháva stopy po svojich labkách, ale má alebo nemá spustený chvostík, ktorým v piesku kreslí viac než zaujímavé obrazce. Ak by navyše tento chvostík bol zároveň viacfarebným perom, zrazu “hlúpa a pomalá” korytnačka, dokáže nakresliť impozantné obrazce, ktoré by jej závideli Picaso či Dali. Toto prostredie sa v mnohom blíži k tomu, ako sa programuje v štandardných jazykoch. Hlavnou nevýhodou (zároveň výhodou) je, že namiesto toho, aby príkazy boli, ako v takmer vo všetkých programovacích jazykoch v angličtine, sú v slovenčine, maďarčine, rusínštine, japončine, či v inom národnostnom jazyku (asi preháňam, a sú tam iba dve možnosti, jednou z nich je angličtina). Prirodzene, že väčšina učiteľov (aj ja) ide cestou ľahšieho odporu a používa svoj či skôr žiacky rodný jazyk. Tento problém by snáď bol aj prekonateľný, jednoducho jedného dňa sa prepneme zo slovenčiny do angličtiny. Ešte väčším problémom však je, že Imagine používa syntaktické konštrukcie, ktoré žiaden “normálny” programovací jazyk nepoužíva. Namiesto bodky “.”  v objektoch používa apostrof “‘”, priraďovanie hodnôt namiesto “=”, “:=” sa deje príkazom “urob”, práca s premennými namiesto toho aby programátor napísal premennú a pred ňou symbol priradenia, porovnania či iný operátor, ktoré automaticky určia, čo sa bude diať, tak musí napísať dvojité úvodzovky ak priraďuje hodnotu ”  a dvojbodku :, ak chce použiť už priradenú hodnotu a množstvo iných vyumelkovaných konštruktov, s ktorými som sa v živote nestretol, a to mám za sebou niekoľko desiatok programovacích jazykov (ak započítam jednotlivé verzie) od strojového kódu, cez Asembler, Basic, Pascal, Fortran, Cobol, LISP, PHP, C. C++, Perl, … (prvýkrát som “programoval” ako 12 ročný na Brnenskom veletrhu v stánku Nemeckej spolkovej republiky). Imagine je prostredie, v ktorom síce možno napísať aj skutočne komplexné projekty, ale žiak v neskoršej praxi síce využije algoritmy, ktoré ho učiteľ či on sám sa naučil, ale na syntax môže, či skôr musí čo najskôr zabudnúť.
  • Lazarus – hlavne na stredných školách sa donedávna či dokonca aj v súčastnosti toto prostredie naďalej používa. Je to  nasledovník Borland Pascalu, sám som najprv v Turbo Pascale a neskôr Borlad Pascale profesionálne programoval.  Jeden čas moje programy LIBRIS, BIBLIS, OSUD, … používalo takmer 200 slovenských knižníc a doteraz LIBRIS ešte niekoľko mestských, obecných a podnikových  knižníc používa. Kedže firma Borland Borland Pascal prestala vyvíjať, aj ja som časom prešiel na Lazarus (obávam sa, že v tomto prípade ide o Nomen Omen – zmŕtvychvstanie odumrelého jazyka. PASCAL bol pôvodne navrhnutý, ako jazyk na výuku programovania, mal viesť programátorov k čistému štýlu programovania, ale keďže za týmto jazykom  nikdy nestála dostatočne veľká firma, presadili sa programovacie jazyky, z ktorých mnohé vedú ku “hnusnému” kódu) . Napriek vyššie uvedenému, asi by všetci učitelia programovania mali čo najskôr zabudnúť na Lazarus. Ich žiaci ho takmer určite v čase, keď nastúpia na pracovný trh nevyužijú, jediný dôvod prečo ich v tomto prostredí učiť je, aby sme my učitelia dožili dôchodku 🙂
  • PYTHON – skriptovací jazyk, ktorý je silne škálovateľný, možno v ňom používať korytnačiu grafiku, ale zároveň sa v ňom dajú robiť veľmi rozsiahle a komplexné projekty. Napriek tomu, že je to interpretačný jazyk (čo za bežných okolností spôsobuje pomalý beh programu), existujú moduly, vďaka ktorým program napísaný v PYTHONE môže bežať porovnateľne rýchlo, ako program napísaný v Céčku. Je to objektovo orientovaný jazyk, v ktorom možno pracovať i procedurálne. Osobne by som kolegom učiteľom/učiteľkám vrelo odporúčal, učiť programovanie v tomto jazyku. Žiaci, ktorí v svojom profesionálnom živote programovať nikdy nebudú ho zvládnu v podobnom móde, ako teraz pracujú v Imagine. Tí ktorí majú danosti programátora, systémového analytika, kreatívneho grafika, … sa v ňom ľahko zrealizujú a nebudú mať problém s prechodom na ľubovoľný iný bežne používaný programovací jazyk.

 

 

Z motívov Jiřího Wolkra

25.09.2017

"Láska je žena a muž, láska je chleba a nůž" Láska? Krv nehou preliata, láska nás zbaví prekliatia. Ty si môj chleba, ja som tvoj nôž, viem čo ti treba v spletenci nôh. Ja vezmem si ťa viac »

Lidl rozbehol reklamnú kampaň na stroj času

04.09.2017

Mnohí politickí a cirkevní predstavitelia ostro protestovali proti reklamným letákom Lidlu, kde vraj Photoshopom boli odstránené kríže na kostoloch gréckeho ostrova Santorini. V skutočnosti viac »

Ideálna žena

24.08.2017

Pri potulkách mestom, stretávam skupinku nádherných dievčat, v ktorej väčšina, ak nie všetky, je hluchonemá. Som iba slabý muž, nikdy som ich neoslovil. Prezraďte mi: "Ako?" Takmer vždy pociťujem viac »

trump, alabama, obamacare

Sedieť alebo kľačať počas hymny na americkom futbale? Neprípustné, tvrdí Trump

25.09.2017 21:57

Viac ako dvesto hráčov NFL v zápasoch tohto kola pri hymne sedelo, kľačalo alebo sa modlilo. Podľa Trumpa by malo byť státie v pozore povinné a ak to niekto nedodrží, klub by ho mal vyhodiť.

pendolino, vlak

Česi predstavili Slovákom vynovené pendolino

25.09.2017 20:00

Interiér rýchlovlaku pendolino, ktorý zabezpečuje spojenie medzi Prahou a Košicami, České dráhy výrazne obnovili.

kim, trump

Nevyhlásili sme vám vojnu, odkazuje Biely dom do Pchjongjangu

25.09.2017 19:37, aktualizované: 23:16

O tom, že USA vyhlásili Pchjongjangu vojnu, hovoril severokórejský minister zahraničných vecí. Podľa Washingtonu však ide len o dezinterpretáciu.

putin

Rusko porušuje na Kryme ľudské práva, mieni OSN

25.09.2017 18:49

Podľa misie OHCHR krajina porušuje ľudské práva vnútením ruského občianstva tamojším obyvateľom a úmyselným presúvaním stoviek väzňov a zadržaných ľudí do ruských väzníc.

Tibor Menyhért

Tak dlho sa hádali na maličkostiach, až z toho bola veličkosť

Štatistiky blogu

Počet článkov: 132
Celková čítanosť: 129376x
Priemerná čítanosť článkov: 980x

Autor blogu

Kategórie