Dobrý Karel ještě žijeKarel je jednoduchý programovací jazyk určený pro výuku programování naprostých začátečníků. Jeho obliba v době osmibitů byla značná, dnes se na něj možná neprávem zapomíná. A protože se někde stále používá ještě letitá verze pro MS-DOS, pokusím se o stručný přehled dostupných implementací pro MS Windows, MacOS nebo Linux. Jedním z modulů školení P v rámci SIPVZ je ICT ve výuce na 1. stupni ZŠ. V rámci diskuze k jeho obsahu se pochopitelně probírá i výuka základů programování. K nepoužívanějším a nejrozšířenějším aplikacím pro nejmladší žáky patří Baltík, který se v rámci mezinárodního projektu Tvořivá informatika s Baltíkem stal základem pro komplexní zvládnutí ICT již na prvním stupni ZŠ (připomínám, že Baltík byl v softwareovém balíčku v roce 2001). Oblíbeným nástrojem jsou ještě implementace jazyka Logo (s pověstnou želvičkou), vyvinuté speciálně pro výuku dětí z jazyka LISP týmem Seymoura Paperta v roce 1967 na MIT, a občas se používá ještě další český vizuální systém Petr. Karel je jednoduchý programovací jazyk určený pro výuku programování naprostých začátečníků, v němž několik málo základních příkazů slouží k ovládání virtuálního robota. S touto myšlenkou přišel na přelomu sedmdesátých a osmdesátých let minulého století století Richard E. Pattis, který ji využíval na Standfordské universitě při výuce svých studentů. Jazyk pojmenoval Karel jako poctu Karlu Čapkovi, který slovo robot zavedl do světového slovníku. V Pattisově verzi se robot pohyboval ve městě sestávajícím z vodorovných ulic (streets) a svislých bulvárů (avenue). Robot rozuměl pěti základním příkazům: move (přesuň se na další křižovatku), turnleft (otoč se vlevo), putbeeper (polož bzučák), pickbeeper(zvedni bzučák) a turnoff (vypni se), a dokázal testovat, zda je před ním volno, zda jsou v jeho blízkosti bzučáky a na kterou stranu je natočen. Pattis napsal o výuce programování za pomoci světa robota Karla několik knih, z nichž nejznámějí je Karel The Robot: A Gentle Introduction to the Art of Programming. U nás byla původní myšlenka modifikována a robot se pohyboval po obdélníkovém, šachovnicovitě uspořádaném dvorku, na jehož políčka pokládal či z nich zvedal značky. Jeho základními příkazy byly: Krok, VlevoVbok, Polož (rozuměj značku) a Zvedni (značku). Kromě toho uměl otestovat, je-li před ním zeď, je-li pod ním značka a je-li otočen na sever. Pomocí kombinace těchto základních příkazů je možné definovat nejrůznější činnosti od nejrůznějšího obíhání či hledání značek v bludišti po sčítání a porovnávání čísel, představovaných počtem značek na jednotlivých políčcích. Ke Karlovi vznikla rozsáhlá metodika s řadou nejrůznějších výukových materiálů, žáci se mohou naučit především dekomponovat složitější problémy na sadu problémů jednodušších a používat základní programové konstrukce, jako jsou složený příkaz, podmíněný příkaz, cyklus a rekurze. Pattisovo prostředí se dočkalo i svého objektově orientovaného nástupce označovaného Karel++. I on má svoji publikaci: Karel++: A Gentle Introduction to the Art of Object-Oriented Programming. Obliba programovacího jazyka Karel byla v éře osmibitů obrovská, dnes se na něj možná neprávem zapomíná. A protože se někde stále používá ještě letitá verze pro MS-DOS, pokusím se o stručný přehled dostupných implementací pro GUI MS Windows, MacOS nebo Linux. Je jich celá řada, některé jsou českého původu nebo je k dispozici i česká verze. Vzhledem k rozsáhlé dostupné metodice a dostupným materiálům na iternetu by aplikace ve výuce neměla být zásadním problémem. Robot Karol++Jednou z nepropracovanějších a nejmodernějších implementací je Robot Karol++ slovenského autora Ondreje Krška, který zavádí některá rozšíření jazyka, obsahuje programátorský editor se zvýrazněním syntaxe a zobrazuje robota v 3D náhledu. Instalační soubor pro MS Windows má 748 kB, je k dispozici i česká verze a dokumentace ve formátu PDF. xKarelDalší verze xKarel je českého původu, autoři Radim Dostál a Petr Abrahamczik ji napsali v jazyce ANSI C++ s použitím knihovny FLTK a je šířena se zdrojovými kódy pod licencí GPL. xKarel pracuje pod MS Windows, Unixem či Linuxem a je možné ho zkompilovat i pro MacOS. Pohyb Karle můžeme sledovat v samostatném okně opět v 3D náhledu. Program je lokalizován do českého a anglického jazyka. Instalační soubor pro MS Windows má 921 kB. KarelJMultiplatformní verze KarelJ je, jak název napovídá, naprogramována v jazyku Java. Vychází z původní ideje a projektu Karel, napsaného v jazyce C. Pracuje na systémech s MS Windows, MacOS a Linux (POSIX, X11), kde je instalován run-time Java. Instalační archiv má včetně zdrojového kódu a dokumentace jen 690 kB. JarelDalší multiplatformní implementací je Jarel, opět napsanou v jazyce Java, jde ale zatím o ranou alfa verzi. Instalační archiv má velikost 795 kB. pyKarelVelmi zajímavý je projekt pyKarel, který využívá prostředí napsané v jazyce Python (opět jde o multiplatformní provedení pro MS Windows, MacOS a Linux). pyKarel překládá instrukce Karla do jazyka Python a interpretuje je s využitím knihovny wxPython. Instalační soubor pro MS Windows má velikost 2,17 MB. Karel P. PlavjaníkaDalší českou implementací je Karel autora Petra Plavjaníka, který původně vznikl jako ročníkový projekt v první roce jeho studia na MFF UK. K dispozici je verze pro MS-DOS s instalačním souborem o velikosti 76 kB a verze pro MS Windows o velikosti 342 kB. Karel 3DNa závěr jsem si nechal další českou verzi pro MS-DOS gymnasisty Karla Klímy Karel 3D, která má velmi dobrou on-line podporu a který je na našich školách, vybavených často i historickými PC, stále používán. Instalační archiv má velikost 139 kB. Prosím čtenáře o případné upozornění na další implementace jazyka Karel, určitě budou další. Proč a jak programování učit?Vraťme se ale k modulu školení P ICT ve výuce na 1. stupni ZŠ: neměl by určitě opomíjet desetiletí osvědčené metodiky a programování v tak zvaných „malých programovacích jazycích", které je nutné brát především jako jedny z nástrojů k rozvíjení tvůrčích schopností dětí. Školení pedagogů je samozřejmě jen základní podmínkou k úspěchu. Školy mají neuspokojivý poměr žáků na jeden počítač, chybí podpora v řadě oblastí, na druhou stranu ale stoupá vybavenost domácností počítači a rozšiřuje se zavádění počítačových systémů do nejrůznějších oblastí. A je také možné, že žáky zbytečně podceňujeme... Je také rozšířenou chybou redukovat počítače jen na osobní počítače – ty tvoří jen cca 5 procent instalovaných systémů. Stejně tak je neudržitelné tvrzení, že není potřeba výuka programování. Připomenu nedávnou repliku z diskuze na tomto serveru: „Pamatuji si živě na doby, kdy se stejně vášnivé diskuse vedly o tom, zda učit děti programovat v Basicu nebo Pascalu. Dnes to již nikoho nezajímá. V současné době většina uživatelů počítačů neprogramuje, stejně jako si dnes řadový řidič neseřizuje elektronické zapalování." Její autor zcela opominul, že ono elektronické zapalování musí nejprve někdo naprogramovat, a že dnes i kancelářské balíky nabízejí velmi silné programovací nástroje. | Dobrý Karel žije víc, než jsem čekalJednoduchý programovací jazyk Karel je určený pro výuku programování naprostých začátečníků, má za sebou více než dvacetiletou historii a jeho sedm verzí jsem popsal v předchozím článku. Přestože jsem čtenáře žádal o upozornění na další verze, nečekal jsem, že jich objevíme ještě tolik, k tomu navíc většinou českého původu. Částečně za neúplný výběr může moje orientace na multiplatformní řešení a práce převážně se zahraničními zdroji. Takže dnes napravuji dluh vůči dalším českým tvůrcům, kteří si zasluhují pozornost. Karel i v JavaScriptuSkvělou kombinaci on-line implementace jazyka Karel s názvem Robot Karel, naprogramované v JavaScriptu, a nápadité on-line výukové aplikace s názvem Zachraňte Karla! nabízí Ivan Ryant. Autor o vzniku píše takto: „Kursy programování s robotem Karlem u nás publikoval začátkem osmdesátých let Ruda Pecinovský a Tomáš Bartovský (snad ve VTM). Implementoval jsem tehdy Karla pod RT11, pod CP/M a nakonec na Ondrovi (to už podle Rudových připomínek a požadavků). Když jsem se nedávno chtěl naučit JavaScript, vzpomněl jsem si na svůj starý oblíbený program a napsal jsem ho znovu v JavaScriptu." Výukový program Zachraňte Karla! pak vytvořil jako bakalářskou práci z didaktiky na Masarykově ústavu vyšších studií ČVUT. Jediné, co mě napadá jako komentář ke kurzu, je: programování hrou! Implementaci i výukový kurs je možné používat on-line nebo je možné je zdarma stáhnout pro práci off-line (archiv ZIP se všemi soubory Karla má jen 39 kB, kurs v ZIPu má 329 kB). Ryantův Robot Karel byl původně vytvořen pro MS Internet Explorer 5.0, upravená verze pro MS IE 6.0, úprava pro Netscape Communicator 4.78 ale bohužel není zcela bezchybná. Karlové Oldřicha JedličkyDalší on-line verzi naprogramovanou v JavaScriptu nabízí Oldřich Jedlička, student Západočeské univerzity v Plzni. Tento multiplatformní Karel pracuje v prohlížečích MS Internet Explorer od verze 4, Opera 7 a vyšších a Konqueror 3.1 a vyšších a je optimalizován pro rozlišení 800×600 bodu (archiv ZIP ke stažení má 63 kB). Nejde ale o autorovu první verzi Karla: Program Visual Karel '99 byl můj první velký projekt na poli vizuálního programování pod Windows. Program je napsaný ve Visual C++, podporuje Drag&Drop, vzhled robota Karla jsem udělal podle Jiránkových kreseb. Motivací pro programování byl vymyšlený, ale neověřený algoritmus pro průchod městem libovolného tvaru. Visual Karel ´99 je „okenní" moderní aplikace připomínající vývojová prostředí vyšších programovacích jazyků, pracuje v OS MS Windows 95 a vyšších a instalační ZIP má 242 kB. Karlové Petra LaštovičkyPetr Laštovička napsal dvě verze vývojového prostředí jazyka Karel pro MS-DOS i MS Windows v jazyce C++. Obě verze jsou velmi úsporné (archivy ZIP mají 77 a 79 kB), přestože obsahují textový editor, kompilátor, interpret přeloženého kódu a debugger v prostředí podobnému Borland Pascalu. Obě verze jsou dvojjazyčné: za běhu můžete přepínat mezi češtinou a angličtinou. Karel 98Tato verze od Tomáše Holubce je zřejmě jako jediná placená: single licence je za 290 Kč, školní multilicence pak za 590 Kč. Ke stažení je k dispozici i učebnice jazyka v HTML. Instalační archiv ZIP omezené demoverze má velikost 139 kB.
|