Hlavní strana | See live article

Programovací jazyk Karel

Karel je programovací jazyk (a většinou také vývojové prostředí) určený pro výuku programování naprostých začátečníků.

Table of contents
1 Původní robot Karel
2 Český robot Karel
3 Objektový robot Karel

Původní robot Karel

S myšlenkou výuky programování prostřednictvím tvorby programů pro svět robotů přišel na přelomu 70. a 80. let 20. století Richard E. Pattis, který jej používal na Stanfordské Univerzitě při výuce studentů. Pojmenoval jej Karel (a ne Charles) 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 - svislý směr měla připomínat první písmena: AV).

Robot rozuměl 5 základním příkazům: move (přesuň se na další křižovatku), turleft (otoč se vlevo), putbeeper (polož bzučák), pickbeeper(zvedni bzučák) a turnoff (vypni se) 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

Český robot Karel

U nás byla původní myšlenka lehce upravena. 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 an sever.

Robotek Karel může vykonávat velmi rozmanité činnosti: od primitivních příkazů typu VpravoVok přes jednoduché skoky, oběhy pole a kreslení různých obrazců z Karlových značek až ke složitému hledání značek v bludišti nebo sčítání a porovnávání čísel (představovaných počtem značek na jednotlivých políčcích).

Kolem této verze vznikla rozsáhlá metodika s řadou nejrůznějších výukových materiálů. Tato metodika v první etapě výuky vůbec nepoužívá v programech proměnné, čímž snižuje nároky na množství látky, kterou je třeba žákům přednést.

Žáci se v této etapě naučí především dekomponovat složitější problémy na sadu problémů jednodušších a používat základn programové konstrukce: (složený příkaz, podmíněný příkaz, cyklus a rekurzi).

Používání proměnných se zavádí až při přechodu na konkrétní programovací jazyk. Zde žáci používají knihovnu simulující jim známý svět robota Karla. Nejprve se při přepisování svých programů pro robota Karla naučí základy syntaxe použitého programovacího jazyka a v dalších etapách začnou tyto programy zdokonalovat využitím proměnných.

Tato metodika byla popsána v řadě časopiseckých seriálů a knih - naposledy v knize Základy algoritmizace

Objektový robot Karel

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

Objektového pokračování se dočkala i česká metodika. Některé texty najdete např. zde.