Gerard Dummer

Alles over Onderwijs en ICT.

In mijn blogpost van 16 februari 2017 over computational thinking benoem ik verschillende definities van computational thinking. Mijn eigen definitie voegde ik daar aan toe:

Het oplossen van problemen waarbij je gebruik maakt van de ideeën uit de informatica.

Later bedacht ik me nog dat dit nog niet compleet was want andersom geldt dit, zeker volgens uitgangspunt van Wing, ook. Wing het noemt dit het automatiseren van abstracties. Waarbij abstracties als het ware de denkkapstok is van de informatica. Als ik mijn eigen definite aanvul met dit uitgangspunt dan kom ik uit op:

Computational thinking is enerzijds het oplossen van problemen waarbij je gebruik maakt van de ideeën uit de informatica en anderzijds het gebruiken van informatica om problemen op te lossen.*

Als ik het heb over ideeën dan bedoel ik zaken zoals algoritmes en patronen. Als ik het heb over problemen dan kan dat slaan op een zakelijke insteek (zoals het uitvoeren van een project) als een creatieve insteek (zoals het maken van een kunstwerk).

Een volgende stap die ik wil zetten in mijn denkproces/zoekproces is het volgende: de voorbeelden die rondom computational thinking worden gegeven vind ik nogal hap-snap. Ik zie nog geen duidelijke lijn in de opbouw van computational thinking. Websites zoals CSunplugged bieden allerlei activiteiten aan maar die staan naar mijn idee nog niet in een lijn. Dat komt misschien omdat ik nog niet goed heb gekeken of mijn kennis nog niet groot genoeg is rondom dit onderwerp. Ik weet bijvoorbeeld ook nog niet of dit überhaupt moet of niet.

Als ik een vergelijking zou maken met rekenen-wiskunde dan lijkt het of de activiteiten die benoemd worden de ene keer gaan over sommen als 3 + 4 dan weer over 34 x 35 en dan weer over de vraag hoeveel seconden er in een dag zitten. Sommen die komen uit verschillende plekken van de leerlijn of zelfs uit verschillende leerlijnen.

De website van Kennisnet en de SLO over de leerlijn programmeren komt al meer in de richting. Zij hebben zich gebaseerd op de SLO die zich weer heeft laten inspireren door ISTE en CSTA. Tijd om me daar verder in te verdiepen.

Een idee dat ik ook heb over CT is om te kijken in hoeverre het zinvol is om dit te koppelen aan een taxonomie zoals die van Bloom. Omdat in de stukken die ik tot nu toe lees het vooral gaat over het onderdeel Computational en nog niet zozeer over het onderdeel Thinking. Een idee dat verder wordt ingegeven door het feit dat ik denk dat je eerst aspecten van computational thinking zou moeten herkennen voordat je in staat bent om er iets mee te doen. En dat idee wordt weer getriggerd doordat ik me in de afgelopen jaren ook bezig heb gehouden met de invoering van Wetenschap en Technologie (W&T) op onze Pabo. Een mooi document dat daarin een belangrijke rol speelt is die van Hanno van Keulen waarin hij laat zien hoeveel W&T in ons dagelijks leven een rol speelt. Bij veel voorbeelden die hij noemt is naar mijn idee moeiteloos CT te koppelen. Dat doet hij in zijn publicatie niet. Daarom ter afsluiting Linda Liukas die dat wel doet 🙂

 

*Aanvulling op mijn definitie van 14 maart 2017 op 12 januari 2018: ideeën zou beter vervangen kunnen worden door het begrip “fundamentele ideeën”. Dit sluit beter aan bij auteurs zoals Schwill (1994), Denning (2004) en Zendler en Spannagel (2008) die benadrukken dat computer science op school zich bezig moet houden met de fundamentele ideeën (of great principles of central concepts) omdat het veld zo dynamisch is.

Op 15 februari 2017 mocht ik een workshop verzorgen over computational thinking voor de basisscholen die mee hebben gedaan aan het traject Leren in de 21ste eeuw. In mijn workshop ben ik ingegaan op de vragen: wat is computational thinking, uit welke aspecten bestaat CT, waarom is het belangrijk en zijn we ook praktisch aan de slag gegaan hiermee. En dat alles in 50 minuten. Dat was dus wel keuzes maken. Hieronder de presentatie die ik voor de bijeenkomst gebruikt heb.



Waar ik tijdens de presentatie zelf achter kwam (had ik dus willen toevoegen) was dat er een mooi overzicht van Beat Döbeli Honegger ontbrak die computerscience (en indirect vind ik ook CT) mooi plaatst in een oplopend rijtje (zie dia 5) en die de redenen om met computerscience (en indirect vind ik dus nogmaals met CT) aan de slag te gaan (zie dia 16).

Op 23 maart zal ik nogmaals over CT praten, dan op het symposium ter gelegenheid van het afscheid van Dick de Wolff. Dan zal ik stilstaan bij de verschillende curricula die inmiddels zijn ontworpen rondom CT.

Het artikel van Wing (2006) is waarschijnlijk heet meest geciteerde artikel op dit moment als het gaat over het onderwerp computational thinking. Maar ook in 2008, 20110 en 2016 schrijft Wing over de ideeën en ontwikkelingen rondom computational thinking (CT).

Ik heb de verschillende artikelen van haar op een rijtje gezet en de (naar mijn idee) belangrijkste aspecten uitgehaald.

Definitie van computational thinking

Wing hanteert verschillende omschrijvingen om duidelijk te maken wat ze precies onder CT verstaat. In 2006 geeft ze aan dat CT te maken heeft met het oplossen van problemen, het ontwerpen van systemen en het begrijpen van menselijk gedrag door voor te borduren op de fundamentele concepten van computerscience (CS).

In 2010 omschrijft ze CT als het denkproces dat nodig is in het formuleren van problemen en hun oplossingen zodanig dat de oplossingen op zo’n manier worden weergegeven dat ze effectief uitgevoerd kunnen worden door een information-processing agent.

Informeel omschreven als de denkactiviteiten bij het formuleren van een probleem om te komen tot een computationele oplossing. De oplossing kan worden uitgevoerd door een persoon of een machine, of in de meeste gevallen door een combinatie van een persoon en machine.

Wing geeft aan dat CT het wiskundig en technisch denken combineert (Wing, 2006, 2008, 2010).

In mijn eigen woorden zou ik bovenstaande omschrijven als het oplossen van problemen waarbij je gebruik maakt van de ideeën uit de informatica.

Aspecten van CT

In het artikel van 2006 beschrijft Wing verschillende aspecten van CT die rechtstreeks voortkomen uit het programmeren zoals het herkennen van de voor- en nadelen van aliasing, de baten en kosten van indirect adressing en procedure call.

In het artikel van 2008 geeft ze aan dat de essentie van CT abstractie is. Dat komt terug in het artikel van 2010. De kern is om abstracties te kunnen definiëren waarbij gewerkt wordt met meerdere lagen en waarbij je de relatie tussen deze lagen ook moet kunnen begrijpen. Abstracties zijn de mentale gereedschappen van computing geeft Wing (2008) aan. En computing is het automatiseren van onze abstracties. In 2008 en 2010 geeft Wing aan dat abstractie gebruikt wordt om patronen te definiëren, te generaliseren op basis van gevallen en parameters. Het wordt gebruikt om de essentie weer te geven en irrelevante informatie weg te laten. Verschillende lagen van abstractie zorgt er voor dat we ons kunnen focussen op verschillende aspecten.

Er zijn een paar zaken die me hier bij opvallen. In 2006 zit Wing nog erg dicht aan tegen de concrete begrippen die gebruikt worden in de informatica. Een paar jaar later kiest ze als kapstok abstractie als belangrijkste aspect van CT. Alle andere aspecten worden hier van afgeleid. Wat ik hier opvallend aan vind is dat ik dit nu niet meer terugvind in de leerlijnen die nu worden geformuleerd rondom CT. Zo hanteert de leerlijn programmeren/ computational thinking van Kennisnet tien aspecten die zo op het eerste gezicht redelijk gelijk worden behandeld. Het eerste aspect (algoritmes) lijkt niet onder te doen van abstractie (begrip 7) of representatie (begrip 10).

Toepassingen in het onderwijs en wetenschap

Naar mijn idee het belangrijkste punt dat Wing noemt is de toepassingen van CT in onderwijs en wetenschap. Wing (2010, 2016) geeft aan dat computation erkent wordt als de derde pijler onder de wetenschap naast theorie en experimenten.
Ze noemt veel voorbeelden van disciplines die veranderd zijn en waarbij CT een belangrijke rol speelt: statistiek, biologie (onder andere doorzoeken van enorme hoeveelheid data op zoek naar patronen. Deze patronen worden dan weer gebruikt voor nieuw onderzoek bijvoorbeeld bij het ordenen van het menselijk DNA), economie (door computational gametheorieën), nanocomputing beïnvloedt de scheikunde en quantumcomputers beïnvloeden natuurkundigen (Wing, 2006), algoritmische geneeskunde, computational archeologie, financiën, journalistiek, recht, sociale wetenschappen, fotografie, digitale geesteswetenschappen, computermuziek (Wing, 2010).

In het artikel van 2016 geeft Wing aan dat CS-cursussen ook gegeven worden aan studenten die niet afstuderen in CS zelf. Deze cursussen focussen op de kernconcepten van CS. Wing (2016) vind het verrassend en verheugend om te zien dat ook in het middelbaar en basisonderwijs initiatieven zijn ontstaan. Ze noemt daarbij de ontwikkelingen in Engeland (CAS) en het opstarten van code.org in 2013. Als derde noemt Wing de snel toenemende belangstelling in het onderwijzen van CS op de basis- en middelbare school in Australië, Israël, Singapore en Zuid-Korea.

Computational Thinking in het dagelijks leven

Het minst sterk (maar misschien wel meest herkenbaar) vind ik de relatie die Wing legt met CT in het dagelijks leven. Bijvoorbeeld (Wing, 2006) bij het inpakken van een rugzak (prefetching and caching), het terugvinden van verloren handschoenen (back- tracking), het nadenken over huren of kopen van ski’s (online algoritmes), het kiezen van een rij in de supermarkt (performance modeling voor multi-server systemen), het blijven werken van je telefoon gedurende een stroomuitval (independence of failure en redundancy in design), doostroming van geslaagden op een dipoma-uitreiking (Wing, 2010) als voorbeeld van pipelining en het opbergen van LEGO-blokjes zodat je gemakkelijk een specifiek blokje terug kunt vinden (hashing).

Hoe moet je computational thinking aanleren?
Deze vraag stelt Wing (2008 en 2016) zichzelf. Ze vraagt zich af wat effectieve manieren zijn om CT aan te leren bij kinderen, wat de basisconcepten zouden moeten zijn (Wing, 2008, 2016), in welke volgorde moeten de concepten worden aangeboden, verschilt dit per leerling, welke tools (waaronder computers) zijn het meest bruikbaar voor het aanleren van concepten, wanneer zetten we deze tools in, hoe verhoudt informeel en formeel leren zich tot elkaar bij het aanleren van de concepten.

Ze verwijst hierbij vooral naar andere initiatieven zoals http://csprinciples.org, een serie workshops van de National Academies’ Computer Science and Telecommunications Board, CE21 van de NSF, Computing At School (CAS) in Groot-Brittannië, CS4HS, Carnegie Mellon Center for Computational Thinking, Exploring Computational Thinking van Google, Computer Science Unplugged en CSTA.

Voor de precieze uitwerking van computational thinking in het onderwijs moet je dus niet bij Wing zelf zijn maar bij alle andere de initiatieven die ze noemt. Nog maar eens verder kijken dus!

Studente Suzanne Wierstra van de pabo van Hogeschool Utrecht heeft voor haar project Wetenschap en Technologie (onderzoekend en ontwerpend leren) bij de kleuters onder andere de BeeBot ingezet. De BeeBot had op haar kleuters een grote aantrekkingskracht. Ze zijn volop aan het experimenteren geweest en aan het ontwerpen.

Zo maakten de kleuters allerlei parcouren voor de BeeBot om af te leggen.


BeeBot_kleuters_onderzoekend_ontwerpend_leren

BeeBot_kleuters_onderzoekend_ontwerpend_leren

BeeBot_kleuters_onderzoekend_ontwerpend_leren

Maakten ze allerlei bouwwerken waar ze de BeeBot overheen konden laten gaan.

BeeBot_kleuters_onderzoekend_ontwerpend_leren

BeeBot_kleuters_onderzoekend_ontwerpend_leren

BeeBot_kleuters_onderzoekend_ontwerpend_leren

En hebben ze getest hoe sterk de BeeBot was!

BeeBot_kleuters_onderzoekend_ontwerpend_leren

BeeBot_kleuters_onderzoekend_ontwerpend_leren

Al met al een creativiteit waar ik vrolijk van wordt!

Afgelopen weken hebben studenten van de Pabo van Hogeschool Utrecht hun Wetenschap en Technologie projecten gepresenteerd. De meest uiteenlopende onderwerpen kwamen langs voor de meest uiteenlopende doelgroepen. Ook ICT moest worden verwerkt in de projecten. Veel studenten hebben ICT ingezet ter ondersteuning van onderzoekend leren. Maar er zijn ook studenten geweest die in het kader van ontwerpend leren met ICT aan de slag zijn gegaan. Een paar presentaties ging over de inzet van de BeeBot. Zo is Emily van Hees bij de kleuters aan de slag gegaan met de BeeBot. Zij heeft in vier lessen de leerlingen de basisvaardigheden van programmeren gelegd.

Eerst het principe uitgelegd met hoepels in de speelzaal, daarna op de computer een spelletje over hetzelfde onderwerp, in les 3 werd er geoefend met de BeeBot zelf en in les 4 werd er getest en bijgesteld. In de presentatie zelf zijn verschillende verantwoordingen te vinden over het hoe en waarom van deze opzet.

Ik vind dat ze in deze opzet unplugged activiteiten, ontwerpactiviteiten en computational thinking mooi met elkaar heeft verweven.

De afgelopen maanden hebben vierdejaars studenten van de Pabo van Hogeschool Utrecht die mee hebben gedaan aan de minor Wereldvakken gewerkt aan het maken van een educatieve documentaire. Gisteren hebben we met studenten en collega’s een documentairefestival gehouden om elkaars werk te bewonderen. We hebben er van genoten. Onder het genot van popcorn en cola (of voor de gezonde variant: worteltjes en perensap) kwamen onderwerpen langs als Kamp Amersfoort, De Nieuwe Hollandse Waterlinie, Spookverhalen in Hilversum en Schuilkerken in Utrecht.

Je kunt ze allemaal bekijken in de afspeellijst hieronder! Veel plezier.

Tips die ik voor volgend jaar meeneem trouwens bij deze opdracht is om aandacht te besteden aan plaatsbepaling in de documentaires. Dus waar speelt iets zich af. Dat kwam nu nog niet goed uit de verf. Ook wil ik nog meer aandacht besteden aan storytelling. Dat was nu al goed maar kan volgens mij nog meer uitgebuit worden.

Dit jaar heb ik weer met de vierdejaars studenten van Hogeschool Utrecht die meedoen aan de minor Cultuurcoördinator de opdracht gegeven om een foto in de stijl van Jan von Holleben te maken. De studenten bekijken daarvoor foto’s van deze Duitse fotograaf en de werkwijze. Resultaten van de afgelopen jaren zijn te vinden op de Pinterest pagina die ik voor deze gelegenheid daarvoor heb ingericht.

De foto’s worden het beste, heb ik gemerkt, als ik voldoende feedback kan geven tijdens het maken van de foto zelf. Feedback gaat voornamelijk over compositie en gebruik van de ruimte. Andere beeldaspecten zoals kleur en licht komen, merk ik, nog niet zoveel aan bod.

Volgend jaar wil ik dit nog duidelijker aansturen voorafgaand aan de bijeenkomst. Ik wil volgend jaar dus explicieter stilstaan bij de verschillende beeldaspecten. Toen ik op het onderwerp “beeldaspecten” op YouTube zocht vond ik daarover een aantal mooie video’s. Zo heeft Foam mooie playlists samengesteld voor onder andere primair onderwijs.

Een voorbeeld van een video van Foam over compositie

Ook de video’s van DrDrick zijn mooi om te gebruiken

Nu ja, zo kan ik nog wel even doorgaan want ook onderstaande vind ik (alhoewel wat langer en langzamer) ook mooi beeldaspecten in beeld brengen.

En in deze video alle beeldaspecten bij elkaar:

Gelukkig ben ik nu ook al tevreden over de resultaten van de studenten. Hieronder een voorbeeldje. Niet helemaal scherp maar wel erg leuk. Vooral de spuitbus vind ik creatief gedaan!

Voor mijn studenten van de Pabo van Hogeschool Utrecht heb ik een artikel geschreven over onderzoekend en ontwerpend leren ondersteund en verrijkt met ICT. Het is een eerste aanzet om studenten op weg te helpen om hier in de klas mee aan de slag te gaan. Dit is de eerste versie van het artikel en het zal (als daar de tijd voor is) worden geüpdatet.

Heb je feedback voor mij op dit artikel dan is dat van harte welkom natuurlijk!

Onderzoekend en Ontwerpend Leren Ondersteund en Verrijkt Door ICT by Gerard Dummer on Scribd

Komend jaar verzorg ik weer samen met mijn collega Jurgen Memelink de keuzecursus Onderwijs ontwerpen voor de 21ste eeuw voor onze tweedejaars Pabo-studenten van Hogeschool Utrecht. Afgelopen jaar draaide deze cursus voor het eerst. Ik schreef daar al eerder over. Afgelopen jaar was is enigszins tevreden over hoe de cursus verliep. Er had meer ingezeten. En dat hoop ik er dit jaar uit te halen. Meer zat in een aantal zaken: studenten die met Scratch begonnen haakten redelijk snel af, studenten die met Lego MindStorms werkten ploeterden zich een slag in het rond en behaalden aardige resultaten, studenten die met de 3D-printer aan de slag gingen maakten extreem grote of onmogelijke ontwerpen (om te printen). En soms erger: weinig geïnspireerd. Dat laatste lag vond ik ook aan mijn eigen geformuleerde opdracht: ontwerp iets dat je leven kan vergemakkelijken. Het was het beste wat ik vorig jaar kon bedenken (en dat was dus niet heel erg goed).

2016-2017
Dit jaar wil ik het daarom anders aanpakken. Ik heb een opdracht geformuleerd die de studenten meer houvast geeft (bijvoorbeeld in het leren van het programma Scratch), meer uitdaagt tot creativiteit (onder andere door introductie van de Makey Makey), meer technieken met elkaar combineert (op een zinvolle manier de 3D-printer inzet) en waarbij ICT met Techniek wordt gecombineerd. Al met al ben ik erg tevreden over de geformuleerde opdracht 🙂

Maak het nog beter!
Maar ik zou graag nog jullie kritische geluid willen horen. Wat maakt de opdracht nog sterker? Nog creatiever? Daarbij is het goed om te weten dat ik dus bewust voor een redelijk gestuurde opdracht heb gekozen. Daar ga ik (in principe) niet van afwijken. Of jullie moeten geweldige andere suggesties doen! Feedback ontvang ik graag als opmerking bij het document of als commentaar op deze blogpost!

Gisteren heb ik voor de Da-Vinci groep van Montessorischool Pallas Athene uit Amersfoort een Scratchles verzorgd. Oud-student Nienke de Jong, nu werkzaam op Pallas Athene had me gevraagd of ik hier aan mee wilde werken. Zij is met de kinderen bezig met een project over water in Nederland. De kinderen maken over dit project een animatie in Scratch. Voorafgaand aan deze les hadden de kinderen zich al verdiept in het onderwerp water in Nederland en hadden ze een begin gemaakt van een storyboard. De les die ik gaf was dus de derde in een reeks. In deze les heb ik hen handvatten gegeven om met Scratch een animatie te maken.

Mijn eerste evaluatie van deze les, twitterde ik gisteren ook al:


Een les van een uur is voor de kinderen precies lang genoeg maar om hen helemaal op weg te helpen net te kort, vond ikzelf.

Hoe heb ik het aangepakt?
In de les wilde ik verschillende aspecten aan bod laten komen. Belangrijkste doel van de les was natuurlijk dat kinderen in staat zijn om een animatie te maken in Scratch. Maar ik wilde hen ook nog een aantal andere zaken meegeven. Zoals leren dat debuggen hoort bij Scratch, dat ze een groot project leren opknippen in kleinere stukken (decompose) en dat ze een projectplanning kunnen gebruiken om overzicht te houden waar ze mee bezig zijn.

Het eerste doel heb ik, denk ik, behaald. De overige doelen niet of minder. De oefeningen rondom debuggen heb ik overgeslagen. Het opknippen en plannen heb ik alleen genoemd.

Ter introductie heb ik hen een animatie laten zien waarin ik mijzelf voorstel:




Het idee van voorstellen heb ik uit het boek Creative Computing van ScratchEd dat in het Nederlands is vertaald door Cobi van de Ven.

Daarna heb ik hen, met minimale instructie over Scratch (dit is Scratch, dit zijn de scripts, zo kun je ze aan elkaar klikken, zo kun je ze laten beginnen) Scratch laten verkennen. Ook deze opdracht komt uit het boek Creative Computing.

Opdracht 2 was bedoeld om de kinderen te wijzen op de Tips-functie in Scratch en hen kennis te laten maken met de scripts die helpen om een animatie te maken.

Ik merkte dat de kinderen bij opdracht 1 heel fanatiek al met Scratch aan de slag waren gegaan en het een beetje jammer vonden dat ze nu opeens een andere opdracht moesten doen. Voor een volgende keer zou ik de beginopdracht dus iets meer sturen en er voor zorgen dat het animeren van je naam meer aansluit op de verkenningsfase.

Ik merkte ook dat het handig was om steeds naar een tijdje gewerkt te hebben, gezamenlijk even een paar belangrijke hobbels door te spreken. Een paar bekende hobbels waar iedereen tegenaan loopt zijn:
* als ik mijn sprite heen en weer laten lopen tot de rand dan loopt hij op de kop terug

Oplossing is om de draaistijl van de sprite aan te passen.

* Ik wil mijn sprite laten draaien maar ik zie niets gebeuren:

Oplossing is dat je het draaien tijd moet geven:

Verder gaf ik in de loop van de les steeds meer tips over Scratch:
* Wist je dat een sprite verschillende uiterlijken kan hebben?

En dat je die uiterlijken na elkaar kunt laten verschijnen:

Materialen
Ik had een Scratchanimatie gemaakt waarin alle aspecten die aan bod moesten komen al verwerkt zaten:bewegen, muziek, wisselen van achtergrond, verschijnen en verdwijnen van teksten. Dat was heel handig om steeds weer erbij te pakken. Zo van: kijk, zo kun je het aanpakken.

Ik had ook een presentatie gemaakt om mijn verhaal te ondersteunen




En tot slot een website waarop alle opdrachten en linken te vinden waren die we gingen gebruiken.

Verder had ik nog een studio klaargezet voor de animaties. Maar daar hebben we geen gebruik meer van gemaakt.

Tot slot
Zoals je waarschijnlijk merkt, had ik meer dan genoeg materiaal om te gebruiken. Teveel voor een te korte tijd. Ik wilde aan teveel aspecten aandacht besteden (die heb ik deels overgeslagen). Een volgende keer ben ik in staat om het nog meer te stroomlijnen.

Belangstelling om ook leerlingen ook kennis te laten maken met Scratch? Ik kom graag langs om hen te helpen! Of samen met jullie na te denken over de mogelijkheden.