LVS
Digitale toetsen
Professionalisering
Blended learning E-learning trends en ontwikkelingen
Rekenen
Dyscalculie Verbeteren rekenvaardigheid mbo
Taal
Game Interactieve Fictie Vroege ontwikkeling geletterdheid ICT-vroege geletterdheid Verhaalbegrip kleuters met ICT
Leren
Adaptieve software Blended learning Cognitieve balans Onderzoekend leren Kwaliteit leermateriaal Effectiever onderwijs Edutainment Blended learning effect E-portfolio’s Burgerschap games Verbeteren leerprestaties ICT differentiatie Programmeren 2 Programmeren 1 Mythe van leerstijlen
Lezen
Lezen met lees-app Ontluikende geletterdheid ICT oplossing problemen lezen Digitale leeskilometers groep 3
Middelen
Computerapplicaties Digitaal schoolbord ICT-beleidsplan Leren in 2020 - 1 ICT in kindcentra Leren in 2020 - 2 Onderwijs en ICT Werking en beperking
Problemen
Cyberpesten Digitale dementie Digitale media en kinderhersenen Problematisch internetgedrag Kleuters en iPads
ICT
Digitale leermiddelen Digitale geletterdheid vo ICT-innovatie Tablet in het onderwijs Nieuwsgierigheid computergames Integreren in klassenpraktijk Buitenschoolse mediagebruik Jonge kinderen en tabletgebruik Digitale gymles Opleiding ICT beheerder
Verder kijken
ict onderwijs digitale vaardigheden ICT rekenen software internet informatie zoeken kennis learning analytics samenwerkend leren metacognitieve vaardigheden tutor scaffolding multimedia beeld geluid audio multimedia geheugen ict multimedia geheugen ict effectief leren multimedia geheugen ict effectief leren bronnen multimedia geheugen zelfsturing ict opbrengstgericht werken digitaal leerlingvolgsysteem professionalisering ict praktijk serious games beroepsonderwijs synchroon coachen opleiding leraren tekst schrijven outline tool toetsen leerlingvolgsysteem opbrengsten TPACK ICT integratie onderwijs typen schrijven typecursus lezen videovoorbeelden ict effect animatie leerproces instructie video

 

Leren denken als een programmeur

Marléone Goudswaard

Ontwikkelaar en adviseur bij CED-groep

 

m.goudswaard@cedgroep.nl

  Geplaatst op 23 januari 2017

Goudswaard, M. (2017) Leren denken als een programmeur.
Geraadpleegd op 27-03-2017,
van http://wij-leren.nl/leren-denken-als-een-programmeur.php

Deel 1 Digitale bouwvakkers

Niet iedereen zal de ambitie hebben om programmeur te worden of de competenties ontwikkelen om programmeur te kunnen worden. Hoe dan ook kunnen we veel leren van de manier van denken die een programmeur toepast.

  • Willen kinderen in de toekomst hun leefwereld nog kunnen begrijpen, dan is kennis van technologie van groot belang.
  • Denken als een programmeur helpt ons bij het oplossen van problemen en vraagstukken waarmee we nu en in de toekomst geconfronteerd worden.

Afbeelding 1 Het vakmanschap van een programmeur is waardevol voor de denkontwikkeling van kinderen.

Onze leef- en leeromgeving verandert

De omgeving waarin we leven, wordt steeds digitaler. Als je goed om je heen kijkt in de klas, zou je dat al kunnen zien:

  • een smartphone;
  • horloge;
  • luchtklimaatregeling;
  • digibord;
  • automatische zonwering.

Allemaal digitale toepassingen die voor veel gemak zorgen. In de toekomst wordt dit alleen maar meer.  Allerlei vormen van communicatie, entertainment, het gaat digitaal worden.

IoT (Internet of Things) zal zorgen voor een overvloed aan data op basis waarvan beslissingen moeten worden genomen. Willen kinderen in de toekomst hun leefwereld nog kunnen begrijpen, dan is kennis van technologie van groot belang. Dit is dan ook één van adviezen die door het Platform Onderwijs2032 is uitgebracht.

Bouwvakkers van de toekomst

Programmeurs zijn de digitale bouwvakkers van de toekomst. Het is een ambacht waarbij het gezegde ‘Oefening baart kunst’ goed past. Door veel toewijding, doorzettingsvermogen en leren van eigen fouten, maken programmeurs zich hun vak eigen. In de klas kan je het leren verrijken met de kennis die we hebben over het denken als een programmeur.

Coderen, programmeren, computational thinking… wat is het?

Als het in het onderwijs gaat over het beter leren begrijpen van de digitale wereld, worden de begrippen programmeren en coderen regelmatig genoemd.

Programmeren is het schrijven van een programma in een programmeertaal. Het programma bevat instructies die er samen voor zorgen dat een computer bepaalde taken uitvoert.

Vroeger (zo’n 20 jaar geleden) moest zo’n in tekst geschreven programma handmatig vertaald worden in machinecode, het zogenaamde coderen, zodat de computer de taken uit kon voeren. Tegenwoordig wordt dit proces uitgevoerd door assemblers en compilers (computerprogramma’s) en worden de begrippen programmeren en coderen haast als synoniemen gebruikt. 

Naast programmeren, komt ook computational thinking als nieuw begrip in het onderwijs voor. Hierbij gaat het om het denkproces dat de basis vormt voor het programmeren.  Jeanette Wing (2006) omschrijft het als volgt:

‘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 informatie verwerkend tussenpersoon, zoals een computer of een mens, of een combinatie van beide.’

De nadruk ligt bij computational thinking dus op de manier van denken die een programmeur toepast om tot een oplossing te komen. Jan Geert Hek, programmeur en eigenaar van Qtopia: ‘Computational thinking is te vergelijken met de elektriciteit, die nodig is om de lamp, het feitelijke programmeren, te laten branden.’

Afbeelding 2

De kip of het ei?

Hoewel we niet precies weten wat de onderlinge invloed is van denkvaardigheden en leren programmeren, laten beide uitspraken zien dat het twee kanten op kan werken. Of zoals we lazen op een poster van Loesje: ‘De kip of het ei, in een goeie soep zitten ze allebei’.

Afbeelding 3

Computational thinking, oftewel denken als een programmeur, ondersteunt aan de ene kant kinderen bij het programmeren. Maar ook als kinderen niet gaan programmeren, kan het mogelijk de ontwikkeling van het denken ondersteunen.

Waarom zou je met kinderen gaan denken als een programmeur?

Computational thinking helpt ons bij het oplossen van problemen en vraagstukken waarmee we nu en in de toekomst geconfronteerd worden.


Afbeelding 4

  • Focus op de essentie
    Om een situatie goed te begrijpen of een vraagstuk op te lossen, zijn niet alle omstandigheden of onderdelen even belangrijk. Onbelangrijke details weglaten en focussen op de essentie maakt dat je tot een oplossing komt die het probleem écht oplost.
  • Van complex naar behapbare stukjes
    Sommige problemen zijn zo complex, dat je ze niet op kunt lossen. Als je het probleem opdeelt in heel veel kleine problemen, kun je die één voor één oplossen. Dit is een handige strategie om complexe vragen aan te kunnen, ook als je niet programmeert.
  • Overeenkomsten en patronen
    Hoewel iedere situatie, vraagstuk of probleem verschillend is, zijn er ook overeenkomsten. Juist door naar de overeenkomsten te kijken en patronen te herkennen, kun je gebruik maken van oplossingen die al eerder zijn bedacht voor soortgelijke vragen. En als je patronen achter problemen goed doorziet, kan je ook oplossingen toepassen die voor een heel andere situatie zijn bedacht.
  • Efficiënte routines
    Met vaste instructies en precieze stappenplannen lossen geprogrammeerde apparaten vraagstukken snel en effectief op. Als je weet dat in technologie deze routines zijn toegepast, helpt je dat beter begrijpen hoe een apparaat werkt. Bijvoorbeeld weten hoe een zoekmachine resultaten sorteert.
  • Grote hoeveelheden data
    Door de toenemende technologie komen er steeds meer data beschikbaar waarover beslissingen moeten worden genomen. Kinderen zullen zelf ook steeds meer voor keuzes komen te staan als het gaat om datagebruik. We kunnen ze hier op voorbereiden door verschillende typen data te herkennen en hen gegevens te leren ordenen.

Concept boven tooling

Technologie komt meer en meer de klas in, en maakt deel uit van de dagelijkse leeromgeving van kinderen. In steeds meer klassen spelen kinderen enthousiast met programmeerbaar speelleermateriaal.


Afbeelding 5 Kinderen leren technologie al doende begrijpen en ervaren de lol van het zelf ontwerpen en maken.

Spelen, experimenten en leren gaan hand in hand

Ze ervaren onder meer dat je een computer heel precies opdrachten moet geven, omdat een computer alleen uitvoert wat jij zegt. Zo kan je een robot bijvoorbeeld een parcours af laten leggen en ontdek je wanneer je opdracht verkeerd was; de robot raakt dan van het parcours af.

Leerlingen maken kennis met coderen, het geven van instructies in een taal die de computer begrijpt, bijvoorbeeld met commando blokjes.

In programmeertaal is minder ruimte voor ruis

Programmeertaal kan in het onderwijs als middel ingezet worden om computational thinking concreet te maken. Het is een abstracte taalvorm die minder ruimte overlaat voor ruis dan gewone taal. Volgens Wim Ligtendag (programmeur en mede eigenaar van GISfabriek) kan dit verrijkend zijn voor de ontwikkeling van het denken:

‘Met programmeertaal kan je kinderen laten ervaren dat je dingen ook op een andere, eenduidiger manier kan uitdrukken dan met gewone taal.’

Plugged en unplugged

Computational thinking kun je zowel met als zonder programmeertools oefenen. Als je kinderen de denkprocessen laat toepassen zonder technologie te gebruiken, wordt dit ook wel ‘unplugged’ genoemd.

Met programmeertools ervaren kinderen de lol van het ontwikkelen; ze zien meteen hoe het zelfbedachte concept leidt tot zelfgemaakte software. Een voorbeeld van een tool waarmee dit kan is TouchDevelop. In deze tool ontwerpen leerlingen zelf een app.


Afbeelding 6

Het gevaar bestaat dat door al deze ‘leuke’ dingen de concepten ongemerkt naar de achtergrond verdwijnen. Wing (2008) waarschuwt hiervoor: de tool moet volgens haar niet het begrijpen van het concept in de weg staan.

Ook Jan Geert Hek en Wim Ligtendag benadrukken het belang van concept boven tooling. De nadruk ligt daarbij niet op het coderen, maar op de denkvaardigheden die een programmeur inzet. Als je de nadruk teveel legt op de tools, dan verdwijnen de concepten achter het speeltje volgens de programmeurs.

Leerlijn als rode draad

Een leerlijn geeft richtlijnen voor het aanbod. Met een leerlijn kan je als leerkracht de rode draad vasthouden bij het leren begrijpen en toepassen van concepten.

De gekozen werkvormen en materialen zijn een middel om die doelen te bereiken, dit geldt voor zowel programmeertools als voor unplugged werkvormen.

Leren denken als een programmeur

Ook al worden leerlingen niet allemaal zelf een digitale bouwvakker, als zij begrijpen hoe een programmeur denkt, zijn zij beter in staat om te begrijpen hoe digitale oplossingen in elkaar zitten. En als het nodig is, kunnen zij gereedschap van de programmeur lenen om complexe vraagstukken op te lossen. Door te denken als een programmeur.

In deel 2 maak je kennis met een vijftal denkprocessen die essentieel zijn voor het werk van een programmeur:

  • patroonherkenning;
  • algoritmen;
  • decompositie;
  • abstractie;
  • data en classificatie.

Je ziet hoe je deze denkprocessen in de klas toepast met concrete voorbeelden uit de leerlijn.


Afbeelding 7



Met dank aan Wim Ligtendag (GISfabriek) en Jan Geert Hek (Qtopia).
 

Bronnen

Goudswaard, M. (2017) Leren denken als een programmeur.
Geraadpleegd op 27-03-2017,
van http://wij-leren.nl/leren-denken-als-een-programmeur.php

Gerelateerd

Beloftes en bullshit over ICT en onderwijs
Beloftes en bullshit over ICT en onderwijs
Casper Hulshof bespreekt onderzoek en onzin over ICT in het onderwijs
Eduseries 
Effectiever onderwijs
Hoe gerichte inzet van ICT leidt tot effectiever onderwijs
Jos Cöp
Digitale leermiddelen
Differentiëren met digitale leermiddelen
Wijnand Gijzen
Digitaal schoolbord
De kracht van het digitaal schoolbord
Jos Cöp
Blended learning
Grenzen verleggen met blended learning
Sylvia Peters
Digitale didactiek
Tien pijlers van digitale didactiek
Wilfred Rubens
Programmeren 2
Leren denken als een programmeur - De vijf denkprocessen in één leerlijn
Marléone Goudswaard
E-learning trends en ontwikkelingen
E-learning. Trends en ontwikkelingen
Wilfred Rubens

Adaptieve software
Wat biedt een adaptieve leeromgeving en welke rol heeft de leraar dan?
Blended learning effect
Wat is het effect van blended lesmateriaal op onderwijsresultaten in het voortgezet onderwijs?
Cyberpesten en andere digitaal ongewenst gedrag
Wat zijn effectieve interventies om digitaal ongewenst gedrag in het onderwijs tegen te gaan?
Online-oefenprogramma's
Hoe en hoe vaak zou je een leerling moeten belonen in een online oefenprogramma om de leerling zo goed mogelijk te motiveren ...
Tablet in het onderwijs
Wat zijn de leeropbrengsten van tabletgebruik in de basisschool?
Jonge kinderen en tabletgebruik
Is het wenselijk om tabletgebruik door jonge kinderen af te stemmen op hun lichamelijke kenmerken of ontwikkeling?
Game Interactieve Fictie
Gebruik game Interactieve Fictie (IF) in het taalonderwijs
Digitale leeskilometers groep 3
Leesvaardig door digitale leeskilometers in groep 3: Differentiatie door inzet van ICT
Effecten digitaal leermiddel
Effecten van een digitaal leermiddel bij het leren lezen
Digitale gymles
Terugkijken met een tablet: De opbrengsten van de digitale gymles
Gebruik animaties po
Gebruik van animaties in basisonderwijs
Animaties taal po
Gebruik van animaties bij taal in basisonderwijs
Animaties rekenen po
Gebruik van animaties bij rekenen in het basisonderwijs
Animaties natuur po
Gebruik van animaties bij natuuronderwijs in het basisonderwijs
Computergames wiskunde
Gebruik van computergames bij wiskunde in het beroepsonderwijs
Invloed leeromgeving vo
Invloed van leeromgeving op motivatie, zelfregulering en prestaties van potentieel excellente studenten
Schrijf in voor de nieuwsbrief
Schrijf in voor de nieuwsbrief
Schrijf in voor de nieuwsbrief
Schrijf in voor de nieuwsbrief
[extra-breed-algemeen-kolom2]

Programmeren 1



Inschrijven nieuwsbrief


Volg wij-leren.nl

Volg ons op LinkedIn Volg ons op twitter Volg ons op facebook

Mis geen bijdragen.