1.Inleiding
Het tijdperk van de digitalisering is doorgedrongen in alle hoeken van onze samenleving, deze veranderingen zijn op dit moment nog steeds bezig. De ontwikkelingen van het digitale tijdperk maakt duidelijk dat het voor ons duidelijk dat het belangrijk is om goed met een computer om te kunnen gaan en te weten wanneer een computer gebruikt kan worden om een probleem om te lossen. In het onderzoek wat Margeret Wing in 2006 heeft uitgevoerd, wordt de noodzaak benadrukt dat iedereen vaardigheden ontwikkelt die worden samengevat als Computational Thinking (CT).
Volgens Wing, is Computational Thinking een probleem oplossend proces dat uit een verzameling mentale processen en gereedschappen bestaat, die afkomstig uit de informatica. Computational Thinking wordt daarbij genoemd als een basis vaardigheid, net zoals schijven en rekenen was ten tijde van de 20e eeuw.
Volgens Barr en Stephenson (2011) vallen op grond van Wing (2006) de volgende activiteiten onder Computational Thinking: het aanpakken van de probleemgebieden op een algoritmische wijze en te wisselen tussen de verschillende abstractie niveaus en representatie, weten wat decompositie is, en modulariteit. Verder dan het geven van een beschrijving wat Computational Thinking is en de noodzaak er van gaat Wing niet, er wordt verder geen definitie van gegeven.
In Wing (2010) wordt wel een definitie gegeven van Computational Thinking:
“Computational Thinking is the thought processes involved in formulating problems and their solutions so that the solutions are represented in a form that can be effectively carried out by an information-processing agent.” (Wing, Research Notebook: Computational Thinking: What and Why, 2011)
Eigenlijk gaat Computational Thinking over het herformuleren van een probleem op een zodanige manier dat het mogelijk wordt deze effectief te laten oplossen door een informatie systeem. Een informatie systeem wordt hierbij heel breed opgevat en hoeft het niet alleen over een computer te gaan, een mens kan net zo goed een informatie verwerkend systeem zijn. Barr en Stephenson (Barr & Stephenson, 2011) voegen op grond van Wing‟s artikel uit 2006 de volgende activiteiten onder Computational Thinking: het zoeken van algoritmische aanpakken bij probleemgebieden, een bereidheid om te wisselen tussen verschillende niveaus van abstractie en representatie, bekendheid met decompositie, „separation of concerns‟ en modulariteit. In figuur 1 is een overzicht te zien van het probleem oplossend proces waar Computational Thinking een rol in speelt:
Fig. 1
1.1 Informeel
Computational denken beschrijft dus het mentale proces van het (her)formuleren van een probleem wat een computabele oplossing heeft. Deze oplossing kan door een mens of door een computer worden uitgevoerd, of door een combinatie van mens en machine. Wanneer ik aan de term Computational Thinking denk, is dat in mijn interpretatie de woorden “probleem” en oplossing”. Dit hoeft niet alleen wiskundig van aard te zijn maar kunnen echte problemen zijn en oplossingen bieden voor grote complexe softwaresystemen. Computational Thinking overlapt dus met logisch systeem- en algoritmisch denken. Computational Thinking wordt gebruikt voor het ontwerpen en analyseren van problemen en oplossing en wordt daarbij ruim geïnterpreteerd. Het belangrijkste in Computational Thinking is het abstractie proces. Het abstractie proces wordt gebruikt bij het zoeken naar en vaststellen van patronen, en het generaliseren en parametrering.
Computational Thinking heeft inmiddels al invloed op de onderzoeksagenda van wetenschap en techniek weten te krijgen. Deze begint decennia terug door het gebruik van computermodellen en het gebruik van datamining en machine learning om grote hoeveelheden data te analyseren. Computational Thinking is ook begonnen om disciplines en beroepen buiten de wetenschap te beïnvloeden. Bijvoorbeeld geneeskunde, archeologie, economie, financiële beroepen, journalistiek, sociale en geesteswetenschappen. Data-analyse wordt gebruikt het detecteren van SPAM en creditcardfraude, aanbeveling en reputatiediensten en het personaliseren van supermarkt coupons.
1.2 Doelstelling
In dit hoofdstuk wordt de aanleiding van het onderzoek (1.3) beschreven. Dit leidt tot het definiëren van de doelstelling van dit onderzoek (1.4). De probleemanalyse en de uiteindelijke onderzoeksvraag wordt beschreven in 1.5 en 1.6.
1.3 Aanleiding onderzoek
Het onderwijs binnen het ICT college van Zadkine is zo opgebouwd dat studenten veel zelfstandig moeten werken aan opdrachten. Het lesmateriaal wat gebruikt wordt biedt niet voldoende steun om het programmeren goed aan te leren en vereist een nieuwe aanpak.
De vraag is hoe het aanleren van programmeren en logisch denken verbetert kan worden en wat daar aan gedaan moet worden. Bij het vergelijken van les situaties werd het duidelijk dat er in elke groep een aantal leerlingen zitten die niet voldoende mee kunnen komen met de lessen opleiding Applicatie programmeur en hebben onvoldoende basiskennis om de stof zelf eigen te maken. Het onderzoeken van een nieuwe methode die studenten wel handvatten biedt om problemen te formuleren en om te zetten in een algoritmisch denkwijze, is daarbij van belang.
1.4 Doelstelling onderzoek
Het doel van dit onderzoek is te beoordelen of Computational Thinking bekendheid heeft bij de docenten in het Techniek College Rotterdam, in welke mate dat is en om te onderzoeken of Computational Thinking handvatten kan bieden om vaardigheden te leren dat helpt in het kunnen herformuleren van problemen om daarna de oplossing door mens of machine uit te laten voeren.
1.5 Probleemanalyse
Studenten die een opleiding Applicatie programmeur bij ons volgen, zijn niet met voldoende handvatten uitgerust wanneer ze aansluiting proberen te vinden met het tweede leerjaar of met het beroepenveld tijdens de stageperiode. Docenten van het tweede leerjaar merken op dat zij onvoldoende over benodigde kennis en vaardigheden beschikken om te kunnen starten met het leerplan van het tweede jaar. Ook uit evaluatie gesprekken met praktijkopleiders is op te maken dat aansluiting met het beroepenveld moeizaam verloopt. Waarschijnlijk heeft dat te maken met het ontbreken van een benodigde denkwijze en oplossend vermogen. Studenten leren op school eerder een soort “trucje” om zo door de leerstof heen te komen dan dat zij goed de beginselen van het programmeren leren en de vaardigheden die daarvoor nodig zijn.
Computational Thinking richt zich op de vaardigheden om problemen op te lossen waar veel informatie, variabelen en rekenkracht voor nodig is. Het gaat daarbij om een verzameling denkprocessen, zoals logisch redeneren, patroonherkenning en systematisch denken. De student leert dit door technologie te gebruiken, bijvoorbeeld door kennis te maken met programmeren, te werken met robotica en te experimenteren met 3D-printing. Zulke activiteiten wekken de interesse van de studenten en geven ze voldoende basis mee om zich, desgewenst, in deze richting te specialiseren. Studenten kunnen dergelijke kennis en vaardigheden ook opdoen zonder technologie, bijvoorbeeld door middel van zogeheten ontwerpend denken en leren.
1.6 Onderzoeksvraag
Hoofdvraag
• “Is het onderwijs van het Techniek College Rotterdam afgestemd op het concept Computational Thinking en in welk mate wordt toegepast in de lessen?”
Deelvraag
• “Kan Computational Thinking een bijdrage leveren in het verbeteren van essentiële vaardigheden die studenten nodig hebben om goed aan te kunnen sluiten op het beroepenveld”.
Om antwoord te krijgen op deze vragen heb ik een enquête uitgezet onder de studenten, tevens heb ik een aantal interviews afgenomen bij docenten en een student voor validiteit op de gegeven antwoorden.
2. Theoretisch kader
Computational Thinking in het onderwijs
Aansluitend op het werk van Wing hebben de International Society for Technology in Education (ISTE) en de Computer Science Teacher Association (CSTA) een definitie opgesteld voor CT in het basis- en middelbaar onderwijs in de Verenigde Staten (ISTE; CSTA, 2011). De operationele definitie die het ISTE/CSTA geven is tweeledig: Ten eerste is CT een probleem oplossend proces dat de volgende karakteristieken heeft (maar niet gelimiteerd is tot deze karakteristieken): – Het formuleren van problemen op een zodanige manier dat het mogelijk wordt om een computer of ander gereedschap te gebruiken om het probleem op te lossen. – Het logisch ordenen en analyseren van data. – Het representeren van data door middel van abstracties zoals modellen en simulaties. – Het automatiseren van oplossingen door middel van algoritmisch denken – Het identificeren, analyseren en implementeren van mogelijke oplossingen met als doel de meest effectieve en efficiënte oplossing te vinden. – Het generaliseren en verplaatsen van dit probleem oplossend proces naar een grote variatie aan problemen. Daarnaast worden deze karakteristieken aangevuld door een verzameling attitudes die degene die CT beheerst dient te hebben. Deze attitudes behelzen:
– Met vertrouwen om kunnen gaan met complexiteit
– Het hebben van doorzettingsvermogen bij lastige problemen
– Het vermogen te kunnen omgaan met ambiguïteit
– Het vermogen te kunnen omgaan met open problemen
– Het vermogen met anderen te communiceren en te werken om een gezamenlijk doel te bereiken.
Deze definitie wordt door het ISTE/CSTA verder uitgewerkt tot een vocabulaire, die bestaat uit negen onderwerpen die samen alle aspecten van CT bevatten. Bij elk onderwerp wordt een voorbeeld gegeven, waardoor een duidelijk overzicht ontstaat van de verschillende onderdelen en hun invulling. Het vocabulaire wordt vergezeld door een progression chart. In dit document wordt verder een begrippenlijst, in het document „vocabulaire‟ genoemd, van CT gegeven waarin een operationele definitie van CT wordt uitgewerkt tot negen onderwerpen. Deze onderwerpen zijn alle aspecten van CT die ook beschreven zijn in de operationele definitie, maar daar nog impliciet waren. Dit vocabulaire is dus de operationele definitie van CT zoals die hierboven is gegeven, maar dan opgedeeld in negen onderwerpen. Naast dit vocabulaire bevat het document nog een „progression chart‟ die per onderdeel uit het vocabulaire aangeeft welk niveau een leerling op dat onderdeel moet hebben op welke leeftijd. Figuur 2 (ISTE; CSTA, 2011) is een voorbeeld van een deel van het vocabulaire met progression chart, waarbij van het onderdeel Data collection de definitie en de progression chart tot klas 5 wordt weergegeven. De hele progression chart geeft voorbeelden tot klas 12.
fig. 2
In de tabel wordt een overzicht gegeven van de onderdelen van CT die in het vocabulaire worden genoemd met daarbij een definitie en een voorbeeld. De definitie is uit het vocabulaire uit de Teacher Resources gehaald en het voorbeeld komt uit de progression chart van hetzelfde document, zoals hierboven in figuur 2 te zien is.
Aspect Definitie Voorbeeld
Data Collection Proces van het verzamelen van relevante informatie Het verzamelen van informatie via experimenten, interviews, enquêtes of literatuurstudie.
Data Analysis Begrijpen van data, vinden van patronen trekken van conclusies. Het evalueren van grafieken of het toepassen van relevantie statistische methodes.
Data Representation Selecteren en organiseren van informatie in relevante grafieken, tabellen, woorden en plaatsjes. Het maken van grafieken van data, het selecteren van de effectiefste representatie uit een verzameling van representaties en het manipuleren van conclusies door middel van het selecteren van een bepaalde vorm van representatie.
Problem Decomposition Opdelen van een taak in kleineren, behapbare taken. Het opdelen van een lange lijst met opdrachten in subcategorieën en het plannen van een project door middel van deelprojecten.
Abstraction Reduceren van complexiteit om de algemene concepten over te brengen. Het vergelijken van twee verschillende concepten op algemene ideeën.
Algorithms & Procudures Opstellen van een serie van geordende stappen om een probleem op te lossen of een bepaald doel te bereiken. Het beschrijven van een route van A naar B.
Automation Saaie en repetitieve taken laten uitvoeren door computers. Barcodes en kassa’s.
Simulation Representeren of modelleren van een proces, of het uitvoeren van een experiment door middel van modellen. Het uitvoeren van een routebeschrijving om te controleren of die klopt.
Parallelization Organiseren van middelen op een dergelijke wijze dat het mogelijk wordt om ze simultaan in te zetten om een gezamenlijk doel te bereiken. Het maken van een planning en het toewijzen van taken aan de teamleden tijdens een project.
Als laatste worden in de Teacher Resources nog negen Computational Thinking Learning Experiences (CTLE‟s) weergegeven. Dit zijn lesplannen waarin Computational Thinking is geïntegreerd. De lesplannen zijn bedoeld voor verschillende vakgebieden en voor verschillende leeftijden. Op elke pagina van de lesplannen staat een kolom aan de rechter kant waarin de besproken aspecten van CT worden aangeven.
Defenitie
De definities van Wing (2010) (2006) en de definitie van het ISTE/CSTA (2011) hebben op een aantal punten overlap. Beide definiëren Computational Thinking als een mentaal proces dat hoort bij het probleem oplossend vermogen. Daarnaast zijn de punten over decompositie, abstractie, representatie en algoritmisch denken uit de beschrijving van Wing (2006) vergelijkbaar met de punten over automation, problem decomposition, abstraction, data representation en algorithms & procedures uit de definitie van het ISTE/CSTA (2011). Ook in de definitie van Wing (2010) zijn overeenkomsten te vinden met de definitie met ISTE/CSTA. Hier zijn de twee partijen het er voornamelijk over eens dat het beoordelen van de berekenbaarheid van een probleem een karakteristiek is van Computational Thinking . Als definitie in dit onderzoek zal de operationele definitie van het ISTE/CSTA (2011) gebruikt worden. Er is voor deze definitie gekozen omdat deze ontwikkeld is voor het onderwijs, duidelijk is afgebakend en explicieter is dan de definitie van Wing. Deze karakteristieken zorgen ervoor dat de definitie beter bruikbaar is om determinanten van Computational Thinking vast te stellen in dit onderzoek.
2.1 Bloom’s taxonomie
Forehand (2010) beschrijft dat Benjamin S. Bloom een groep docenten heeft geleid in een ambitieuze taak om educatieve doelen te classificeren, met de bedoeling een methode te ontwikkelen om de belangrijke processen voor leren te kunnen classificeren. Dit heeft geleid tot een taxonomie op drie domeinen: het cognitieve domein, het affectieve domein en op het psychomotorische domein. Bloom et al (1956) is het resultaat van acht jaar studie naar dit onderwerp. Voor het onderzoek dat hier besproken wordt, is enkel de taxonomie op het cognitieve domein interessant, dus vanaf nu zal enkel daarover gesproken worden als het gaat over Bloom‟s taxonomie. Anderson heeft in 2001 leiding gegeven aan een nieuwe groep onderzoekers die een actualisatie van Bloom‟s taxonomie hebben uitgevoerd (Anderson, Krathwohl, & Bloom, 2005). In dit onderzoek zal deze geactualiseerde taxonomie gebruikt worden. De taxonomie bestaat uit zes oplopende niveaus: onthouden, begrijpen, toepassen, analyseren, evalueren en creëren. Deze niveaus zijn hiërarchisch, wat wil zeggen dat wanneer een student het tweede niveau beheerst, deze ook het eerste niveau beheerst. De niveaus worden als volgt gekarakteriseerd: (Forehand M. , 2010):
– Onthouden: het herkennen en herinneren van kennis uit het lange termijn geheugen.
– Begrijpen: het construeren van betekenis uit berichten doormiddel van interpretatie, classificeren, samenvatten, vergelijken en uitleggen.
– Toepassen: het afhandelen van een procedure door uitvoering of implementatie.
– Analyseren: materiaal in consistente delen opdelen, bepalen hoe de verschillende onderdelen zich tot elkaar of een structuur of doel verhouden.
– Evalueren: Beslissingen maken gebaseerd op criteria en standaarden doormiddel van nakijken en kritiek leveren
– Creëren: Elementen samenvoegen om een coherent en functioneel geheel te vormen; elementen reorganiseren in een nieuw patroon door middel van genereren, plannen of produceren. In figuur 3 wordt de taxonomie grafisch weergegeven (Anderson, Krathwohl, & Bloom, 2005). Deze taxonomie wordt in dit onderzoek gebruikt om de gevonden aspecten van CT in de lesmaterialen te classificeren op hun niveau en doel.
…