Multim mediální pom můcky pro výuku algoritmizace Multtimedia toolss for teaching g algorithmizaation Eva Milková – CZ Z, Petr Voborník – CZ Absttrakt: V článkku se zamýšlííme nad význnamem a přínnosem využitíí multimediálnních aplikací ppři studiu předmětu Algorittmy a datové struktury, který k je zaměěřen na rozvojj algoritmickéhho myšlení. Na N několika přříkladech ilusttrujeme vhodnnost jejich zařa řazení do výuky v zmíněnného předměttu, především m z hlediska vizualizace a testování přřednášené láátky. Zdůrazňujeme též výýhody uplattnění digitálnícch vzdělávacíích objektů přii přípravě studdijních materiáálů i celého proostředí tyto maateriály obsahhující. Klíčo ová slova: Alg lgoritmy a datoové struktury. Multimediálníí pomůcky. Annimace. Video--tutoriály. On--line testováníí. Úvod d M Multimediální a aplikace nachházejí stále veetší a rozmanitější uplatněnní, provázejí nás n téměř na každém krokku. Studenti neemají žádnné problémy s jejich využívááním a pedaggogové by moohli a měli tétoo skutečnosti využít v při příppravě svých sttudijních mateeriálů. Pročč studentům nedat n k dispozzici vhodné prrezentace a programy, p které by zefektivvnily jejich příípravu na výuuku? Proč nevvyužít talenntu a ochoty mnohých m studentů vytvářet aplikace „šitéé na míru“ urččitému účelu? Proč nezpesttřit přednáškyy názornou diggitální vizuaalizací vykládaané látky? V článku předsstavíme různáá využití několiika multimediáálních aplikací vytvořených studenty našíí fakulty pro předmět Algorittmy a datovvé struktury (ddále jen ALGD DS) a zdůraznníme jejich příínos pro výukku tohoto předdmětu. Garanteem předmětu ALGDS je auutorka článkku, a právě pood jejím vedeením byly dálee zmiňované multimediální m aplikace vytvoořeny, ať již v rámci bakaláářské, diplomoové či diserrtační práce. Detailněji D předdstavíme především ty aplikkace, které vyttvořil autor čláánku. V úvodu ještě poznamenejm me, že hlavníím cílem předdmětu ALGDS S je naučit stuudenty vytvářřet jednoduššíí algoritmy poomocí českkého metajazyyka, vést je k porozumění činnosti č složitějších algoritm mů a celkově rozvíjet jejichh logické a alggoritmické myyšlení. Předdmět je do studdia zařazen hned v prvním semestru, přeed předměty, které k se zabývvají programovváním. 1 Pro ogram Algoriitmy V předmětu ALLGDS se pro zápis algoritm mů používá čeeský pseudokóód programovvacího jazyka Pascal zahrnující pouze něěkolik záklaadních příkazůů. Zápis algorritmů prováděějí studenti na papír. I když mají k dispozzici učebnici ((Milková, 20100) obsahující celou řadu řešených úloh a zadání příkladů, jejichž výsledkyy najdou na přiloženém p C a i když řeešení mnoha úloh diskutuují na CD, cvičeeních, potřebuují si samostattně, bez přítom mnosti pedagooga, procvičit získané dovednosti na dalšších a dalších příkladech sppolu s možnností ověřit sii správnost svvého řešení. Právě P k tomutto účelu byl vyvinut a studeentům dán k ddispozici proggram Algoritmyy (viz obr. 1).
ZZdruženie SLO OVDIDAC, P. O O. BOX 53 B, 9 949 01 Nitra, SSlovak republic ISSN 1338‐1202 (online), ISSN 1335‐003X (print version)
Obr. 1 Program Algoritmy Program Algoritmy (viz http://algds.cronos.cz) vytvořený v prostředí Delphi v rámci diplomové práce (Voborník, 2006) je výbornou pomůckou jak pro začátečníky, tak i pokročilé studenty v oboru algoritmizace. Pomocí programu si mohou vyzkoušet a osvojit techniku psaní a fungování algoritmů. Program je uživatelsky přívětivý a jeho vzhled, ovládání a funkce jsou navrženy tak, aby byly intuitivní a současně připomínaly profesionální editory a debugery známých programovacích jazyků, čímž zároveň usnadňuje i následný přechod na ně. Program je oproštěn od mnoha pro začátečníky nepotřebných funkcí, které by jeho užívání na této úrovni spíše komplikovaly. Díky možnosti lokalizace programu do různých jazyků může teoreticky program používat každý ve svém mateřském jazyce, včetně možnosti definice vlastních klíčových slov použitého metajazyka. Studenti v programu Algoritmy zapisují algoritmy, provádějí jejich úpravu v sofistikovaném editoru, spouštějí je, mohou je krokovat a tak v jednotlivých krocích algoritmu sledovat měnící se hodnoty všech použitých proměnných, ať již jednoduchých či strukturovaných. Při editaci dochází ke zvýraznění syntaxe algoritmu, k dispozici je asistent kódu s klíčovými slovy, podpora přímého formátování kódu při psaní, jako i možnost automatického naformátování algoritmu již dříve napsaného. Po napsání algoritmu program provede syntaktickou kontrolu a v případě výskytu chyby v algoritmu je na ní student upozorněn, včetně vysvětlení, o jakou chybu se jedná. Program je především důležitou pomůckou studentů při jejich samostatné přípravě na výuku, ale slouží též pedagogovi při přípravě studijních materiálů a jako užitečný doplněk při vysvětlování činnosti jednotlivých algoritmů. (Milková, 2006) 2 Animace Pro zavedení pojmu algoritmus probíraném v úvodní přednášce předmětu ALGDS byly vytvořeny malé, ale velmi užitečné animace znázorňující tři základní algoritmy vnitřního třídění. Tři různé přístupy k řešení téhož problému (třídění metodou přímého výběru, přímého vkládání a přímé výměny) byly vytvořeny v rámci bakalářské práce v prostředí Macromedia Flash. Animace jsou k dispozici na http://lide.uhk.cz/fim/ucitel/milkoev1/, na stránce ALGDS/Přednášky v části Práce studentů připravené pro předmět ALGDS. Následující obrázky (obr. 2 – 4) naznačují, jakým způsobem probíhá ilustrace základní myšlenky algoritmu vnitřního třídění „přímým výběrem“.
Obr. 2 Třídění přímým výběrem: výběr nejmenšího bílého sněhuláka
Združenie SLOVDIDAC, P. O. BOX 53 B, 949 01 Nitra, Slovak republic ISSN 1338‐1202 (online), ISSN 1335‐003X (print version)
Obr. 3 Třídění přímým výběrem: výměna vybraného nejmenšího sněhuláka s prvním bílým sněhulákem
Obr. 4 Třídění přímým výběrem: zařazení vybraného nejmenšího bílého sněhuláka do cílové posloupnosti, tj. jeho označení modrou barvou Obdobné, rozsahem nevelké, animace vhodné pro znázornění jednotlivých pojmů a speciálních částí z dané oblasti výkladu jsou vítaným zpestřením přednášek. Důležité je podotknout, že tato malá multimediální dílka umísťujeme do virtuálního studijního prostředí WebCT do modulu odpovídajícího příslušné přednášce, a tímto způsobem si studenti mohou jasně vybavit, co bylo v dané přednášce probíráno. (Milková, 2008) 3 Video-tutoriály Vysvětlit studentům libovolný základní algoritmus lze mnoha způsoby. My jim algoritmus nejprve přiblížíme na reálném příkladu, pak, dle potřeby zobrazíme pomocí vývojového diagramu, a následně již přecházíme k zápisu v pseudokódu a vysvětlujeme jednotlivé kroky. Díky programu Algoritmy můžeme předvést studentům zápis celého algoritmu od počátku do konce s patřičným komentářem vysvětlujícím nejen jednotlivé příkazy, ale i myšlenkové pochody, jimiž se k řešení dá dospět, včetně zmínění možností alternativních řešení. Ukazujeme jim i zdánlivě správná řešení, která však správná nejsou a pomocí programu Algoritmy, ve kterém ihned vidí i hodnoty použitých proměnných, jim vysvětlujeme, kde dochází k chybě. Studenti, kteří se nemohou přednášky zúčastnit nebo i ti, co se jí účastní, by si rádi celý „záznam“ připomněli. Řešením jsou tzv. video-tutoriály. Video-tutoriály pořízené nahráváním obrazovky počítače (pracovní plochy) jsou efektivní pomůckou k tomu, jak názorně vysvětlit určité specifické postupy. Využívají se především v oblasti e-learningu, mohou být ale použity, jak bylo naznačeno výše, i jako doplněk klasické výuky. Vytvoření video-tutoriálu není nikterak složité a celý proces může zvládnout i jeden člověk. K nahrání a následnému střihu lze použít mnoho různých komerčních i freewarových aplikací, ideální je, pokud daný software umožňuje provést obě zmíněné činnosti. Další užitečnou funkcí programu může být, umožňuje-li software výsledné video obohatit i dalšími efekty, jako jsou například „bubliny“ s komentáři, zvýrazňování a zvětšování výřezů videa, vkládání obrázků, zvýraznění kurzoru apod. Mezi takovéto aplikace patří například BB FlashBack (viz http://www.bbsoftware.co.uk/BBFlashBack/Home.aspx) či Camtasia (http://www.techsmith.com/camtasia/). Na obr. 5 je ukázka použití BB FlashBack pro editaci záznamu obrazovky programu Algoritmy.
Združenie SLOVDIDAC, P. O. BOX 53 B, 949 01 Nitra, Slovak republic ISSN 1338‐1202 (online), ISSN 1335‐003X (print version)
Obr. 5 Software pro nahrávání, zpracování a export videa BB FlashBack Hotové video-tutoriály není problém integrovat do některých LMS. Různé způsoby, jak vložit video-tutoriály do LMS, jsme odzkoušeli v prostředí WebCT. Bylo použito vložení video-tutoriálů v následujících formách: a) video soubory ke stažení (ve formátu WMV – Windows Media Video), b) YouTube video objekt, c) přímé nahrání flash videa i s přehrávačem do souborového systému WebCT, d) odkaz na stránku (zobrazovanou ve zvláštním rámci) jiného serveru, kde bylo video vloženo ve formátu c) (viz obr. 6).
Obr. 6 Flash video integrované do LMS WebCT Vzhledem k nižší kvalitě a vkládání komerčních reklam v možnosti b) se při požadavku přímé multimediální interaktivity ukázaly jako optimální možnosti c) a d). Možnost c) v případě, kdy mají být videa dostupná pouze registrovaným členům kurzu v LMS a d) tehdy, jsou-li videa kromě nich určena i internetové veřejnosti. (Voborník, 2010) Združenie SLOVDIDAC, P. O. BOX 53 B, 949 01 Nitra, Slovak republic ISSN 1338‐1202 (online), ISSN 1335‐003X (print version)
Video-tutoriály vytvořené autorem tohoto článku pro předmět ALGDS jsou zaměřeny na představení různých přístupů k řešení téhož problému a jsou zařazeny do WebCT k příslušným přednáškám. Využít je mohou jak studenti prezenční formy studia, tak i studenti kombinované formy studia. 4 Testování 4.1 Aplikace ALGDS Pro testování znalostí získaných v předmětu ALGDS slouží studentům nejen program Algoritmy, ale pro studenty byla v rámci diplomové práce (Hotový, 2007) vytvořena webová aplikace ALGDS (viz obr. 7), pomocí níž si mohou zábavnou formou otestovat, „jak na tom jsou“. Při vývoji aplikace ALGDS byl využit jazyk PHP a díky tomu je možné aplikaci bez problémů integrovat do prostředí WebCT. Aplikace nabízí tři typy testů; doplňování do algoritmu, seřazení algoritmu a vyřešení algoritmu. Každý typ je rozdělen do tří podskupin dle toho, které oblasti algoritmizace se příklady věnují. Studenti tak vědí, že procvičují příklad na jednoduchou proměnnou, jednorozměrné pole či vícerozměrné pole. Každá podskupina obsahuje deset příkladů, které může vyučující s přístupem ke zdrojovému kódu aplikace dle potřeby měnit.
Obr. 7 Prostředí webové aplikace ALGDS, test typu doplňování do algoritmu Po vyřešení každé úlohy systém okamžitě vyhodnotí studentovu odpověď a zobrazí správné řešení. Pokud by studentům nebylo řešení nějaké úlohy jasné, mohou si jej zkopírovat do programu Algoritmy, spustit si jej, sledovat krok po kroku činnost celého algoritmu a touto cestou jej lépe pochopit. Aplikace obsahuje i stránku s hodnocením studentů. Tato strana je určena k tomu, aby studentům vrátila výsledky jejich testování. Je doplněna jednoduchými statistickými údaji, na základě kterých student vidí, na kterou oblast problematiky je třeba se více zaměřit. 4.2 Aplikace Testy Další možnost, jak si studenti mohou ověřit a procvičit své znalosti ohledně algoritmů, poskytuje aktuálně vyvíjená webová aplikace pro testování látky probírané v různých předmětech. Ta je vytvářena autorem článku v rámci disertační práce v technologii Silverlight a v současné době je nasazena v testovacím provozu. Zkušební testy jsou v ní zhotoveny právě z oblasti algoritmizace a programování.
Združenie SLOVDIDAC, P. O. BOX 53 B, 949 01 Nitra, Slovak republic ISSN 1338‐1202 (online), ISSN 1335‐003X (print version)
Aplikace Testy definuje vlastní jazyk na bázi XML pro zápis jednotlivých otázek použitelných v testech a zároveň poskytuje plnohodnotné prostředí pro zadávání testů, umožňuje jejich průběh a důkladné vyhodnocení včetně rozboru průběhu jednotlivých testů. Otázky, které aplikace umožňuje vytvářet, přitom mohou obsahovat širokou škálu nejrůznějších technik využívajících náhodně generovaných hodnot různých typů a jejich interního matematicko-logického zpracování. Díky tomu lze v rámci jedné otázky při každém testování vygenerovat vždy jinou sadu příkladů, nebo algoritmus obsahující jiné vstupní hodnoty, znaménka, proměnné atd. Ta samá otázka tak může být studentovi předkládána opakovaně, aniž by kdy byla zcela shodná. Z těchto důvodu nehrozí, že by se student po čase zpaměti naučil pouze několik výstupních hodnot a jejich pozice, ale neustálými modifikacemi téže otázky by mělo být dosaženo toho, že příslušnou látku pochopí a až pouze díky tomu bude schopen danou otázku pokaždé zodpovědět správně. Pokud je pro test nastaven náhodný výběr z většího souboru otázek, aplikace dokáže tuto náhodu ovlivnit tak, aby při testování byly do testu každého studenta s větší pravděpodobností zařazovány otázky, které neřešil již delší dobu nebo dokonce vůbec, případně nebyla úspěšnost jejich řešení příliš vysoká. Otázky, kromě klasického doplňování hodnot nebo výběru některé z nabízených odpovědí, mohou obsahovat i řadu dalších možností. Jednou z nich je interaktivní rozmísťování grafických prvků na ploše do určitých předem zadaných míst metodou drag&drop (táhni a pusť – metoda, při níž jsou grafické prvky na ploše přemísťovány myší tak, že je na prvku stisknuto tlačítko myši, prvek je přetažen na požadovanou pozici, kde je uvolněním tlačítka myši umístěn). Úkolem studentů je tedy například poskládat z jednotlivých částí vývojový diagram tak, aby plnil zadanou funkci (viz obr. 8).
Obr. 8 Otázka, v níž má student metodou drag&drop poskládat vývojový diagram dle zadání Test může být nastaven i tak, že výsledky testování jsou vidět nejen ihned po jeho ukončení, ale dokonce i v jeho průběhu. Po každé otázce může být zobrazeno, byla-li zodpovězena správně, nebo jaké je procento její úspěšnosti. Po dokončení testu si student, umožňuje-li to nastavení testu, může zobrazit podrobný rozbor průběhu testu, kde je mu v každé otázce zvýrazněno, co měl správně, co nikoli, jak to správně mělo být a proč. Vstup do systému aplikace je v současné době umožněn pouze na základě přihlášení registrovaného uživatele. Chystané rozšíření však umožní integrovat tento systém s pomocí rámce do libovolného LMS systému nebo i obyčejné webové stránky. 5 Shrnutí a výsledky Shrňme krátce způsoby, jakými využíváme multimediální aplikace vytvořené studenty ve výuce předmětu ALGDS. Multimediální „maličkosti“, animace, demonstrující jeden konkrétní algoritmus, jsou vhodné pro zpestření přednášky a pro připomenutí probírané látky v příslušné přednášce. Združenie SLOVDIDAC, P. O. BOX 53 B, 949 01 Nitra, Slovak republic ISSN 1338‐1202 (online), ISSN 1335‐003X (print version)
Multimediální programy, konkrétně program Algoritmy, slouží studentům při jejich samostatné přípravě na výuku a vyučujícím při přípravě studijních materiálů a jako doplněk přednášky pro vysvětlení činnosti probíraných algoritmů. Aplikace ALGDS a Testy jsou určeny k testování získaných znalostí. Video-tutoriály obsahující záznam určité části přednášky jsou vítaným pomocníkem při studiu všem, kteří si potřebují zopakovat výklad probírané látky. Pedagog může některé video-tutoriály využít i v tom směru, že je zadá studentům jako součást samostatného nastudování nové látky. Zmínili jsme, že vytvořené multimediální aplikace vkládáme do WebCT. Toto virtuální studijní prostředí používáme na naší fakultě již řadu let a je využíváno převážně k tomu, abychom usnadnili studentům jejich samostatnou přípravu na daný předmět. Stalo se již neodmyslitelnou součástí výuky kombinované formy studia, ale s výhodou je používáme i jako doplněk prezenční formy studia. Největší výhody zařazení WebCT do výuky pro tuto formu spatřujeme v následujících směrech (Milková, 2008). a) Studenti mají v jednom prostředí pohromadě k dispozici veškerý studijní materiál určený pro daný předmět a všechny potřebné informace týkající se tohoto předmětu včetně předběžného plánu přednášek, podmínek získání zápočtu a zkoušky, vzorové ukázky testů apod. b) Pro studenty, kteří se do hloubky zajímají o daný předmět, ukládáme do studijního prostředí další studijní materiály a různé odkazy (označené „pro zájemce“), z kterých mohou čerpat a nabyté poznatky pak konzultovat s pedagogem. Tímto způsobem se nezřídka „rodí“ výtečné diplomové práce. c) Studenti využívají možnosti prověřit si své znalosti prostřednictvím testů s automatickou odpovědí a s pomocí multimediálních aplikací vizualizujících probíranou látku. d) Přednášející má možnost získat jasný přehled o práci na cvičeních a výsledcích jednotlivých studentů, protože jeho asistenti, kteří vedou cvičení daného předmětu, vkládají do studijního prostředí zadání úloh procvičovaných na cvičeních a zapisují do něj hodnocení, které studenti dosahují v jednotlivých písemných testech. e) Přístup ke studijním materiálům odkudkoli a kdykoli je neocenitelnou pomocí zejména pro studenty studující v rámci výměnného programu v zahraničí. V případě předmětu ALGDS, vzhledem k tomu, že je to předmět zařazený v prvním semestru, kdy se studenti začínají orientovat v nové formě studia, ještě nevyjíždějí do zahraničí, a vzhledem k tomu, že základní studijní pomůckou je učebnice (Milková, 2010), jejíž součástí je CD obsahující program Algoritmy i řešení úloh zadaných v učebnici, používáme WebCT především k účelům zmíněných v bodech a), c) a d). Závěr V článku jsme krátce popsali několik multimediálních aplikací vytvořených studenty a naznačili, jak je využíváme ve výuce. Výtvory studentů, dělané s radostí, touhou ukázat, co umím, šité na míru požadavkům pedagoga na základě potřeb studentů, jsou skvělým a přitom levným zdrojem užitečných studijních pomůcek. Navíc autoři těchto produktů získávají skvělý pocit, že jejich práce nepřišla nazmar, že je naopak prospěšná a pomáhá obohatit učení a učení se. V obdobném duchu autorka článku připravuje se svými studenty multimediální aplikace pro předměty Diskrétní matematika a Diskrétní metody a optimalizace, v nichž je převážná pozornost věnována teorii grafů a složitějším kombinatorickým a optimalizačním algoritmům na grafech. MULTIMEDIA TOOLS FOR TEACHING ALGORITHMIZATION Abstract: Multimedia applications give us an excellent chance how to support demonstrating, visualizing, describing and testing the explained subject matter to be much clearer and comprehensible. In the paper we present just a few ideas that have proved successful in optimization of teaching and learning the subject Algorithms and Data Structure with help of modern technology. Keywords: Algorithms and Data Structure. Multimedia tools. Animations. Video-tutorials. On-line testing. Literatura HOTOVÝ, V. 2007. Vizuální podpora rozvoje algoritmického myšlení s využitím webdesignu. Diplomová práce, Univerzita Hradec Králové, 2007. Združenie SLOVDIDAC, P. O. BOX 53 B, 949 01 Nitra, Slovak republic ISSN 1338‐1202 (online), ISSN 1335‐003X (print version)
MILKOVÁ, E. 2008. Multimedia Applications and their Benefit for Teaching and Learning at Universities. WSEAS TRANSACTIONS on INFORMATION SCIENCE & APPLICATIONS, Issue 6, Volume 5, June 2008, pp. 869-879. ISSN 1790-0832. MILKOVÁ, E. 2008. Multimediální aplikace: zvyšování kvality vzdělávání. Technológia vzdelávania, ročník XVI, 6/2008, s. 7-9. ISSN 1335-003X. MILKOVÁ, E. a kol. 2010. Algoritmy – základní konstrukce v příkladech a jejich vizualizace. Gaudeamus, Hradec Králové, 2010. ISBN 978-80-7435-064-1. MILKOVÁ, E., VOBORNÍK, P. 2006. Program Algoritmy – důležitý doplněk výuky algoritmizace. In: Sborník příspěvků ze semináře a soutěže eLearning 2006, 7. - 19. 11. 2006, Gaudeamus, UHK, 2006, s. 284-288, ISBN 80-7041-416-2. VOBORNÍK, P. 2006. Programovací jazyk pro podporu výuky algoritmů. Diplomová práce, Univerzita Hradec Králové, 2006. VOBORNÍK, P. 2010. Výuka programování s pomocí video-tutoriálů. In: Sborník příspěvků z konference a soutěže eLearning 2010, 9. - 10. 11. 2010, Gaudeamus, UHK, 2010. ISBN 978-80-7435-067-2. prof. RNDr. Eva Milková, Ph.D. E-mail:
[email protected] Ing. Petr Voborník E-mail:
[email protected] Univerzita Hradec Králové Fakulta informatiky a managementu Katedra informatiky a kvantitativních metod Rokitanského 62, 500 03 Hradec Králové Česká republika
Združenie SLOVDIDAC, P. O. BOX 53 B, 949 01 Nitra, Slovak republic ISSN 1338‐1202 (online), ISSN 1335‐003X (print version)