Rapport groep 2015 MIX 1

From Edutech
Jump to: navigation, search

Het anatomisch en wiskundig skeletbord

Groepsleden

  • Liesbeth Bieghs (SLO Biomedische, gezondheids- en revalidatiewetenschappen)
  • Anouk Geypen (SLO Wetenschappen en ingenieurswetenschappen)
  • Chloë Goethals (SLO Biomedische, gezondheids- en revalidatiewetenschappen)
  • Bo Hellinckx (SLO Biomedische, gezondheids- en revalidatiewetenschappen)
  • Jannes Janssens (SLO Wetenschappen en ingenieurswetenschappen)
  • Ilse Spruyt (SLO Wetenschappen en ingenieurswetenschappen)
  • Stijn Vanhecke (SLO Agogische wetenschappen)

Samenvatting

Met een zelfontwikkelde webapplicatie willen we de leerlingen uit de pool wetenschappen in ASO-richtingen (eind 2de graad) spelenderwijs de leerstof laten toepassen. Het is een vakoverschrijdende applicatie waarbij de leerstof biologie (anatomie) en de leerstof wiskunde (eerste- en tweedegraadsfuncties, tweedegraadsvergelijking en goniometrie) afwisselend bevraagd worden. Aan de hand van een online ganzenbord, in deze versie met een skelet, dient de leerling het spel te voltooien.

Bordspel

Doel

Aan de hand van een online bordspel willen we de leerlingen de leerstof laten toepassen. Het leerproces zal op een positieve manier beïnvloed worden. Veen en Vrakking (2003) zagen een aantal voordelen van ‘serious games’ die ook op ons bordspel van toepassing zijn:

  • De leerlingen zullen langer geconcentreerd kunnen werken. Ze moeten actief bezig zijn om verder te komen;
  • De motivatie van de leerling zal stijgen. Hierbij is de ‘fun’ factor belangrijk. Als leerlingen gemotiveerd raken, spelen ze de game vaker en leren ze meer;
  • Door middel van hints krijgt de leerling op het juiste moment feedback om verder te kunnen;
  • Doordat iedere leerling op eigen tempo het spel kan afronden, zal het leren meer gedifferentieerd worden;
  • Waar de leraar het opgeeft, heeft de computer geduld tot de leerling het juist heeft;
  • De leerlingen kunnen samen spelen achter één computer, wat de interactie onderling versterkt.

Spelregels

Wanneer een leerling het spel start krijgt men een wiskundige vraag voorgeschoteld. Bij een fout antwoord, dient de leerling een nieuwe vraag op te lossen. Bij een juist antwoord, gaat de pion automatisch een aantal stapjes vooruit, gelijk aan het gegeven antwoord. Vervolgens volgt er een wetenschappelijke vraag. Deze vraag houdt verband met de plaats waar de pion in het skelet staat. Wanneer de pion bijvoorbeeld in de buurt van het hoofd staat zal de vraag over het hoofd gaan. Als de vraag fout is, wordt een nieuwe vraag gesteld. Bij een goed antwoord, beantwoordt de leerling opnieuw een wiskundige vraag. Deze vraag zal opnieuw bepalen hoeveel vakjes de speler vooruit gaat. Op die manier kan verder gespeeld worden totdat de leerling het hele spelbord doorlopen heeft.

Gebruikte technologieën

Bij het ontwikkelen van de webapplicatie, deden we beroep op twee soorten technologieën. De eerste is een tekenprogramma voor Computer Aided Design. Dit wordt gebruikt om de illustraties in onze toepassing te maken. De tweede soort technologie is een programmeertaal om de logica van de toepassing te ontwikkelen. We kiezen voor de visuele programmeertaal Scratch.

QCAD

Vanuit de vooropleidingen kenden we reeds AutoCAD. AutoCAD is een software toepassing voor 2D en 3D computer-aided design and drafting (CAD), ontwikkeld en op de markt gebracht door Autodesk, Inc. Deze software is echter geen Open Source Software. Daarnaast moeten er hoge prijzen betaald worden voor het gebruik ervan, al zijn er wel voordelige versies beschikbaar voor studenten en docenten. Om die reden hebben we voor deze groepsopdracht een gelijkaardig alternatief gezocht: QCAD.

QCAD is een gratis te downloaden, open source toepassing voor 2D computer-aided drafting. Deze software is beschikbaar voor Windows, Mac OS X en Linux. De broncode van QCAD is vrijgegeven onder de GNU General Public License versie 3 (GPLv3), een vaak gebruikte vrije source licentie. GNU project is een massasamenwerkingsproject rond vrije software, aangekondigd door Richard Stallman in 1983. QCAD wordt voornamelijk gebruikt om technische tekeningen op te maken zoals plannen, gebouwen, mechanische onderdelen, diagrammen, etc. Voor ons groepsproject hebben wij deze software gebruikt om een skelet te tekenen, en er vervolgens een soort van ganzenbordspel op aan te brengen (zie figuur 1).

Scratch

Voor ons groepsproject hebben we gebruik gemaakt van de gebruiksvriendelijke, programmeertaal ‘Scratch’. Scratch is een visuele programmeertaal volgens het object-georiënteerde programmeerparadigma. Met Scratch kan men op een relatief eenvoudige manier diverse, al dan niet educatieve, online tools ontwikkelen zoals interactieve spellen en animaties. Via het combineren van instructies laat deze programmeertaal toe een code te schrijven. Deze creaties kunnen vervolgens gedeeld worden met anderen, bijvoorbeeld via een online gemeenschap. Scratch werd ontwikkeld door de Lifelong Kindergarten Group van het MIT (Massachusetts Institute of Technology), een technische universiteit te Cambridge.

Er zijn twee verschillende versies van Scratch op de markt: Scratch 1.4 en Scratch 2.0. In ons project hebben we gebruik gemaakt van de huidige versie van Scratch, i.e. Scratch 2.0. De vorige versie, Scratch 1.4 werd vrijgegeven in 2009, en werd opgevolgd door de nieuwere versie Scratch 2.0 in 2013. Scratch 1.4 kan nog steeds gedownload en gebruikt worden. Projecten opgemaakt met de versie 1.4 worden opgeslagen onder de extensie .sb, terwijl projecten die opgemaakt worden met de versie Scratch 2.0 de extensie .sb2 toegewezen krijgen. De reden hiervoor kan gevonden worden in de nieuwe programmeertaal van Scratch 2.0 ten opzichte van de 1.4-versie (Scratch 2.0 is volledig herschreven in Adobe Flash, een computerprogramma waarmee bijvoorbeeld webapplicaties zoals de onze kan gemaakt worden) en de nieuwe mogelijkheden die de nieuwere versie biedt. Projecten die in de Scratch 1.4-versie gemaakt zijn, kunnen geopend worden in de nieuwere versie Scratch 2.0; het omgekeerde is echter niet mogelijk. De backwards compability of achterwaartse comptabiliteit is dus meegenomen om de toegankelijkheid te waarborgen, ook in de toekomst.

Scratch 2.0 kent enkele nieuwigheden ten opzichte van de oudere versie 1.4. Naast het nieuwe design, zijn er ook enkele nieuwe toepassingen beschikbaar. Zo is er bijvoorbeeld de mogelijkheid om gebruik te maken van een geluidseditor en videodetectie, kunnen ‘lijsten’ zichtbaar of onzichtbaar gemaakt worden, etc.

Meerwaarde

Het ontwikkelde skeletbord is een nieuwe educatieve webapplicatie die de leerstof leuker, creatiever en interessanter kan maken. Op een interactieve manier willen we de leerlingen enthousiasmeren en motiveren. Daarnaast heeft Scratch door de visuele manier van werken een lage instapdrempel. Niet alleen kunnen er snel applicaties mee ontwikkeld worden, tegelijk leert de ontwikkelaar de concepten die bij het programmeren horen, kennen. Tot slot gaat het om een opensource applicatie, waardoor onze creatie door anderen voortdurend verfijnd en verbeterd kan worden.

Technische vereiste

Het gebruik van de webapplicatie heeft het voordeel dat het gemakkelijk te implementeren en te integreren is. Het werkt in de browser en heeft geen permanente schijfruimte nodig. Er is bijgevolg geen installatie nodig. Ook updates worden op de centrale server uitgevoerd. Doordat enkel een webbrowser en Adobe Flash Player noodzakelijk is, werkt de webapplicatie op elk apparaat met een internetverbinding (Windows, Mac, Linux, …).

Licentie

Oorspronkelijk wilden we ons groepsproject maken in TouchDevelop. TouchDevelop wordt ontwikkeld door Microsoft en bestaat uit twee delen: een deel voor de gebruiker (de TouchDevelopEditor) en een serverdeel. Hoewel de broncode van het gebruiker gedeelte volledig open is, is dit niet het geval voor het servergedeelte. De programma’s die geschreven worden met de TouchDevelopEditor, worden opgeslagen op een webserver van Microsoft. Deze server draait in het cloudplatform van Microsoft, het Microsoft Azure Platform, met als besturingssysteem Microsoft Azure. Hoewel er verschillende API’s beschikbaar zijn en de ontwikkeltools Open Source zijn, is de broncode van de server dat niet.

API’s, application programming interfaces, vormen afspraken om verschillende software of technologieën toch in staat te stellen om met elkaar te communiceren. Op die manier kan een toepassing toch de functies of data van een andere toepassing gebruiken, ook al zijn de twee toepassingen op een heel andere manier geprogrammeerd. Het is niet nodig om de programmacode van een toepassing te kennen om er toch mee te communiceren. Op die manier is het dus mogelijk om met het Microsoft Azure besturingssysteem te communiceren en te werken zonder dat de achterliggende broncode beschikbaar is. Hoewel de applicaties die ontwikkeld kunnen worden met TouchDevelop open source kunnen zijn en ook de ontwikkelsoftware dat is, blijft de serversoftware dus gesloten. Daarnaast is het niet mogelijk om de ontwikkelde applicaties te exporteren naar een server in eigen beheer of om deze in eigen beheer uit te geven: dit moet via de TouchDevelopserver gebeuren. Om deze redenen hebben we besloten dat TouchDevelop niet open en vrij genoeg is, en zijn we op zoek gegaan naar alternatieven.

Dit alternatief vonden we in Scratch. De broncode voor Scratch 2.0 is beschikbaar op de Githubwebsite, i.e. https://github.com/LLK/scratch-flash en is geschreven in ActionScript, een programmeertaal van Adobe Flash en Adobe Flex. ActionScript zelf is opensource: de specificaties worden natuurlijk gratis aangeboden maar ook een compiler en een virtuele machine zijn als opensource pakketten beschikbaar. Deze compiler zet de broncode, die voor mensen leesbaar is, om naar machinetaal die uit te voeren is door computers. Met een virtuele machine kan een omgeving nagebootst worden die geschikt is voor ActionScript.

De Scratch broncode is beschikbaar onder twee verschillende licenties, gekenmerkt door verschillende doeleinden. De eerste licentie (beschikbaar sinds het ontstaan van Scratch, i.e. 2009) is de Scratch Source Code License (Scratch Broncode Licentie). Wanneer men wijzigingen wilt maken in de broncode zelf (bv. om nieuwe functies aan te maken), moet men beroep doen op deze licentie. Deze licentie bevat geen handelsmerken van Scratch (i.e. logo, naam, etc.) en is er geen upload-mogelijkheid naar de website van Scratch, i.e. http://scratch.mit.edu. Wel kan men natuurlijk altijd een eigen server opzetten en de gewijzigde versie zelf hosten, dit in tegenstellig tot TouchDevelop.

De tweede licentie (beschikbaar sinds 2012) is de GNU General Public License 2.0 (of kortweg GPLv2). Wanneer men een officiële versie van Scratch wilt verpakken als softwarepakket, of wanneer men een versie wilt toevoegen aan een open source archief, moet de broncode vrijgegeven worden onder deze licentie. Deze licentie bevat wel de handelsmerken van Scratch en bezit bovendien wel de mogelijkheid om projecten te uploaden naar de website van Scratch, i.e. http://scratch.mit.edu. In ons groepsproject brengen wij geen wijzigingen aan in de broncode van Scratch zelf. Wel maken we onze eigen inhoud en applicaties met behulp van Scratch en doen dus beroep op deze licentie.

Alle projecten die op de website van Scratch geüpload worden (zo ook ons project), worden gelicentieerd onder Creative Commons Attribution Share-Alike license 2.0 (Creative Commons – Toewijzing – Gelijk delen). De Creative Commons-licentie is een vrije licentie om creatief werk te verspreiden. Het voordeel van zulke Creative Commons-licentie is de keuzemogelijkheid die de auteur kent, waarbij volgende voorwaarden specifiek voor projecten opgemaakt in Scratch van toepassing zijn:

  • Attribution = toewijzing
  • Share-Alike = gelijk delen
  • Commercial = commerciële doeleinden

Kortom: projecten opgemaakt in Scratch kunnen gebruikt worden voor commerciële doeleinden, waarbij iedereen het werk mag gebruiken, op voorwaarde dat de naam van de auteur vermeld wordt én moet het werk eenzelfde type licentie toegekend worden als het oorspronkelijke werk.

Om een applicatie gemaakt in Scratch uit te voeren is er wel nood aan een softwarepakket waarvan de broncode niet vrij beschikbaar is: Adobe Flash Player. Dit softwarepakket is echter gratis beschikbaar voor de meest voorkomende besturingssystemen (Windows, Mac OS en Linux). Daarnaast zijn er verschillende open alternatieven beschikbaar zodat dit geen belemmering moet zijn. Voorbeelden van deze open alternatieven zijn Gnash (http://gnashdev.org/) en Lightspark (lightspark.github.io/).

Prijs

Zowel de ontwikkelomgeving als de server van Scratch zijn gratis te gebruiken om projecten te ontwikkelen en uit te geven.

Alternatieven

Een alternatief voor Scratch is het eerder besproken TouchDevelop. De meerwaarde hiervan is dat TouchDevelop veel meer is toegespitst op moderne technologie zoals tablets en smartphones, dat tegenwoordig meer aanleunt bij de leefwereld van de leerlingen. Met TouchDevelop kunnen op een gelijkaardige manier applicaties worden ontwikkeld die snel een hedendaagse look hebben en geëxporteerd kunnen worden naar alle gangbare mobiele platformen, bovenop de klassieke desktopplatformen. Omwille van de nadelen, beschreven in de paragraaf over de licentie, werd TouchDevelop niet weerhouden.

Andere, al dan niet vrije, alternatieven voor de grafische programmeertaal die Scratch aanbiedt kunnen gevonden worden in de documentatie van Scratch. (http://wiki.scratch.mit.edu/wiki/Alternatives_to_Scratch). Daarnaast kan de gebruiker die vertrouwd is met programmeren natuurlijk de opstap maken naar een tekst gebaseerde programmeertaal, wat meer mogelijkheden biedt. Hierin is zeer veel keuze maar natuurlijk is de instapdrempel hoger. Daarnaast kost het in de klassieke programmeertalen vaak meer moeite om de grafische effecten te bereiken die eenvoudig te implementeren zijn met Scratch.

Verwezenlijking

Een Scratchtoepassing wordt standaard opgebouwd volgens het object-georiënteerde principe. Bij dit principe wordt er ontwikkeld volgens objecten. Elke entiteit wordt voorgesteld door een object, met bepaalde eigenschappen en met bepaalde functionaliteit. Het programma wordt vervolgens uitgevoerd door objecten te manipuleren en een object handeling te laten uitvoeren.

Hierbij zijn we echter pragmatisch te werk gegaan: voor de eenvoud hebben we slechts één object weerhouden: de pion waarmee de speler zich voortbeweegt. Wanneer het spel start, wordt een actie getriggerd bij de pion. Vanaf dan loopt het hele script vanuit het object van de pion: het object-georiënteerde wordt aan de kant geschoven voor een verder eerder procedurele aanpak.

Deze procedurele of imperatieve aanpak wordt geschreven in de chronologische of logische volgorde dat een toepassing wordt uitgevoerd. Grote stukken kunnen opgedeeld worden in functies om het overzicht te bewaren. Die functies kunnen vervolgens aangeroepen worden. De keuze om procedureel verder te gaan werd gemaakt voor de eenvoud; gezien de achtergrondkennis van de meeste groepsleden en het doel van de opdracht, een werkbaar product, lijkt het niet opportuun om in deze fase volledig object-georiënteerd te werken.

De vragen en antwoorden worden bewaard in lijsten. Gezien Scratch niet standaard ondersteuning biedt voor meerdimensionale arrays werd een ad-hoc oplossing bedacht: de vragen worden genummerd waarna de vragen en de antwoorden in aparte lijsten worden opgeslagen. De vragen en de antwoorden worden met elkaar gelinkt door middel van de index in de lijsten; die voor een vraag-antwoordkoppel natuurlijk gelijk moeten zijn. Daarom is de volgorde waarin de vragen en antwoorden worden ingegeven van belang. Ook de feedback en het vakje van een ganzenbord waarbij de vraag hoort worden op die manier opgeslagen. De lijsten zelf worden in een spreadsheetprogramma gemaakt om zo in een tabel te kunnen werken en vlot de vragen en antwoorden die bij elkaar horen te kunnen zien. Om deze te importen in de Scratchomgeving worden deze, kolom per kolom, opgeslagen als platte tekst: dit kan snel geïmporteerd worden in de Scratchomgeving.

Om toch enigszins modulair te werken, wordt er voor gekozen om de code op te delen in verschillende blokken code die een eigen taak vervullen. Hierna worden de verschillende stukken besproken, in een volgorde die de werking van het programma volgt. De code zelf wordt geïllustreerd door de grafische code uit de Scratchontwikkelomgeving.

Main

Wanneer de applicatie gestart wordt, wordt het werkveld eerst leeggemaakt. Vervolgens worden de variabelen die nodig zijn geïnitialiseerd in een klein apart script. Vervolgens wordt een lus afgewerkt: zolang de gebruiker niet klaar is met het spel wordt er “gedobbeld” en wordt er een vraag gesteld die bij een bepaald vakje hoort. Dit gebeurt ook telkens in een nieuwe script. Wanneer het spel afgewerkt wordt, heeft de gebruiker gewonnen.

Initialize tiket

In dit script wordt het aantal vakjes gedefinieerd in het ganzenbord en wordt de pion van de speler aan de start geplaatst. Er wordt ook aangegeven dat de speler nog niet gewonnen heeft.

rollDiceAndMove

Hier wordt de gebruiker een vraag gesteld en wordt vervolgens de pion verplaatst. Wanneer de speler voorbij de het laatste vakje zou gaan wordt zijn pion teruggezet volgens de gangbare regels van het ganzenbordspel. Wanneer de speler door vooruit te gaan de finish bereikt heeft de speler gewonnen.

rollDice

Wanneer de dobbelsteen geworpen wordt, wordt een willekeurige wiskundige vraag geselecteerd. Wanneer de gebruiker hier juist op antwoord mag de pion vooruit gaan. Het aantal vakjes dat vooruit gegaan mag worden, wordt bepaald door het antwoord op de vraag. Zolang de gebruiker geen juist antwoord heeft gegeven, wordt er aan de gebruiker een nieuwe vraag voorgeschoteld, totdat de gebruiker juist antwoordt.

moveSteps

De pion verplaatst het juiste aantal vakjes. Er wordt rekening gehouden met de manier waarop het spelbord is opgebouwd. Er wordt bijgehouden op welk vakje de speler belandt en hoeveel vakjes de speler nog moet afleggen voor de finish bereikt wordt.

askQuestion

Bij het stellen van een vraag worden vragen willekeurig geselecteerd. Er wordt gekeken of de vraag wel bij het vakje hoort waarop de gebruiker belandt. Als dit niet zo is wordt een nieuwe vraag geselecteerd. Wanneer de gebruiker juist antwoordt mag er met de dobbelsteen geworpen worden. Wanneer de vraag fout beantwoord wordt kan er feedback getoond worden als deze voorhanden is.

gameOver

Wanneer de gebruiker het spel heeft uitgespeeld wordt een overwinningsboodschap getoond.

Mogelijke verbeterpunten

De zelfontwikkelde webapplicatie kan altijd verbeterd worden. Zo kan het spel omgevormd worden tot een mobiele applicatie. Op die manier kan de webapplicatie op tablets in de klas gebruikt worden. Bij gericht en gedoseerd gebruik van de tablet zal de motivatie, leerprestatie en leersnelheid van de lerende toenemen (K.U. Leuven, 2013). De tablet heeft namelijk een positieve impact op de motivatie van de lerende en zijn gevoel van zelfeffectiviteit (Li, Pow, Wong, & Fung, 2009).

Webapplicaties kunnen ook de sociale interactie tussen de lerenden vergroten (Henderson & Yeow, 2012). In dat opzicht zou de webapplicatie verfijnd kunnen worden doordat twee of meerdere spelers het spel tegen elkaar zouden spelen. Het competitieve element zal invloed hebben op de motivatie bij de lerenden. Reeve en Deci (1996) zagen een sterk significant verband tussen motivatie en het resultaat van de competitie. Verliezers van de competitie hun inzet verminderden, terwijl winnaars uiteindelijk meer inzet vertoonden.

Daarnaast kozen we bij deze webapplicatie voor wiskundige en anatomische vragen. Dit is louter een keuze gebaseerd op de voorkennis van de meeste groepsleden. Door de vragen aan te passen kan de webapplicatie ook gebruikt worden binnen andere studiedomeinen. De webapplicatie heeft als voordeel dat er vakoverschrijdend kan gewerkt worden. Toch is het aan te raden om steeds het vak wiskunde op te nemen, aangezien bij een juist antwoord de pion het aantal stapjes vooruit gaat, gelijk aan het gegeven antwoord. Maar bijvoorbeeld een vakoverschrijdend initiatief in de richting humane wetenschappen tussen de vakken wiskunde en cultuurwetenschappen is zeker ook mogelijk. In plaats van een skelet met anatomische vragen, zou dan bijvoorbeeld een rechtsgeschil op het spelbord afgebeeld worden waarbij de leerlingen vragen krijgen verband houdend op welke actor in het geding (bv. rechter, advocaat, procureur, beklaagde, etc.) de pion staat.

Wanneer er vakoverschrijdend gewerkt wordt, dienen de vragen gebaseerd te worden op een bepaald deel van het leerplan. Dit was in het ontwikkelde voorbeeld niet het geval.

Linken

Website presentatie

Presentatie

Andere interessante linken

Referenties

  • Li, S., Pow, J., Wong, E., & Fung, A. (2009). Empowering student learning through tablet PCs: a case study. Education and Information Technologies, 15, 171-180. doi 10.1007/s10639-009-9103-2
  • Henderson, S., & Yeow, J. (2012). iPAd in education: a case stuy of iPad adoption and use in a primary school. Hawaii International Conference on System Sciences. doi 10.1109/HICSS.2012.390

Appendices

Deeltaak Anouk Geypen Liesbeth Biegs Ilse Spruyt Jannes Janssens Bo Hellinckx Chloë Goethals Stijn Vanhecke
Voorstel ontwerp Example Example Example Example Example Example Example
Presentatie Example Example Example Example Example Example Example
Rapport Example Example Example Example Example Example Example
Aanmaak leermateriaal Example Example Example Example Example Example Example
Gerbruikte technologieën Example Example Example Example Example Example Example