• No results found

The Online Cloud Environments for Teaching Computer Science and Robotics at Elementary School

In document 2020 Sborník konference (Page 197-200)

P. Mališ*, P. Šaloun*, L. Bryndová*, P. Hrůza**, T. Dragon*, M. Klement*

*Katedra technické a informační výchovy, Pedagogická fakulta, Univerzita Palackého v Olomouci, Žižkovo nám. 5, 771 40 Olomouc, Česká republika

**VAHAL, s.r.o., Vrahovická 56c, 796 01 Prostějov, Česká republika

petr.malis@upol.cz, petr.saloun@upol.cz, lucie.bryndova01@upol.cz, phruza@vahal.cz, tomas.dragon@upol.cz, milan.klement@upol.cz

ABSTRAKT

Příspěvek pojednává o praktických zkušenostech učitelů s teoretickou přípravou studentů na výuku robotiky a o prerekvizitách, které studenti musí splňovat pro úspěšnou participaci ve výuce robotiky.

Základním tématem je přehled prostředí, které učitelé mohou využívat k výuce programování a porovnání těchto prostředí s ohledem na návaznost vlastní výukou programovatelné robotiky.

Příspěvek zároveň nabízí příklady možnosti implementace edukační robotiky, využívající teoretických přístupů konstruktivismu a konstrukcionismu do koncepce výuky technických, technologických a informatických předmětů.

ABSTRACT

The paper deals with practical experiences of teachers with the theoretical preparation of students in the robotics education and with the prerequisites that students must fulfill for a successful participation in the robotics classes. The main topic is an overview of the environments that teachers can use to teach programming and a comparison of these environments with regards to the planned progression of their classes to using programmable robotic tools. The paper also offers examples of implementation of educational robotics, using theoretical approaches of constructivism and constructionism to the concept of teaching technical, technological and computer science subjects.

Klíčová slova

Výuka programování, edukační robotika, blokové programovací jazyky

Keywords

Programming in education, educational robotics, block programming languages

1 ÚVOD

V současné době více než dvacet evropských zemí, včetně Česka, implementovalo vzdělávání v oblasti programování do národních kurikul, případně plánuje takto učinit v perspektivě následujících let [1]. V Česku reaguje na potřebu revize RVP v oblasti informatiky a ICT Strategie vzdělávací politiky České republiky do roku 2020, která navrhuje změny kurikula z ICT pro střední a základní školy v souladu s moderními požadavky na digitální gramotnost, které doporučuje Evropský parlament a Rada [2].

Nové rámcové vzdělávací programy pro informatiku se blíže zaměří na výuku algoritmizace,

zavedená témata pomohou žákům si osvojit a rozvíjet informatické myšlení. Tento soubor kompetencí a schopností by měl usnadnit žákům řešení problémů za pomocí využití algoritmů, a také zvýšit možnost uplatnění na trhu práce, který se postupně transformuje a zejména v technickém odvětví se očekává větší míra digitalizace a využití kyberneticko-fyzikálních systémů. Tento vývojový trend je označován jako Průmysl 4.0. Druhý nově implementovaný tematický celek základy robotiky propojuje poznatky nejen z informatiky (programování), ale také z techniky (návrh a konstruování), u některých programovatelných stavebnic (Arduino) je potřeba znát i základy elektrotechniky.

Se zavedením nových témat do výuky blízce souvisí volby adekvátních učebních prostředí, pomůcek a adekvátního propedeutického programovacího jazyka. V současnosti probíhají diskuze o způsobu implementace programování do škol a možností výběru programovatelných výukových platforem, které se pro tuto implementaci zvažují. V rámci této implementace se jako primární zdroj nabízí webová stránka celorepublikového projektu PRIM („Podpora rozvíjení informatického myšlení“) [4], v jehož rámci vznikají učebnice a podpůrné materiály pro výuku nové koncepce informatiky. Pro potřeby projektu jsme se zaměřili konkrétně na vzdělávací materiály a potřebné pomůcky/zařízení vztahující se k oblastem: „Programování a algoritmizace“ a „Základy robotiky“.

V článku se zaměřujeme na problematiku programování robotů pomocí vizuálních programovacích jazyků. Tento způsob programování můžeme označit i jako za aktuální trend v oblasti výuky programování. Nabízí totiž začátečníkům jednoduchý a přehledný způsob pro seznámení se s principy programování. S vizuálním programováním se také můžeme setkat v didaktických hrách pro výuku programování a algoritmizace.

2 VÝUKA ROBOTIKY

Jedním z významných trendů současné modernizace výuky na základních a středních školách je využívání specializované edukační robotiky jako výukové platformy pro výuku programování, algoritmizace a dalších kompetencí, jako je rozvoj informatického myšlení a digitální gramotnosti.

Využívání programovatelných stavebnic je jedním ze způsobů jednoduchého rozvoje digitálních kompetencí u žáků, včetně jejich kritického a zodpovědného přístupu k digitálním technologiím a pochopení koncepce digitální společnosti.

Pro výuku robotiky mohou učitelé v současnosti volit z širokého výběru specializovaných programovatelných hraček a stavebnic, které jsou specificky vytvořeny pro žáky odpovídající věkové kategorie a účelně rozvíjejí jejich klíčové kompetence a schopnost informatického myšlení a z nichž většina byla již úspěšně ověřena v zahraničí.

V článku se zaměřujeme na problematiku programování pomocí blokových příkazů. Tento způsob programování podporují stavebnice a roboti, kteří jsou ve většině případů doporučeni pro věkovou kategorii dětí ekvivalentní 2. stupni základní školy a výš. V tabulce 1 uvádíme vybrané příklady robotických stavebnic, se kterými máme osobní zkušenost v praxi a na které se budeme dále odkazovat.

Tabulka 1: Podporované programovací jazyky u vybraných robotických stavebnic Robotická stavebnice Programovatelné pomocí:

LEGO Mindstorms ev3 Ikonický jazykRCX Code, C/C++, Java, Visual Basic, Scratch LEGO WeDo 2.0 Vlastní ikonický jazyk, Scratch

Ozobot EVO, Bit Blokový jazyk

Arduino C/C++, Scratch

mBot Prostředí mBlock, C++

BBC micro:bit MakeCode blokový jazyk, Scratch, Python, JavaScript

2.1 Robotické stavebnice a programovatelní roboti

2.1.1 LEGO WeDo

Při práce s touto stavebnicí se rozvíjí nejen algoritmické myšlení, ale také kreativita a konstruktérské schopnosti. Programuje se pomocí ikonického jazyka, ale podporuje i Scratch.

2.1.2 LEGO Mindstorms

LEGO Mindstorms je série programovatelných stavebnic navazujících na LEGO WeDo, která je určena pro zkušenější studenty. LEGO Mindstorms je obtížnější, ale nabízí širší možnosti konstruování i programování. Před samotnou prací s robotickou stavebnicí LEGO Mindstorms Education EV3 se doporučuje předchozí zkušenost s vizuálním programovacím jazykem Scratch.

Podle průzkumu České republice používá v současnosti nejvíce škol právě produkty z řad LEGO, jmenovitě LEGO Mindstorms a LEGO NXT [5, s. 5–14] a tedy i adekvátní programovací prostředí.

Jde o plně programovatelné roboty, kteří nabízí jak mnoho různých možností sestavení, tak programování.

2.1.3 Ozobot

Jedná se o mini robota (interaktivní didaktickou hračku), který byl vytvořen v souladu s filozofií STEAM výuky. Podporuje kreativitu a výuku kódování. Lze využít jako podporu při rozvoji kreativity a logického myšlení u žáků. Na spodní části nalezneme senzory pěti barev, díky kterým rozpozná vodící linku a barevné kódy. Vyšší verze EVO disponuje i senzory přiblížení.

Programování je možné realizovat několika způsoby: pomocí editoru OzoBlockly dostupného přes libovolný webový prohlížeč, zakreslení barevných kódů, přes specializovanou bezplatnou mobilní aplikaci pro chytré telefony a tablety.

2.2 Programovatelná elektronika

2.2.1 BBC micro:bit

BBC micro:bit je mikropočítač o velikosti platební karty. Jedná se o open-source kit. Je primárně určen pro výuku informačních technologií. Programovat lze v několika jazycích: Blocks (vizuální programovací jazyk podobný jazyku Scratch), JavaScript a MicroPython.

2.2.2 Arduino

Arduino je jednodeskový počítač. Opět se jedná o open-source platformu. Nelze k němu přímo připojit klávesnici, myš, či monitor, ale lze jej rozšířit o další hardwarové komponenty jako display, servomotory, různé senzory apod. Přímo na webu Arduino lze najít spoustu užitečných tipů a námětů pro práci s tímto mikropočítačem. Tato platforma je cenově dostupná, a také vhodná i pro začínající uživatele v oblasti programování a robotiky. Programování probíhá přes specializovanou mobilní aplikaci Arduino Web Editor nebo desktopovou aplikaci Arduino IDE. Na desce Arduino je pak i založen další z robotů mBot.

3 VÝUKA PROGRAMOVÁNÍ

V případě volby jazyka pro účely efektivní výuky programování a konceptům, které se k němu vážou, zvažujeme primárně propedeutické programovací jazyky. Současný tuzemský systém volby programovacího jazyka pro výuku není standardizován a školy mají možnost volného výběru adekvátního prostředí dle individuální potřeby školy, kvalifikace jejích pedagogů a potřeb studentů.

Přesto, že neexistují oficiální zásady, podle kterých programovací jazyk pro výuku volit, platí obecné zásady, vycházející z letitých zahraničních i tuzemských zkušeností.

Při výběru vhodného propedeutického programovacího jazyka by měla být zvažována vhodnost a přehlednost vývojového prostředí, jeho uživatelská přístupnost a náročnost s ohledem na věk žáka.

Mnoho učitelů programujících na nižším stupni základních škol se přiklání spíše k aplikacím, které je možné použít na tabletech nežli k programovacím prostředím, které nutně vyžadují myš a klávesnici. Práce s tabletem, nebo podobnými dotykovými zařízeními lépe rozvíjí dětskou motoriku a nevyžaduje tolik vstupní koordinace.

Dalším základním pravidlem výběru, na kterém se mnoho autorů dále shoduje, je, že syntaxe jazyka by pro žáky základních škol neměla být příliš složitá. Problematické se zdá například i používání technického žargonu [6], je tedy nutné zvážit i jazykovou strukturu programovacího prostředí. To by ovšem mělo nabízet dostatek prostoru k rozvoji žáka, aby se usnadnil pozdější přechod studenta ke komplexnímu programovacímu jazyku. V českém prostředí je pochopitelně vhodnější volit prostředí, které funguje na principu českého jazyka. Angličtina může být pro žáky základních škol velkou překážkou.

Podobně i v oblasti samotného programování a algoritmizace by vybraný propedeutický programovací jazyk měl primárně efektivně podporovat další rozvoj žáka v oblasti informatiky a programování. Student měl rozvíjet minimálně základních pět oblastí informatického myšlení, které vychází ze standardu pro rozvoj informatického myšlení definovaných CSTA (Computer Science Teachers Association) a ISTE (International Society for Technology in Education). Vybrané programovací prostředí by mělo žákovi nabídnout minimálně možnosti rozvoje abstrakce, generalizace, dekompozice, algoritmizace a ladění [7]. Román-Gonzáles [8], tvůrce CT-testu, který měří úroveň informatického myšlení, pak považuje za klíčové, aby studenti ovládali základní programovací koncepty jako smyčky, počet jejich opakování a přerušení, jednoduché podmínky if, komplexní podmínky if/else, podmínka while a jednoduché funkce.

3.1 Vizuální programování

Existuje mnoho programovacích prostředí, které byly specificky vytvořeny přímo pro žáky odpovídající věkové kategorie. Jde například o Scratch, Kodu, Lego We-Do a Etoys. [9, 10]. Tato programovací prostředí jsou většinou bloková a ověřená mnohaletou praxí s poměrně rozvinutou podporou. Jde o vizuální programovací jazyky, které fungují na principu „drag and drop“ = táhni a pusť. Uživatel má k dispozici nabídku bloků, ze kterých skládá části programu. Tudíž si nemusí pamatovat seznam dostupných příkazů. Barevné odlišení bloků podle kategorií a také různé typy spojů, které zabraňují nesmyslným spojením, zpřehledňují vizuální jazyky a také minimalizují výskyt syntaktických chyb. Tyto vlastnosti umožňují žákům se více zaměřit na řešení problémů, ale mohou taky přinést problémy s uchopením syntaxe u vyšších programovacích jazyků [11].

Je vhodné zmínit, že většina doporučovaných prostředí pro programování na základních školách je úzce svázána s použitím robotických stavebnic. Mladší žáci vyžadují vizualizaci problému a rychlou odezvu jejich práce, což je motivuje k další činnosti. Robotické stavebnice se v tomto ohledu jeví jako vhodné řešení výuky programování.

4 ONLINE NÁSTROJE PRO VÝUKU PROGRAMOVÁNÍ

Pro potřeby našeho projektu jsme zpracovali rešerši online nástrojů volně dostupných a použitelných ve výuce v oblasti programování a algoritmizace a robotických zařízení.

Online nástroje můžeme rozdělit na dvě kategorie, první prostředí nabízející volnost v tvorbě programu, mezi druhou skupinu zařadíme weby, které nabízejí didaktické hry pro výuku programování.

In document 2020 Sborník konference (Page 197-200)