1 Een "Hot Potatoes"-applicatie voor het Interactieve Whiteboardplatform iumi Tom Stuyck Promotor: prof. dr. ir. Wilfried Begeleiders: dr. ir. Quang L...
Een "Hot Potatoes"-applicatie voor het Interactieve Whiteboardplatform iumi Tom Stuyck
Promotor: prof. dr. ir. Wilfried Begeleiders: dr. ir. Quang Luong, Jelle Van De Velde Masterproef ingediend tot het behalen van de academische graad van Master in de toegepaste informatica Vakgroep Telecommunicatie en Informatieverwerking Voorzitter: prof. dr. ir. Herwig Bruneel Faculteit Ingenieurswetenschappen en Architectuur Academiejaar 2010-2011
Dankwoord
Als kind was ik reeds gefascineerd door technologie. Doorheen mijn opleidingen ben ik deze interesse blijven behouden. In mijn voormalige opleiding in de Pedagogische Wetenschappen, maakte ik kennis met de cursus ‘Onderwijskundig Ontwerpen’, gedoceerd door mijn voormalige promotor Jo Tondeur. Dit opleidingsonderdeel sprak mij enorm aan, omdat het zich voornamelijk focuste op de mogelijkheden die ICT binnen het onderwijs kan bieden.
Uiteindelijk verkoos ik na deze opleiding om mijn technische kennis in ICT uit te breiden en de Master na Master in de Toegepaste Informatica te volgen. Op deze wijze sta ik een stap dichter bij de softwareontwikkelaar en bij mijn doel om de ontwikkeling en integratie van educatieve software in het onderwijs te helpen bespoedigen.
De mensen die mij bij deze zoektocht hebben vergezeld, wil ik hierbij bedanken. In de eerste plaats mijn begeleider Dr. Ir. Quang Luong die mij heeft geholpen bij het neerschrijven van deze masterproef en de technische problemen tijdens het ontwerpen. Ik was op elk ogenblik welkom voor vragen en tips. Daarnaast wil ik ook Jelle Van De Velde en Kris Carron van Playlane, samen met hun team, uitdrukkelijk bedanken voor hun medewerking en hun sturing in het programmeren van de code. Op deze wijze heb ik ook een klein deel van hun ervaring en enthousiasme in het ontwikkelen van educatieve software kunnen meepikken. Daarnaast is het ook positief dat de geschreven code gebruikt zal worden in iumi zodat vele leerkrachten in de toekomst gebruik zullen kunnen maken van Hot Potatoes.
Uiteraard wil ik ook Bart en mijn vader bedanken voor de energie en de tijd die zij vrijgemaakt hebben voor de spellingscontrole. Zij hebben niet louter op taalfouten verbeterd, maar ook onzuiverheden aangeduid, hetgeen mijn werk ongetwijfeld kwaliteitsvoller heeft gemaakt.
Tenslotte wil ik mijn vrienden en mijn familie bedanken. Zij hebben mij gesteund en tevens de ontspanning geboden, die de nodige energie leverde om met veel motivatie deze masterproef te schrijven.
III
Inhoudstafel
Dankwoord
III
Inhoudstafel
IV
1. Inleiding
5
2. Context: Hot Potatoes en het iumi-platform
9
2.1 Beschrijving van het iumi-platform
9
2.2 Beschrijving van Hot Potatoes
10
2.3 Functies ondersteund door het iumi-platform
16
2.4 Beschrijving van de JMatch XML-bestanden
20
2.5 Organisatie van de ontwikkeling van Hot Potatoes in het iumi-platform
22
3. Ontwikkeling: Validatie en transformatie van een Hot Potatoes JMatch XMLbestand naar het iumi XML-formaat
24
3.1 Beschrijving van de opdracht en aanpak
24
3.2 Validatie van de Hot Potatoes XML-bestanden: C#
29
3.3 Transformatie van een Hot Potatoes JMatch XML-bestand: XSLT
32
4. Discussie
38
5. Conclusie
41
6. Bibliografie
42
7. Bijlagen
44
IV
1. Inleiding ICT of Informatie – en Communicatietechnologie is een term die een erg brede lading dekt. Als gevolg van de snelle groei van het ICT-gebruik in onze maatschappij, is het onderwijs genoodzaakt een inhaalbeweging op dit vlak in te zetten. Het is de rol van het onderwijs om de huidige generatie jongeren op een verstandige wijze te leren omgaan en te leren werken met ICT, waardoor hun capaciteiten op verscheidene domeinen worden uitgebreid. Dit vloeit eveneens voort uit de aanpassingen van de voormalige Vlaams minister van Onderwijs Frank Vandenbroucke (2007), die vanaf 1 september 2007, in het basis en het secundair onderwijs ICT-eindtermen invoerde. Mede door de pedagogische vrijheid in Vlaanderen zijn scholen verantwoordelijk om deze noodzakelijke en verplichte eindtermen te bereiken en deze ICT-integratie tot een goed einde te brengen. Het zijn voornamelijk de leerkrachten die genoodzaakt zijn om zich aan te passen.
De huidige Vlaams minister van Onderwijs Pascal Smet (2009) ondersteunt deze visie en wil scholen
helpen
investeren
in
duurzame
en
moderne
infrastructuur.
Uit
de
schoolgebouwenenquête van Agion in 2008 blijkt dat de infrastructuur in scholen vaak tekortschiet op het vlak van nieuwe maatschappelijke en pedagogische uitdagingen, waaraan schoolgebouwen in de 21e eeuw moeten voldoen (Agion, 2008). Vereisten zoals het gebruik van ICT in de klas behoren tot deze nieuwe pedagogische uitdagingen. Volgens minister Pascal Smet is het beschikken over de nodige kwaliteitsvolle ICT-infrastructuur en een goed functionerende en snelle internetconnectie zonder meer een voorwaarde om ICT in het onderwijs te integreren. De meeste scholen lijken te beschikken over een relatief goede ICT-infrastructuur volgens het onderzoek ‘Monitoring ICT in het Vlaamse Onderwijs’ (Clarebout et al., 2010). Dit terwijl slechts 48% van de scholen tevreden is over de beschikbare ICT-infrastructuur in hun schoolgebouwen (Agion, 2008). Interactieve whiteboards behoren tot deze duurzame en moderne infrastructuur om ICT in een klas te integreren. Er worden verschillende termen door elkaar gebruikt, zoals een ‘interactief whiteboard’, een ‘smartboard’, een ‘digitaal schoolbord’, een ‘elektronisch schoolbord’, of een ‘digibord’. De term ‘smartboard’ verwijst naar een merknaam en wordt daarom soms verkeerd toegepast indien het interactief whiteboard niet van het merk Smartboard is. Smart Technologies1, de marktleider op vlak van interactieve whiteboards, ontwikkelen hun eigen interactief whiteboard, namelijk ‘smartboard’. Om verwarring te vermijden en voor de
1
Smart Technologies: http://www.smartboard.nl
5
eenvoud maken we louter gebruik van de term ‘interactief whiteboard’. Een interactief whiteboard is een groot aanraakscherm verbonden met een computer en een projector in het klaslokaal. De projector projecteert het beeld van de computer op het whiteboard zodat dit voor het hele klaslokaal zichtbaar is. Gebruikers kunnen op basis van een pen, een vinger of een stylus op het whiteboard navigeren. Het kan gebruikt worden door leerkrachten om afbeeldingen, bewegende beelden en geluiden toegankelijk te maken voor de gehele klas, een groep, of een individuele leerling. Het interactief whiteboard is een uiterst geschikt medium om ICT in het klaslokaal te integreren. Zo wordt er van leerkrachten niet alleen verwacht ICT-vaardigheden te bezitten, zoals het ontwikkelen van multimedia presentaties of wiki’s (Brush & Saye, 2009), maar ook in staat te zijn ICT in hun lessen te integreren om op deze wijze de kennisconstructie te optimaliseren (Barton & Haydn, 2006). De aanraakfunctionaliteit van een whiteboard maakt het niet alleen mogelijk om visueel krachtige lessen aan te bieden, maar ook interactieve lessen waarin zowel leerkracht als leerling het whiteboard kunnen gebruiken. Uit cijfers blijkt dat er een stijging is in de beschikbaarheid van interactieve whiteboards (Clarebout et al., 2010). Twee op de dertien basisscholen beschikken over één of meerdere interactieve whiteboards en dit aantal blijft stijgen. Het maximum aantal interactieve whiteboards per school is 7 in het lager en 10 in het secundair onderwijs. Het probleem situeert zich niet louter in de aanwezigheid van interactieve whiteboards voor leerkrachten, maar ook in de beschikbaarheid van bepaalde types software voor deze whiteboards.
Minder dan de helft van de scholen blijkt te beschikken over collaboratieve softwaretools, of toepassingen die het samenwerken aan een taak ondersteunen; en ongeveer 60% van alle scholen beschikken over toets- en oefeningensoftware (Clarebout et al., 2010). Indien men de software voor de interactieve whiteboards in het bijzonder zou isoleren van de software voor alle andere media, zou men zien dat dit tekort aan collaboratieve, toets- en oefeningensoftware nog groter is. Bovendien wijzen de onderzoeksresultaten inzake ICT op school, op een eerder klassiek gebruik van ICT. ICT is algemeen aanwezig, maar voornamelijk informatiegericht, zoals voor het opzoeken en verwerken van informatie. Dit heeft als gevolg dat een groot deel van de pedagogische didactische kracht, die ICT kan bieden, verloren gaat (Clarebout et al., 2010). Leerkrachten uit het basisonderwijs achten zich het minst competent voor wat betreft het opstellen van toetsvragen met een specifiek toetsprogramma en het meest competent voor wat betreft het opzoeken van informatie met behulp van ICT (dat is ook, cf. supra, wat ze het meeste doen). Leerkrachten uit het
6
basis- en het secundair onderwijs achten zich het minst competent voor wat betreft het opstellen van toetsvragen met een specifiek toetsprogramma. Het belang van deze pedagogische didactische component van ICT is nochtans reeds lang gekend. Gebruik makend van ICT in het klaslokaal, kan men als leerkracht de instructie rijker maken. Onderwijskundig onderzoek van Khalili en Shashaani (1994) wees uit dat, naast het feit dat men streeft naar gelijke kansen, ICT-integratie een pedagogisch-didactische meerwaarde kan bieden en het leren kan bevorderen. De laatste decennia dagen internet en virtuele communicatie leerlingen soms meer uit dan de traditionele onderwijsaanpak (Onderwijsinspectie, 2004). Het doel is dus om ICT te integreren daar waar het een toegevoegde waarde heeft voor het onderwijs (Dienst voor Onderwijsontwikkeling, 2004). Uit mijn vorige masterproef (Stuyck, 2010) bleek dat deze ICT-integratie voor huidige leerkrachten echter niet zo vlot verloopt. Zij hebben duidelijk nood aan concrete oplossingen en ondersteuning. Recent nationaal en internationaal onderzoek toont aan dat (1) ICT als hulpmiddel ter bevordering van het leerproces doorgaans niet verankerd is in de praktijk van de leerkracht (Brush & Saye , 2009). Ook werd bewezen (2) dat ICT in het klaslokaal in vele gevallen nog steeds op een onsuccesvolle wijze gebruikt wordt en moeilijk te integreren is in een traditionele curriculumopstelling (Sang et al., 2009; Hermans et al., 2008). Daarom is het van belang om huidige leerkrachten hierin te ondersteunen en effectieve toepassingen aan te bieden. De Hot Potatoes-applicatie kan hiertoe een steentje bijdragen, door zelf toetsoefeningen te maken en achteraf klassikaal met het interactief whiteboard te overlopen. Dit kan de integratie van ICT in het onderwijs rechtstreeks bespoedigen, maar tevens onrechtstreeks omdat in de lerarenopleiding pasafgestudeerde oud-studentleraren voor huidige leerkrachten een bron van motivatie en inspiratie kunnen zijn om ICT in hun lessen te integreren (Sime & Priestly, 2005).
Het doel van deze masterproef is het ontwikkelen van een collaboratieve, toets- en oefeningenapplicatie voor het interactieve onafhankelijke whiteboardplatform ‘iumi’. Dit gebeurt in samenwerking met Playlane2, de ontwikkelaar van iumi, dat dit platform gratis ter beschikking stelt voor leerkrachten. Dit platform zal uitgebreid worden met een collaboratieve, toets- en oefeningenapplicatie aan de hand van de gratis software ‘Hot Potatoes’. Hot Potatoes is ontworpen door het University of Victoria CALL Laboratory Research and Development team en biedt ons een interface aan om zes verschillende
soorten oefenmodules te ontwikkelen en te exporteren onder de vorm van een XMLbestand of een HTML-pagina. Extensible Markup Language (XML) is de standaard ontworpen door het World Wide Web Consortium waarmee men gestructureerde gegevens kan weergeven. Het is mijn taak om het XML-bestand van één van de modules, namelijk de ‘JMatch’, te transformeren naar een nieuw XML-bestand, dat achteraf door iumi kan ingelezen worden om, op basis van deze nieuwe XML, een eigen oefening te produceren met een eigen nieuwe vormgeving.
Rekeninghoudend met de gewenste programmeertaal en verdere adviezen van Playlane werd er een prototype ontwikkeld. Tenslotte werd dit prototype uitgetest, geëvalueerd en herzien waar er gebreken bleken. Als laatste wordt er afgesloten met een discussie waarin de resultaten in rekening gebracht worden samen met eventuele implicaties voor de verdere toepassing van de ‘Hot Potatoes’ component binnen iumi.
8
2. Context: Hot Potatoes en het iumi-platform In dit deel wordt het instructieprobleem vastgesteld, de context geanalyseerd en de ontwikkeling van de Hot Potatoes-applicatie georganiseerd.
In de inleiding bleek er een tekort aan specifieke software voor interactieve whiteboards. Deze nieuwe technologie begint aan zijn opmars in vele scholen, maar een interactief whiteboard vereist tevens flexibele, pedagogisch en didactisch krachtige applicaties om de functionaliteit ervan ten volle te benutten. Smart Technologies3, biedt reeds krachtige software aan, maar deze is duur en louter compatibel met hun eigen ‘smartboard’. ‘iumi’ (lees: you-me), ontwikkeld door Playlane4, is wel een onafhankelijk en gratis whiteboardplatform voor leerkrachten en daarom werken we samen met Playlane.
2.1 Beschrijving van het iumi-platform Voor we het iumi-platform beschrijven, schetsen we eerst kort het verhaal, de visie en de rol van het bedrijf Playlane hierin. Vier jaar geleden sloegen Jelle Van De Velde en Kris Carron de handen in elkaar. Hun combinatie van marketing met een vleugje onderwijservaring, en een stevige brok informaticakennis resulteerde in een nieuw bedrijf. Momenteel is Playlane uitgegroeid tot een dynamisch bedrijf dat boodschappen, kennis en waarde van mensen en organisaties op een passende digitale wijze omzet. Als partner staat Playlane op één lijn met zijn klanten. Zij mixen het verhaal van de klant met hun expertise in de ontwikkeling van digitale content. Hun projecten zijn voornamelijk educatief van aard. Onder deze hele reeks van ontwikkeling van digitale content (b.v. online games, animaties, applicaties, …) ontwikkelde Playlane het onafhankelijk whiteboardplatform ‘iumi’. Zij ontwikkelden dit platform op eigen initiatief omdat een dergelijk platform voor het Vlaamse onderwijs ontbrak. Momenteel wordt dit platform door vele leerkrachten gebruikt in klassen waar een interactief whiteboard aanwezig is. Iumi beschikt over verschillende applicaties (zie figuur 1): bordlessen
Hoewel dit platform voor leerkrachten gratis verkrijgbaar is, ontbrak er een functionaliteit om de leerlingen zelf interactief en actief met het whiteboard te laten werken, terwijl de kracht van een whiteboard zich net bevindt in deze interactiviteit tussen leerlingen en leerkrachten. Het integreren van ‘Hot Potatoes’ binnen iumi zou de nood aan specifieke collaboratieve, toets- en oefensoftware voor leerkrachten in het lager- en het secundair onderwijs deels kunnen opvangen.
Hieronder beschrijven we kort de technische werking van het iumi-platform. Het platform bestaat uit drie belangrijke onderdelen, namelijk flash, C# en een serverzijde in Java. C#5 (Engels uitgesproken als "C sharp") is een objectgeoriënteerde programmeertaal ontwikkeld door Microsoft als deel van het .Net framework. C# heeft een syntaxis, gebaseerd op die van C++, met elementen van diverse andere programmeertalen waaronder voornamelijk Delphi en Java. (1) Het flash gedeelte omvat het volledige visuele deel van het platform. Zo zijn de bordboeken en de bordlessen geschreven in flash. Flash is enorm krachtig op visueel vlak, en ook voor de lessen een zeer goede keuze naar animatie en interactie. Bovendien gebeuren hun ontwerpen in Illustrator, wat eenvoudig over te brengen is naar een flash applicatie. (2) De C# kant is minder zichtbaar voor de gebruiker, maar deze verwerkt alles wat met content te maken heeft. Een flash applicatie die niet voor Adobe AIR gemaakt is, heeft geen rechten tot de harde schijf van een gebruiker. Omdat AIR nog niet stabiel genoeg was en nog te beperkt was voor wat iumi nodig had, heeft Playlane dus zelf een achterliggende kant gemaakt in C#. Dit met behulp van een externe bibliotheek "F in Box"6. Deze bibliotheek maakt het mogelijk om een flash bestand in te laden en hiermee te communiceren. Op deze wijze kunnen zij vanuit flash tegen C# zeggen wat er moet gebeuren, waaronder: lokale bestanden openen, bestanden bewaren, de licenties en dergelijke beheren, bestanden downloaden, encrypteren en 5
http://nl.wikipedia.org/wiki/C♯
6
http://www.f-in-box.com/
10
decrypteren en nog vele andere zaken die niet alleen met Flash mogelijk zouden zijn. Daarnaast zorgt de C# kant ook voor alle communicatie met de server. (3) De server beheert alles van belangrijke gegevens met betrekking tot de gebruikers en de producten die zij aankopen en activeren. Door vanuit de C# kant services aan te roepen op de server, kan de applicatie weten welke gebruiker zich aangemeld heeft, en tot welke producten deze gebruiker toegang moet krijgen. Gebruikers kunnen bijvoorbeeld een product activeren op basis van een code. Op deze code kan echter een beperkte geldigheid zitten of limieten zoals dat de code maar door één specifieke gebruiker gebruikt kan worden op 5 verschillende computers. Door gegevens door te sturen naar de activatie service, kan de server laten weten of dit al dan niet nog een geldige code is en of deze gebruiker dit product mag downloaden of niet.
11
2.2 Beschrijving van Hot Potatoes Hot Potatoes7, ontworpen door het University of Victoria CALL Laboratory Research and Development team, is een eenvoudig en gratis softwarepakket. In deze masterproef ondersteunen we enkel de laatste versie. Voor het Mac Os X besturingssysteem is dit versie 6.1, voor het Windows en Linux besturingssysteem is dit versie 6.3. Deze laatste versie kan je aan de hand van volgende link voor zowel Windows, Linux en Mac gratis downloaden: http://hotpot.uvic.ca/#downloads. Dit softwarepakket is reeds enkele jaren populair bij leerkrachten om oefeningen te creëren. Er zijn vijf verschillende typen oefeningen: de JQuiz - een quiz met korte antwoorden en meerkeuzevragen; de JMatch - een combineeroefening; de JMix - een sorteeroefening; de JCloze - een invuloefening; en de JCross - een kruiswoordraadsel. Deze oefeningen kunnen achteraf als HTML-pagina geëxporteerd worden om online of offline als webpagina op een computer of een interactief whiteboard op te lossen, maar de lay-out van deze geëxporteerde HTML-pagina’s is achterhaald. Hot Potatoes beschikt wel over de mogelijkheid om de oefeningen op te slaan als een door Hot Potatoes eigen ontwikkeld formaat naargelang het soort oefentype (zie tabel 1).
Tabel 1: Overzicht bestandsextensies van oefeningentypes
Oefentype
Bestandsextensie
JQuiz
*.jqz
JMatch
*.jmt
JMix
*.jmx
JCloze
*.jcl
JCross
*.jcw
Deze Hot Potatoes bestanden zijn inhoudelijk XML-bestanden. Om XML-bestanden van Hot Potatoes oefeningen te bekomen zullen leerkrachten hun oefeningen moeten opslaan. Dit is mogelijk door ‘File’ in het menu te selecteren en te kiezen voor ‘save as’ of ‘save’. Op deze wijze creëert Hot Potatoes van deze oefening een XML-bestand met eigen extensie (.jqz, 7
http://hotpot.uvic.ca/#downloads
12
.jmt, .jmx, .jcl, .jcw). De ‘export’-functie zal je als leerkracht niet moeten gebruiken om een gecreëerde oefening in iumi te openen, omdat geëxporteerde HTML-pagina’s niet aanvaard kunnen worden door het iumi-platform. In het iumi-platform zal een extra component specifiek voor Hot Potatoes aanwezig zijn om het correcte bestand te selecteren. Aan de hand van deze bestanden kan een leerkracht via een browser een eigen gecreëerde oefening selecteren. Het is mijn opdracht om dit geselecteerde bestand te transformeren naar een nieuw XML-bestand ondersteund door iumi. Iumi decodeert vervolgens dit nieuwe XML-bestand naar een aantrekkelijke oefening die de leerkracht met de leerlingen klassikaal of in groep kan oplossen. Tevens werden er een aantal prioriteiten gesteld. In overleg met Playlane werd gekozen om louter de transformatie van de XML-bestanden van het JMatch oefentype te ontwikkelen voor deze masterproef. Achteraf is er nog de mogelijkheid om de JQuiz en de JMix toe te voegen. De JCross zal Playlane in iumi later niet ondersteunen.
We beschrijven eerst de (A) JMatch, vervolgens de (B) JQuiz en daarna de (C) JMix.
A) JMatch: combineeroefening Met de JMatch kunnen leerkrachten een combineeroefening aanmaken. In de linkerkolom staan b.v. een aantal afbeeldingen of termen en de bijhorende reeks antwoorden staat rechts in de verkeerde volgorde. Beide reeksen moeten bij elkaar geplaatst worden door te slepen of door te selecteren. Indien je ‘vast’ (‘fixed’ in de Engelstalige versie) selecteert wordt dit antwoord niet in de verkeerde volgorde geplaatst. Deze vraag krijgen leerlingen als cadeau of ter illustratie van andere vragen. Dit oefentype kan gebruikt worden voor woordenschatoefeningen, vertalingen of voor het ordenen van zinnen als onderdeel van een conversatie.
In JMatch heeft men als leerkracht de keuze tussen twee wijzen van exporteren: (1) een standaard oefening (Standaard V6 pagina) of (2) een sleep oefening. In een standaard oefening moet je het correcte antwoord selecteren, terwijl je bij de sleep oefening het juiste antwoord kan verslepen. We kiezen ervoor om louter de ‘sleep’ functie mee te nemen in iumi. Deze is visueel krachtiger. Het verslepen van de juiste antwoorden naar de vragen aan de linkerkant is niet louter leuk voor leerlingen maar is bovendien pedagogisch en visueel krachtiger op een interactief whiteboard.
13
B) JQuiz De JQuiz biedt nogmaals de keuze tussen vier soort oefeningen: 1. Meerkeuze (Mutiple Choice voor de Engelstalige versie). 2. Kort Antwoord (Text voor de Engelstalige versie). 3. Gemengde vorm (Hybrid voor de Engelstalige versie). 4. Meer antwoordvragen (Multiple Correct voor de Engelstalige versie).
Alle vier JQuiz oefeningen zullen ondersteund worden door iumi. Hieronder volgt een korte beschrijving van de vier soorten. Voor het gemak kiezen we ervoor om louter gebruik te maken van de Nederlandse benamingen van Hot Potatoes.
JQuiz – Meerkeuze Elke vraag kan een onbeperkt aantal correcte antwoorden hebben en de leerlingen kunnen eveneens onbeperkt gokken. Van zodra één correct antwoord geselecteerd wordt, is de oefening voltooid. Indien een antwoord correct is verschijnt er een smiley, indien fout verschijnt er een X. De standaard feedback kan gewijzigd worden in het configuratiescherm, maar zal niet ondersteund worden. Later komen we hier nog op terug wanneer we de functies in het configuratiescherm overlopen. Er kan specifieke feedback gegeven worden aan de leerling voor elk antwoord. Zoals later nog vermeld zal worden maken we louter gebruik van eigen geprogrammeerde feedback.
JQuiz – Kort Antwoord Hiermee maken we een quiz waarbij de leerling een woord of zin moet intikken als antwoord op een vraag. De woorden of zinnen worden vergeleken met het door de leerkracht opgegeven antwoord. Je mag hier ook zoveel juiste antwoorden opgeven als je wil. De feedback toont aan de leerling welk delen van het antwoord juist zijn. Dus de ingegeven letters worden vergeleken met het opgegeven antwoord. Dit betekent dat de karakters of een substring in het vet verschijnt indien deze overeenkomt met de string van het antwoord. De leerling kan de volgende juiste letter van het antwoord vragen door op de ‘hint’ knop te drukken. Er worden geen spellingsfouten toegelaten want het antwoord is pas correct indien er een exacte match voorkomt tussen beide strings. Ook hier zullen alle bovenstaande functies ondersteund worden in iumi. Bij het ingeven van een antwoord voorziet iumi een digitaal toetsenbord waarop de leerlingen het antwoord kunnen uittypen.
14
JQuiz – Gemengde vorm Dit oefentype is vergelijkbaar met de ‘JQuiz – Kort antwoord’. Het verschil is dat bij ‘JQuiz – Gemengde vorm’ na twee pogingen om het juiste antwoord in te vullen, alle antwoordmogelijkheden verschijnen. De oefening wordt dan omgevormd tot een ‘JQuiz – Meerkeuze’ type. Standaard staat het aantal antwoordpogingen op twee, maar dit kan gewijzigd worden. Ook deze functie zal ondersteund worden in iumi.
JQuiz – Meer antwoord vragen Dit is vergelijkbaar met de ‘JQuiz – Meerkeuze’. Ook hier zijn er meerdere antwoordmogelijkheden,
maar
de
leerlingen
zijn
verplicht
om
alle
antwoordmogelijkheden te selecteren voor de oefening voltooid is.
C) JMix: sorteeroefening Met JMix kan je een sorteeroefening aanmaken. Je kan net zoveel juiste antwoorden aanmaken als je wil. Dit is een handige oefening bijvoorbeeld bij het sorteren van klein naar groot, alfabetisch sorteren, zinnen samenstellen of indien je als leerkracht wilt werken met woordgroepen. Ook hier zullen alle functies in iumi ondersteund worden onder de sleep vorm.
15
2.3 Functies ondersteund door het iumi-platform In het deel dat volgt is het belangrijk om het product af te bakenen. Wat nemen we mee van de functionaliteit van Hot Potatoes en wat niet? En welke eigen componenten voegen we toe in iumi, zoals een mooiere lay-out? Dus technisch wordt deze vraag: welke XMLelementen in het XML-bestand van Hot Potatoes transformeren we zodat deze door iumi ondersteund kunnen worden? Hier is het van belang om te gaan kijken welke functies in Hot Potatoes een meerwaarde kunnen geven op pedagogisch en didactisch vlak, rekening houdend met de extra tijd in het programmeren om deze functies te ondersteunen.
Hieronder bespreken we de functies welke wel en niet ondersteund zullen worden. Elk oefentype heeft een eigen startvenster waar de titel, vragen en antwoorden met een aantal opties kunnen ingevuld worden. Deze velden met opties zullen in iumi altijd ondersteund worden omdat zij de basisfunctionaliteit van de oefening vertegenwoordigen. In elk veld van het basisvenster kunnen leerkrachten de volgende zaken invoegen (tabel 2):
Tabel 2: Overzicht ondersteunde functie door iumi
Afbeeldingen van weblocaties
Afbeeldingen van weblocaties
Afbeeldingen van lokale bestanden
Afbeeldingen van lokale bestanden
Koppelingen naar weblocaties
Koppelingen naar weblocaties
Koppelingen naar lokale bestanden
Koppelingen naar lokale bestanden
HTML-tabellen Mediaobjecten (video – en geluidsbestanden)
Mediaobjecten (video – en geluidsbestanden)
Het invoegen van afbeeldingen van weblocaties of lokale bestanden, koppelingen naar weblocaties of lokale bestanden en mediabestanden zal in iumi meegenomen worden en met een eigen lay-out geïntegreerd worden. Naar goede oude gewoonte voegen leerkrachten ook eigen HTML-tags in om b.v. tekst in het vet te plaatsen. In samenspraak met Playlane is ervoor gekozen om alle HTML-tags te negeren, buiten de ‘break’ tag: .
16
Verder is het mogelijk om eigen voorkeuren of specifieke opties aan of uit te schakelen aan de hand van het configuratiescherm. Het configuratiescherm maakt het mogelijk om bepaalde voorkeuren naar persoonlijke voorkeur aan te passen, zoals het aanpassen van de achtergrondkleur, ondertitels, instructies, standaardfeedback, …
Dit configuratiescherm bestaat uit acht verschillende tabbladen, waarvan louter het tabblad ‘Titel/Instructions’, ‘Tijdregistratie’ en ‘Overig’ ondersteund zullen worden (tabel 3):
Tabel 3: Overzicht ondersteunde tabbladen door iumi
‘Reactie/Feedback’, ‘Knoppen’, ‘Uiterlijk’, ‘Eigen codes’ en ‘CGI’ zullen we voor alle oefentypes niet meenemen in iumi. Het iumi-platform zal over een eigen layout beschikken en ook eigen standaardknoppen voorzien. Daarom zullen vele functies niet ondersteund worden in het iumi-platform. Ook het geven van de standaardfeedback in Hot Potatoes wordt niet ondersteund. Op deze wijze moedigen we de leerkrachten aan om bij een vraag een specifieke feedback te voorzien. Specifieke feedback kan een leerkracht in het startvenster van de JQuiz invullen per antwoord. Als leerling is het krijgen van standaardfeedback onder de vorm van louter ‘FOUT’ of ‘JUIST’ onvoldoende krachtig. Goede feedback houdt rekening met de context. Beter is de volgende feedback bij het kiezen van een afbeelding van b.v. een ‘chimpansee’ met als vraag: “Welke van deze afbeeldingen is een gorilla?” en met als feedback: “Fout, op deze afbeelding staat een chimpansee. Een gorilla is sterker en donkerder van kleur dan een chimpansee”. Deze feedback is pedagogisch krachtiger, houdt rekening met de context en probeert de leerling aan de hand
17
van bijvoorbeeld tips op het juiste pad te brengen. Hieronder bespreken we kort de functies uit de drie tabbladen die we in iumi ondersteunen.
1. Titels/Instructies In het tabblad ‘Titel/Instructies’ is het mogelijk om een eigen ondertitel en eigen instructies te specificeren. Beide velden worden meegenomen in iumi omdat ze van belang kunnen zijn om de opgave van een oefening duidelijk te maken aan de leerling.
2. Tijdregistratie De ‘Tijdregistratie’ is een krachtige component die we ook in het iumi-platform zullen integreren. Dit biedt voor de leerkracht de mogelijkheid om een tijdslimiet per vraag op te leggen. Op deze manier kunnen er b.v. onder de vorm van een wedstrijd vragen opgelost worden tussen leerlingen of groepen leerlingen.
3. Overig In het tabblad ‘Overig’ ondersteunen we de volgende functies:
-
‘Toon een beperkt aantal vragen als de pagina geladen wordt’
Deze functie is belangrijk voor leerkrachten wanneer enorm veel oefeningen aangemaakt werden, maar door beperkte tijd een limiet op dit aantal vereist is. Op deze wijze kan de leerkracht meerdere *.jqz-files opslaan met een verschillende hoeveelheid vragen: 5, 10, 20, 30, … en de geschikte bestanden tijdens de les selecteren naargelang de tijd die nog beschikbaar is.
- ‘Volgorde van de vragen iedere keer veranderen’ De leerkracht heeft indien gewenst de mogelijkheid om de oefening te herhalen. Om te voorkomen dat leerlingen de structuur en de volgorde van de vraag met het antwoord kunnen reproduceren is het aan te raden om de vragen te wijzigen van volgorde.
- ‘Volgorde van de antwoorden veranderen als de pagina geladen wordt.’ Hier geldt dezelfde reden als hierboven, maar nu voor de volgorde van de antwoorden. Om te vermijden dat leerlingen de structuur en de volgorde van de antwoorden kunnen reproduceren als een vraag verschijnt, is het aan te raden de volgorde van de antwoorden te wijzigen.
18
- ‘Toon het aantal vragen dat de eerste keer al goed werd beantwoord.’ Deze functie is standaard aangevinkt. Een score is niet louter een vorm van feedback maar geeft de leerlingen ook een indicatie van hun prestaties. Bovendien biedt het bij specifieke oefeningen, waar meerdere antwoordmogelijkheden, zijn de leerling een indicatie hoeveel antwoorden correct waren. Het motiveert tevens leerlingen om een hogere score te halen wanneer een wedstrijd tussen groepen leerlingen gehouden wordt.
- ’Controleer op HOOFD/kleine letters.’ Deze functie bepaalt of antwoorden hoofdlettergevoelig zijn is van belang in oefeningen waar de leerkracht wil dat leerlingen rekening houden met spelling.
- ‘Aantal pogingen toegestaan voordat gemengde oefeningen overschakelen naar meerkeuze.’ (standaard op waarde ‘2’) Deze waarde staat standaard op ‘2’. Zoals boven reeds vermeld, toont de JQuiz – Gemengde vorm na twee antwoordpogingen, alle antwoordmogelijkheden. De oefening wordt dan van het meerkeuze type. Als leerkracht kan je de leerlingen meerdere pogingen geven door de standaard waarde van 2 te verhogen. We ondersteunen deze functie omdat de leerkracht op deze wijze de moeilijkheidsgraad van de oefening kan aanpassen naar wens.
- ‘Toon andere juiste antwoorden’ Deze functie staat standaard aangevinkt. Indien de vraag voltooid is en indien nog andere antwoorden correct waren die niet geselecteerd werden, verschijnen deze ook achteraf naast de score. Dit is van toepassing bij de ‘JQuiz – Meer antwoord vragen’.
19
2.4 Beschrijving van de JMatch XML-bestanden De Hot Potatoes XML-bestanden bestaan steeds uit vijf belangrijke XML-elementen:
- Het soort oefentype: … - De gebruikte Hot Potatoes versie: 6
- Data met de titel, timer en de inhoud van de vragen: 1 <seconds>420 - Instellingen specifiek voor het oefentype: <jmatch> … Voor een voorbeeld van de volledige inhoud en structuur van een JMatch XML-bestand verwijzen we naar de bijgevoegde cd-rom of de bijlage 1. De waarden van deze XMLelementen kunnen onder de vorm van integers zijn of strings. Indien een leerkracht de kans krijgt om tekst in een tekstvak in te typen kan deze tekst ook HTML-tags bevatten. Hieronder beschrijven we de vorm waaronder deze HTML-tags kunnen verschijnen. Vooreerst is het van belang om te vermelden dat in het Hot Potatoes XML-bestand bijvoorbeeld de volgende HTML-tekens omgevormd worden tot de onderstaande waarden om de compatibiliteit met de XML-structuur te garanderen:
<
C;
>
E;
“
"
‘
'
20
Tijdens het programmeren moest hier rekening mee gehouden worden. “&” wordt ook aanzien als één karakter en geen string van lengte 5. Onderaan tonen we een voorbeeld van een mogelijke waarde dat een XML-element kan bevatten met als laatste de originele HTML vorm.
Weergave in het JMatch XML-bestand: “gewone tekstBeren” Originele weergave in een JMatch Hot Potatoes tekstvak: “gewone tekstBeren” In bijlage 2 kan je de opgegeven iumi XML-structuur terugvinden. Deze vorm weerspiegelt de structuur van hoe het uiteindelijke XML-bestand er moet uitzien achter transformatie.
21
2.5 Organisatie van de ontwikkeling van Hot Potatoes-applicatie in het iumiplatform
In wat volgt, beschrijven we de taken en de verantwoordelijkheden van alle betrokken partijen en een overzicht van mijn taak in de uitbreiding van het iumi-platform met Hot Potatoes (zie figuur 2). De volgende actoren waren betrokken bij deze masterproef (tabel 4):
Tabel 4: Overzicht actoren Actoren Playlane
Actoren Universiteit Gent
-
Jelle Van De Velde (Bedrijfsleider)
-
Prof. Dr. Wilfried Philips (Promotor)
-
Kris Carron (Bedrijfsleider)
-
Dr. Ir. Hiep Luong (Begeleider)
-
Andy Verdoodt (Software-
-
Tom Stuyck (Student)
ontwikkelaar) -
Filip Deroo (Softwareontwikkelaar)
-
Gregory Cooremans (Stagiaire)
De actoren van Playlane en Universiteit Gent hebben de volgende taken (tabel 5):
Tabel 5: Overzicht verantwoordelijkheden actoren Taken Playlane -
Jelle Van De Velde: Jelle is samen met Kris de bedrijfsleider van Playlane en treedt op als officiële medebegeleider.
-
Kris Carron: Verantwoordelijk voor de technische begeleiding van deze masterproef.
-
Andy Verdoodt en Filip Deroo: Verantwoordelijk voor de ontwikkeling van het iumiplatform.
-
Gregory Cooremans: Gregory is stagaire bij Playlane en is verantwoordelijk voor het ontwikkelen van het Flash gedeelte van het JMatch oefentype in iumi.
Taken Universiteit Gent -
Prof. Dr. Wilfried Philips: Treedt op als promotor van deze masterproef.
-
Dr. Ir. Hiep Luong: Treedt op als begeleider en staat in voor de algemene begeleiding van deze masterproef.
-
Tom Stuyck: Is naast het uitschrijven van de masterproef verantwoordelijk voor het valideren van de Hot Potatoes bestanden en het converteren van deze bestanden naar het iumi XML-formaat. Dit zal allebei gebeuren aan de hand van C# en XSLT.
22
Figuur 2: Overzicht Hot Potatoes-applicatie in iumi
+
Stap 1 Leerkracht creëert met Hot Potatoes (versie 6) een JMatch oefening
(opslaan als)
Een Hot Potatoes XML-bestand: “een_oefening.jmt”
Stap 2 Leerkracht opent de Hot Potatoes component binnen het iumi-platform Stap 3 Leerkracht selecteert de JMatch oefening: “een_oefening.jmt”
Validatie en Transformatie
(Validatie en transformatie)
JMatch Hot Potatoes XMLbestand (“een_oefening.jmt”) Validatie met C#: - XML-bestand? - HotPot bestand? - HotPot versie 6? - Lokale gekoppelde bestanden op schijf? Indien validatie OK! Creëer nieuwe map ‘Hot Potatoes_iumi’ + kopieer gekoppelde bestanden in submappen (‘images’, ‘videos’, ‘sounds’) Transformatie met XSLT Schrijf de nieuwe compatibele iumi XML (“matchGame.xml”) in de nieuwe map ‘Hot Potatoes_iumi’.
“matchGame.xml” + gekoppelde bestanden
(Conversie “matchGame.xml” met Flash)
De JMatch oefening verschijnt op het computerscherm van de leerkracht en het interactieve whiteboard. Stap 4 Leerkracht kan de JMatch oefening klassikaal op het whiteboard maken
23
3. Ontwikkeling van de validatie en transformatie van het Hot Potatoes JMatch XML-bestand naar het iumi XML-formaat. In dit deel wordt mijn taak in het ontwikkelingsproces van de Hot Potatoes-applicatie gedetailleerd in chronologische volgorde beschreven. Daarnaast zullen belangrijke beslissingen worden beargumenteerd. We starten bij de aanpak van de Hot Potatoesapplicatie.
3.1 Beschrijving van de opdracht en aanpak Aangezien het iumi-platform communiceert met de content aan de hand van de programmeertaal C# was het logischerwijs aangewezen om ook C# te gebruiken om de Hot Potatoes XML-bestanden te valideren en te transformeren. Ook werkt iumi op basis van eigen ontwikkelde XML-bestanden en wordt het visuele gedeelte in Flash geschreven. De technische opdracht van deze masterproef bestaat uit twee onderdelen:
(1) Het valideren van de Hot Potatoes XML-bestanden (.jqz, .jmt, .jmx, jcl). (2) Het transformeren van een Hot Potatoes JMatch XML-bestand (.jmt) naar het iumi XML-formaat.
(1) Het valideren van de Hot Potatoes XML-bestanden is van belang om in de eerste fase van validatie primair te controleren of het inhoudelijk wel om een XML-bestand gaat, ten tweede wordt nagegaan of het wel om een XML-bestand van Hot Potatoes gaat en finaal controleren we of het betreffende bestand met versie 6 van Hot Potatoes werd gemaakt. Indien voldaan is aan deze 3 condities zijn we 99% zeker dat het correcte bestand geselecteerd werd en in de XML alle benodigdheden voorhanden zijn om de transformatie naar het iumi XML-formaat te laten slagen. De kans dat een leerkracht handmatig wijzigingen in het XML-bestand zal aanbrengen, zonder dat deze weet waar hij/zij mee bezig is, is enorm klein. Ook indien een leerkracht b.v. met een oudere versie van Hot Potatoes werkt zal het Hot Potatoes XML-bestand een andere structuur of elementen bezitten, met als gevolg dat de validatie in C# in een foutmelding resulteert. Er wordt dan weergegeven dat het om een verouderde versie gaat of dat de inhoud van de XML niet herkend wordt.
24
In de tweede fase van validatie controleren we of alle lokale afbeeldingen, koppelingen en mediabestanden zich nog op de lokale harde schijf van de leerkracht bevinden. Indien deze nog aanwezig zijn worden zij gekopieerd in een nieuwe map samen met het getransformeerde XML-bestand (zie figuur 3).
Figuur 3: Overzicht bestandsstructuur na transformatie
Folder
HotPotatoes_iumi
Subfolders
Images
Ondersteunde formaten *.jpg *.png *.gif
matchGame.xml *.mp3
Sounds
*.mp4
Videos
*.flv
Veel leerkrachten maken een Hot Potatoes oefening met gekoppelde bestanden aan voor hun leerlingen, maar verplaatsen achteraf deze bestanden zonder te beseffen dat het pad in de Hot Potatoes XML-bestanden niet mee wijzigt. Met als gevolg dat zij verwonderd zijn van het feit dat hun afbeelding of geluidsbestand niet verschijnt in de oefening. Om dit probleem op te vangen krijgen leerkrachten, indien bepaalde bestanden niet worden teruggevonden, in iumi een foutmelding. Men heeft als leerkracht dan nog de keuze om de oefening al dan niet te openen zonder de gekoppelde bestanden. Naast het controleren van de aanwezigheid op de lokale harde schijf en het kopiëren ervan in de voorziene folders, wordt ook de extensie gecontroleerd van deze bestanden. Dit is noodzakelijk omdat iumi alleen bestanden van het type *.jpg, *.png, *.gif, *.mp3; *.mp4 en *.flv ondersteunt. Ook hier moeten leerkrachten de keuze krijgen om het Hot Potatoes bestand al dan niet in te laden. Iumi
25
zal achteraf deze tijdelijke folder met het iumi XML-bestand (“matchGame.xml”) en de gekoppelde bestanden ingelezen. Deze folder zou dan bij het afsluiten van iumi terug verwijderd worden omdat er geen behoefte is om dit te behouden.
(2) Na het valideren van het Hot Potatoes XML-bestand transformeert het ontwikkelde algoritme het bestand naar het iumi XML-formaat. Voor het transformeren werd door Playlane XSLT aangeraden. XSLT of ‘Extensible Stylesheet Language Transformations’ is een standaardtechnologie voor het omzetten van een XML-bestand naar hetzelfde formaat met gewijzigde structuur en inhoud of
figuur 4: XSLT-processor
8
een ander formaat. XML, HTML, PDF behoren onder andere tot deze formaten. Het XMLbestand wordt samen met een XSL-bestand getransformeerd dankzij een XSLT-processor, die de nodige output genereert met als resultaat een nieuw bestand in het desgewenst formaat (zie figuur 4). Op basis van deze techniek kan je de structuur en de inhoud van elementen in het oorspronkelijke XML-bestand wijzigen naar eigen voorkeuren.
Aangezien wij
maar
bepaalde
waarden van de XML-elementen van de Hot Potatoes bestanden gebruiken en iumi een eigen structuur met eigen noden oplegt, is dit een geschikte methode en techniek om onze Hot Potatoes XML-bestanden te transformeren. De opdracht voor Playlane bestond erin om op basis van XSLT: (i) alle HTML-tags te negeren (uitgezonderd de ‘break’ tag ), en (ii) basistekst, afbeeldingen, koppelingen en/of mediabestanden eruit te filteren om deze nadien in een bepaald vooropgesteld formaat te gieten. Bovendien wordt een combinatie van deze compatibele velden ook door iumi ondersteund. Hieronder wordt een opsomming van de compatibele data weergegeven: