Blogs over computational thinking
Wat is nou eigenlijk computational thinking? De (te) letterlijke vertaling 'denken als een computer' doet in ieder geval geen recht aan de term computational thinking.
jeanette Wing definieerde computational thinking al in 2006 als "het denkproces waarmee problemen en hun oplossingen zo worden geformuleerd dat ze kunnen worden gepresenteerd in een vorm die effectief kan worden uitgevoerd door een informatieverwerkende tussenpersoon, zoals een computer of een mens, of een combinatie van beide."
De SLO definieert het iets breder: "Bij computational thinking (of computationele denkvaardigheden) gaat het om kennis hebben over en vaardig zijn in verschillende denkprocessen. Voor het oplossen van problemen, het ontwerpen van systemen en het begrijpen van menselijk gedrag worden concepten en werkwijzen gebruikt uit de informatica en de mogelijkheden van een computer of ander digitaal gereedschap". Ook hier werkt de SLO dat verder uit in enkele punten:
Op de site van de SLO kun je een schema downloaden waarin deze vier punten concreet worden uitgewerkt naar concrete vaardigheden en naar leeftijdsfasen. Zie het plaatje hiernaast (boven) voor een voorbeeld. =>
Kennisnet benadrukt dat computational thinking breder is dan programmeren, maar citeert tegelijk Bill Mitchell die programmeren de locomotief noemt 'die alle andere aspecten van van de digitale wereld met zich meetrekt'. "Door te leren programmeren, leer je ook andere aspecten van het moderne computergebruik kennen en beheersen". Programmeren niet als doel, wel als middel.
Diane van der Linde en Herma Jonker van het lectoraat onderwijsinnovatie en ICT van Windesheim benaderen computational thinking meer als een methode om problemen op te lossen. Zij definiëren het als: "het oplossen van problemen, het ontwerpen van systemen en het begrijpen van menselijk gedrag, gebruik makend van concepten en werkwijzen uit de informatica, werkend vanuit een persoonlijk perspectief". Zie ook het trechtermodel hiernaast (onder). =>
Conclusie: computational thinking zou kort vertaald kunnen worden als 'gestructueerde probleemoplossing'. Iets uitgebreider omschreven gaat het om vaardigheden om vraagstukken op te lossen op een manier die past bij de digitale wereld waarin we leven.
Op Netflix staat de documentaire Coded Bias. Ik maakte bij het kijken ervan deze aantekeningen. =>
Het is een documentaire die gaat over de gevaren van ingebakken vooroordelen in gezichtsherkenningssoftware. De algoritmen die zorgen voor de herkenning zijn voornamelijk getraind op witte mannen. Vrouwen en gekleurde en zwarte mensen worden daardoor minder goed herkend. Dat kan in de praktijk problemen geven. Bekend zijn de voorbeelden van Amazon, waar bij sollicitaties alle vrouwen bijvoorbaat werden uitgeselecteerd, en de antispieksoftware van Proctorio die zwarte mensen niet goed herkende.
Bijkomend probleem is dat de machtsverdeling scheef is. Negen grote bedrijven beheersen de markt van de gezichtsherkenningssoftware, 6 in de VS en 3 in China. In China is er geen enkele bescherming van de privacy, en in de VS is dat vaak onduidelijk. Europa heeft wel de AVG, maar omdat de algoritmen achter de software niet openbaar zijn, is niet na te gaan of die aan de AVG voldoen.
<= Bij de bespreking in de klas hebben we dit op het bord geschreven.
We hebben veel zorgen, met name op ethisch en moreel gebied: moet alles wat kan? Leidt de mogelijkheid niet bijna automatisch ook tot ge-/misbruik? Hoe borg je een goed gebruik van de mogelijkheden van algoritmen/AI?
We concludeerden dat waakzaamheid nodig blijft. In gesprek blijven over het doel van algoritmen en AI, en hoe dat doel op een goede manier bereikt kan worden.
Dit plaatje komt van het Twitter-account van Barefootcomputing.org. Klik het even aan voor een vergroting op een nieuw tabblad. =>
Het leuke van dit plaatje is dat het in één oogopslag een overzicht geeft van de verschillende concepten en benaderingen die een rol (kunnen) spelen als je een probleem te lijf gaat. Het is goed bruikbaar bij het programmeeronderwijs, maar ook breder in te zetten doordat de gebruikte termen vrij algemeen zijn. Bekende termen als algoritmen en debuggen hebben een plaats, maar ook een concept als decompositie en een benadering als tinkering.
We zijn allemaal computational thinkers!
Op de site van de Nationale OnderwijsGids staat een artikel over de organisatie RobotWise. Deze organisatie ondersteunt scholen bij het opzetten van 'innovatieve lesprogramma's', en helpt hen met het aanvragen van (forse) subsidies bij het Ministerie van Onderwijs.
Het gaat om programma's met gamified learning. In de praktijk blijkt dat vooral te bestaan uit het programmeren van en experimenteren met robots. Uiteraard oefenen de kinderen daarbij vaardigheden als creativiteit, probleemoplossing en computational thinking.
Eigenlijk zou de vlag 'robotica' de lading beter dekken, lijkt mij. Het werken met robotjes is leuk, en zeker ook nuttig. Maar als het een doel op zich wordt, dan is het rendement niet zo groot. Je leert daarmee dan maar een klein stukje computational thinking. Het is dus van belang de robotjes in te bedden in een grotere lessenserie van probleemanalyse, oplossingen bedenken en dan uiteindelijk al dan niet een oplossing programmeren.
Een leerling uit 3 gymnasium breekt een lans voor het uitbreiden van de lestijd voor programmeertalen, digitale vaardigheden en computerlessen ten koste van bijv. de moderne vreemde talen. Voor een universitaire studie heb je alleen Nederlands en Engels nodig, aldus Lena van Kruijsdijk in Het Parool. Het vakkenpakket is in de afgelopen 30 jaar nauwelijks gewijzigd. Maar voor het leven in de toekomst heb je andere vaardigheden nodig, taken automatiseren, problemen oplossen m.b.v. een computer, en de middelbareschooltijd is dé periode om die te leren.
In Vives 179 (oktober 2022) schrijft Inge Spaander, media-docent in het voortgezet onderwijs, een column over een leerling die een PWS wil maken over AI. Een profielwerkstuk over Artificial Intelligence, daar weet ik toch veel te weinig van, is haar eerste reactie. Waarom niet, vraagt de leerling, "Komt dat soms omdat u niet wilt dat de wereld nog verder verandert? Of omdat u het een beetje eng vindt?" Als Inge er verder over nadenkt, realiseert ze zich dat ze zich niet goed kan voorstellen dat de wereld nog kan verbeteren door nieuwe technologie. We moeten toch wel zo'n beetje aan het einde van de ontwikkelingen zijn?
Niet omdat die ontwikkelingen niet goed zijn, maar omdat steeds vaker een stemmetje in haar zegt: 'Is dit nog wel echt?' Een wereld met deep-fake en VR, met relaties die online aan- en uitgaan, warin we steeds meer één worden met onze devices, is dat een betere wereld? Is online-onderwijs een verbetering? Of, zoals die leerling zich afvraagt: "Is eeuwig kunnen leven door technologie beter dan sterfelijk zijn?"
Inge heeft geen antwoorden. Maar om de leerling te kunnen begeleiden, gaat ze zich toch wat meer verdiepen in de wereld van AI.
Klik op het artikel om een vergroting te kunnen lezen. =>
22 november 2022
Joep Engels schrijft in Trouw een artikel over een AI, Cicero genaamd, die in staat blijkt om het spel Diplomacy van mensen te winnen. Sinds Deep Blue weten we al dat computers een bijna oneindig aantal spelscenario's kan doorrekenen op zoek naar de beste strategie om te winnen. Maar bij Diplomacy gaat het ook om onderhandelen: bondjes sluiten met andere spelers, en die bondjes wel of niet gestand doen. De spelers onderhandelen met elkaar via online berichten.
Het is de onderzoekers (overigens bijna allemaal gelinkt aan Meta) gelukt om Cicero ook geloofwaardig te laten communiceren. Medespelers hadden niet door dat ze met een computer te maken hadden, en gingen gewoon de chat aan. Cicero slaagde erin bijna dubbel zo goed te scoren als de gemiddelde speler.
Engels schrijft dat de computer nu de mens verslaat in 'een spel waarvoor naast strategisch inzicht menselijke vaardigheden nodig zijn'. Die opmerking vind ik nogal discutabel, omdat hij suggereert dat Cicero daarmee menselijk is of menselijke eigenschappen heeft. Maar net als Deep Blue heeft Cicero gewoon een ontzettend grote rekenkracht gecombineerd met algoritmen waarmee hij misschien een mens kan imiteren, maar daarmee nog niet menselijk ís.
5 oktober 2022
In de gemeenteraad van Amersfoort werden moties aangenomen over terughoudendheid in het gebruik van algoritmen. De lokale krant De Stad Amersfoort bericht hierover. Alleen onder voorwaarden op het gebied van o.m. transparantie mogen algoritmen worden ingezet door de gemeente. De gemeenteraad liet zich eerst uitgebreid voorlichten over de werking en beperkingen van algoritmen. De wethouder moet nu een 'ethisch afwegingskader' opstellen, waarmee vooraf de inzet van algoritmen kan worden beoordeeld.
15 november 2022
Via Twitter ontdekte ik een 'leuk' filmpje van het Britss Labour-parlementslid Daren Jones die een Europese topman van Amazon, Brian Palmer, ondervraagt. De topman had op de vraag of werknemers worden getrackt door algoritmen geantwoord dat dat niet gebeurde. Later nuanceerde hij dat door te zeggen dat dat 'niet de focus' van de algoritmen was.
Het parlementslid vraagt door. Worden medewerkers getrackt? Ja. Beoordeelt het algoritme of medewerkers snel genoeg werken? Ja. Kunnen medewerkers ontlagen worden als ze volgens het algoritme te vaak niet snel genoeg werken? Ehm, Ja.
De topman kon niet meer ontkennen dat het algoritme dus inderdaad wordt gebruikt voor het trakcen en beoordelen van medewerkers. Dat hij dat in eerste instantie zelf niet inzag is het eigenlijke probleem, aldus het parlementslid.
Een uitgebreide versie van deze hearing staat op YouTube.
25 november 2022
Op Nu.nl een artikel over een onderzoek uit Zuid-Korea. Wetenschappers hebben een robot getraind om te kunnen buigen, staren, handen schudden, knuffelen en hun eigen gezicht verstoppen. Ze gebruikten daar voor meer dan honderdduizend filmpjes waarop mensen dit deden. De robots kunnen nu 'non-verbaal sociaal gedrag vertonen', aldus de onderzoekers.
In de praktijk blijken ze nog wel wat tekortkomingen te hebben. Ze reageren langzamer en minder vaak dan mensen, en werken niet goed bij teveel achtergrondgeluid. De onderzoekers denken dat de robots kunnen worden ingezet bij bijv. thuiszorg aan eenzame ouderen, of voor educatieve doelen.
Het is goed om te bedenken dat dit maar een fractie is van wat een mens kan. Leuk dat een robot dit nu kan nabootsen, maar het zal nog een hele tijd duren voordat robots echt op mensen kunnen lijken.
Ik had het hierboven al even over het werken met robotjes en het belang van het inbedden in een groter geheel. Hierbij twee PowerPoints die ikzelf heb gebruikt. Voor talenttijdmodules (waarbij het alleen ging om robotica), maar ook als intro op een grotere lessenserie programmeren.
Ik praat dan meteen met de klas over vragen als 'wat is een computer?', 'wanneer is een computer een robot?', en een begrip als 'garbage in, garbage out'. In beide lessen zit ook een unplugged start. Bij de Ozobot is dat het spel Marsorders. Daarbij krijgt één leerling voor de klas een bepaald figuur in handen en moet hij/zij instructies geven aan de andere leerlingen om ongezien hetzelfde figuur te tekenen. Een oefening in het belang van precies en eenduidig formuleren. Zie het voorbeeld hiernaast (boven). =>
In de Microbit-les zit Olaf de Hagelslagobot. Erg leuk om dat live voor de klas te doen! Ook dit is een oefening in precies en compleet formuleren. Zie afbeelding hiernaast (onder). =>
Vorig jaar vond de wereldrecordpoging Hologrammen bouwen plaats. Scholen konden een gratis lespakket downloaden en een set transparante plastic vellen aanvragen om zelf hologrammen mee te maken. Ik heb dat met een aantal brugklassen gedaan.
Je kunt met de leerlingen het gespek aangaanover het belang van hologrammen. Wat is een hologram eigen? En hoe maak je die? Wat is het verschil tussen 2D en 3D? Is dat alleen voor de fun, of kun je ze ook nuttig gebruiken? Het filmpje op slide 2 geeft daarvan een voorbeeld. Als ik de les nog een keer ga geven, zou ik nu ook een filmpje van de ABBA-concerten in Londen toevoegen.
28 november 2022
Elk jaar organiseert de Stichting Informatica Olympiade de Beverwedstrijd. Dat is een landelijke wedstrijd met 15 opgaven op 4 verschillende niveaus (groep 7+8 / klas 1+2 / klas 3+4 / klas 5+6), op het terrein van informatica en computational thinking. De leerlingen krijgen 45 minuten om deze opgaven te maken. De wedstrijd wordt jaarlijks gehouden in november, en na enkele weken volgt dan de uitslag. De beste 50 leerlingen per niveau mogen naar de landelijke finale. Die wordt dan in het volgende voorjaar gehouden op één van de technische universiteiten
De opgaven hebben te maken met algoritmen, logica, schakelingen (<=), reeksen, doolhoven, enz. Ze zijn een mooi middel om te zien welke leerlingen interesse en/of talent hebben voor informatica. Je kunt de opgaven klassikaal nabespreken en zo gebruiken als lesmateriaal. Zelf gebruik ik regelmatig opgaven van de Beverwedstrijd voor bijv. de lessen over algoritmen.
Ik was wel erg trots toen dit jaar bleek dat mijn jongste zoon (=>) de opgaven foutloos had gemaakt! En dat terwijl we thuis echt niet zoveel over informatica praten. Ik mag dus komend voorjaar als vader mee naar de finale :-D
8 december 2022
Op WikiWijs staat een lessenserie Programmeren in het PO. De makers, in opdracht van Kennisnet, zien dit als een goede invulling van computational thinking, maar het is misschien wel een beetje eenzijdig.
Mooi aan deze serie is dat ze beginnen bij alledaagse algoritmen, de verschillende onderdelen van ct bij langs gaan (decompositie, patronen, herhaling, enz.) en veel unplugged lessen hebben toegevoegd.
De lessen zijn geschreven voor het PO, maar veel van de unplugged activiteiten kun je met een beetje aanpassen ook in het VO wel gebruiken.
Een leuk voorbeeld: het gebruik van functies bij programmeren wordt uitgelegd aan de hand van het refrein van een liedje. Je schrijft het refrein aan het begin (of na het eerste couplet) op, en bij de volgende keren hoef je alleen naar het woord 'refrein' neer te schrijven. Door dit eerst in de praktijk te doen, neem een liedje dat iedereen kent, kun je ze laten zien dat ze dat in de praktijk automatisch doen: je ziet het woord refrein, zoekt het refrein op en zingt de juiste regels. Zo werkt het ook met een functie. Je herkent de functie aan een signaal (afhankelijk van de programmeertaal, bijv. refrein() met de kenmerkende haakjes openen en sluiten) en gaat automatisch naar de code die daar bij hoort. vervolgens kun je ook parameters uitleggen met een daarvoor geschikt liedje.
8 december 2022
Op de Guido hebben we diverse projecten op het gebied van CT ontwikkeld voor het vak LAT (Leeratelier). LAT is een vak waarin leerlingen grotendeels zelfstandig werken aan projecten. De projecten bestrijken meestal meerdere vakken en diverse (21e-eeuwse) vaardigheden. De docent is aanwezig als coach en vraagbaak. LAT vindt plaats in een grote open ruimte met allerlei verschillende werkplekken en zithoekjes.
Voor het project Het nieuwe spel zijn we uitgegaan van het principe dat spellen vaak bestaan uit veel herhaling (loops), waarbij de bijzondere situaties of uitzonderingen moeten worden afgehandeld (voorwaarden) en dat spelregels in feite algoritmen zijn die de toestanden en toestandsovergangen beschrijven. Door leerlingen zelf een nieuw spel te laten ontwerpen, of een bestaand spel te laten analyseren, oefenen ze in het herkennen van die patronen.
Na het bedenken van de regels moeten ze deze in een stroomdiagram zetten. Ze kunnen dit op papier doen of hiervoor software gebruiken (afhankelijk van hun leeftijd en vaardigheden). =>
Hier de projectkaart waarmee de leerlingen in een groepje van 2 of 3 leerlingen zelfstandig aan de slag kunnen. Ze krijgen hiervoor ongeveer 9 lesuren (3 weken) waarna ze hun zelf ontworpen spel kunnen presenteren aan de docent.
Ik heb vorig jaar diverse groepjes gehad die dit project hebben gekozen en uitgevoerd. Sommigen bedachten al snel een vrij eenvoudig spel, een soort kwartet of Uno, en speelden dat met bestaande materialen. Anderen kwamen met uitgebreide speelborden, spelfiguren en attriburen aanzetten. Leuk om dan mét de leerlingen het spel ook daadwerkelijk te spelen en zo de spelregels te testen.
8 december 2022
Op de Guido hebben we diverse projecten op het gebied van CT ontwikkeld voor het vak LAT (Leeratelier). LAT is een vak waarin leerlingen grotendeels zelfstandig werken aan projecten. De projecten bestrijken meestal meerdere vakken en diverse (21e-eeuwse) vaardigheden. De docent is aanwezig als coach en vraagbaak. LAT vindt plaats in een grote open ruimte met allerlei verschillende werkplekken en zithoekjes.
Het project Taalwonderland is een samenwerking tussen Nederlands en digitale geletterdheid. De leerlingen denken na over taal, over het ontstaan van taal en het onstaan van nieuwe woorden. De leerlingen brainstormen over woorden en kiezen samen een woord waarmee ze aan de slag willen. Ze schrijven een betekenis, gaan een eigen lettertype maken om het woord mee af te drukken (=>) en gaan aan de slag met een presentatievorm.
Hier de projectkaart waarmee de leerlingen in een groepje van 2 of 3 leerlingen zelfstandig aan de slag kunnen. Ze krijgen hiervoor ongeveer 9 lesuren (3 weken) waarna ze hun zelfbedachte woord kunnen presenteren aan de docent.
Bij mij en bij andere docenten hebben een aantal groepjes dit project vorig jaar gekozen. Daar kwamen af en toe heel creatieve woorden uit. Eén groepje had meer tijd genomen en een uitgebreidere woordenschat bedacht. Ze converseerden ook echt in een mix van Nederlands en hun verzonnen taal.
8 december 2022
Op de Guido hebben we diverse projecten op het gebied van CT ontwikkeld voor het vak LAT (Leeratelier). LAT is een vak waarin leerlingen grotendeels zelfstandig werken aan projecten. De projecten bestrijken meestal meerdere vakken en diverse (21e-eeuwse) vaardigheden. De docent is aanwezig als coach en vraagbaak. LAT vindt plaats in een grote open ruimte met allerlei verschillende werkplekken en zithoekjes.
Het project Digitaal verhaal is ontwikkeld door mijn collega Jacqueline voor de Radboud Universiteit Nijmegen. Ik heb het project samen met haar getest binnen LAT. Bij dit project gaat het om het schrijven van een script voor een verhaal in een moderne vreemde taal, en het programmeren van dat verhaal in Scratch. Daarbij moeten de leerlingen zowel het beeld programmeren als de taalfragmenten inspreken en toevoegen. Voor het bedenken van het verhaal en het schrijven van het script krijgen ze een boekje. Bij het programmeren in Scratch krijgen ze een handleiding (zie illustratie =>).
Het gaat hier om verschillende concepten van computational thinking: algoritme, decompositie, patronen en herhaling.
Hier de projectkaart waarmee de leerlingen in een groepje van 2 of 3 leerlingen zelfstandig aan de slag kunnen. Ze krijgen hiervoor ongeveer 9 lesuren (3 weken) waarna ze hun verhaal kunnen presenteren aan de docent.
Bij mij en een andere collega hebben een aantal groepjes dit project afgelopen schooljaar gekozen. Niet alle groepjes hebben het afgemaakt. Ze hadden gekozen voor het project omdat ze zin hadden om met Scratch te werken, maar vonden het best ingewikkeld dat ze eerst zoveel op papier moesten voorbereiden.