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.

Fig. 3

2.2 Motivatie onderwerp keuze

Computational Thinking is een deel van de nieuwe geletterdheid van de 21e eeuw. Het stelt iemand in staat om berekeningen te buigen naar eigen behoeften. En waarom zouden we dat maar een beetje leren als we er allemaal goed in kunnen worden? Om die reden heb ik gekozen voor dit onderwerp. Het spreekt mij aan en ik zou het graag in ons onderwijs een vaste plek willen geven. Ik ben er van overtuigd dat Computational Thinking voor onze studenten het volgende kan betekenen en daardoor een hele belangrijke bijdrage kan leveren in de (programmeer) ontwikkeling:

– Begrijpen dat aspecten van een probleem vatbaar zijn voor de berekening

– Gegevens logisch organiseren en analyseren

– Gegevens representeren door middel van abstracties zoals modellen en simulaties

– Het oplossen mogelijk te maken door algoritmisch te denken (denken in een reeks geordende stappen)

– Identificeren, analyseren en implementeren van mogelijke oplossingen met als doel het vinden van de meest efficiënte en effectieve combinatie van stappen en hulpmiddelen

– Generaliseren en overbrengen (transfer) van dit proces van probleem oplossen naar een breed scala van problemen in andere leerdomeinen

– Het evalueren van de overeenkomst tussen berekening gereedschappen, technieken en een probleem.

– Het begrijpen van de beperkingen en de kracht van berekening gereedschappen en technieken.

– Het herformuleren van problemen die vatbaar zijn voor nieuwe strategieën.

– Het ontdekken van nieuwe wetenschap door analyse van grote hoeveelheden data.

– Het uit kunnen leggen van problemen en oplossing in Computationale termen.

Ik zal voor de opdracht ICT & Innovatie een viertal lesbrieven ontwikkelen die het mogelijk maken om door middel van Computational Thinking met studenten te oefenen in het oplossen van een aantal problemen en te herformuleren, om eventueel daarna met behulp van een programmeertaal een algoritme voor te bedenken.

Het gaat hierbij om het combineren van de creativiteit van menselijk denken met de computabele kracht van computers, om daarmee antwoorden te vinden voor uiteenlopende vraagstukken in uiteenlopende disciplines.

Vaak wordt meteen gedacht aan programmeren, maar dat is slechts één van de manieren om Computational Thinking toe te passen. Net zoals je je muzikaliteit kunt inzetten om piano te leren spelen, maar ook om geluidstechnicus te worden bij concerten of onderzoek te doen naar het menselijk gehoor. Zo is Computational Thinking veel meer, breder en krachtiger dan alleen programmeren.

Het biedt een meerwaarde voor de studenten, zelfs als ze helemaal niks hebben met computers, geen exacte studie willen gaan volgen of een baan ambiëren waarin techniek een belangrijke rol speelt. Want computers en programma’s zijn niet meer weg te denken uit ons leven, ze spelen altijd en overal een rol. En analytisch denken en logisch redeneren komen in alle sectoren en profielen van pas, ook als het om analoge vraagstukken gaat.

2.3 Onderzoeksopzet

In dit hoofdstuk wordt beschreven hoe dit onderzoek is opgezet. Achtereenvolgens worden de onderzoeksmethode (2.3), de meetinstrumenten (2,5), de onderzoekseenheid (2.6), de analyse van de resultaten (2.7), anonimiteit (2.8) en de betrouwbaarheid en validatie (2.9) van het onderzoek beschreven.

2.4 Onderzoeksmethode

Het onderzoek dat is uitgevoerd betreft een gedeeltelijke programma-evaluatie. Programmaevaluatie is een onderzoekvorm, die zich richt op het beoordelen van de kwaliteit van lopende projecten of programma’s binnen een instelling of een school (Harinck, 2007). Het onderzoek richt zich op het beoordelen van een lopend project, namelijk het onderwijzen van programmeren aan studenten die een opleiding Applicatie ontwikkelaar volgen.

Het onderzoek richt zich op de vraag of het Techniek College voldoende tegemoet komt in het aanleren van programmeer concepten aan haar studenten, en te meten of Computational Thinking reeds bekend is en gebruikt wordt door de docenten. Dit wordt gedaan door zowel studenten en docenten de huidige methode te laten waarderen. We kunnen daarom spreken van een survey-onderzoekmethode. De mening van de onderzoeksgroep is belangrijk. Om de mening van de onderzoeksgroep te weten te komen is gekozen voor het bevragen van de doelgroep door middel van interviews.

In totaal zijn 4 interviews afgenomen. Drie docenten en één student hebben hun medewerking verleend aan de interviews. De student is benaderd nadat hij zich hiertoe bereid had verklaard bij het afnemen van de enquêtes. Het doel van de interviews is om de betrouwbaarheid van de antwoorden uit de enquêtes te vergroten en verdiepen.

2.5 Meetinstrumenten

Er is een enquête voor de studenten van het Techniek College Rotterdam afgenomen.

Studenten enquête

De enquêtevragen kunnen onderverdeeld worden in de volgende categorieën:

1 t/m 4: Algemene vragen naar feiten

5: Vraag met betrekking tot Computational thinking

6 t/m 8: Vragen over de huidige onderwijsvorm

9 t/m 10: Vragen over kennis en vaardigheden

2.6 Onderzoekseenheid

Bij het Techniek College Rotterdam in Spijkenisse werken in totaal 15 docenten en in totaal volgen 244 studenten een opleiding. Alleen studenten die een niveau 4 opleiding Applicatie Ontwikkelaar volgen zijn gevraagd mee te werken aan het onderzoek. Hierdoor is de onderzoekseenheid bepaald op 3 docenten en 100 studenten. De enquête is aan de volledige onderzoekseenheid aangeboden.

2.7 Analyse van resultaten

Bij analyse van de resultaten is een splitsing gemaakt tussen de resultaten van de studenten en tussen de docenten. De antwoorden op de open vragen en meerkeuzevragen zijn verzameld per subgroep. De resultaten van de meerkeuzevragen worden weergegeven door middel van aantallen per gegeven antwoord. In hoofdstuk 4 worden de belangrijkste resultaten van de enquêtes besproken aangevuld met de opbrengst van de interviews. In de bijlage zijn alle resultaten van de enquêtes (bijlage 3 en 4) en de volledige interviews (bijlage 5) opgenomen.

2.8 Anonimiteit

Bij de enquête is aangegeven dat de resultaten anoniem verwerkt worden. Hiervoor is gekozen om het risico op sociaal wenselijke antwoorden dat mogelijk een probleem vormt bij interviews en bij niet-geanonimiseerde enquêtes (Baarda, 2007) terug te brengen. Personen die vragenlijsten invullen zijn goed in staat om aangeleerde sociaal wenselijke antwoorden te geven waarvan zij denken dat het een goede indruk zal maken.

2.9 Betrouwbaarheid en validatie

Dit onderzoek betreft een gedeeltelijke programma-evaluatie en hanteert de survey-onderzoeksmethode. De onderzoekseenheid bestaat uit 100 mbo-studenten en 15 docenten van het Techniek College in Spijkenisse. Studenten hebben een enquête ontvangen. Binnen de enquête zijn bij de analyse van de resultaten verschillende splitsingen mogelijk op basis van eerdere antwoorden. Dit levert extra vergelijkingsgroepen op wat de validiteit ten goede komt.

De resultaten van de enquête leveren kwantitatieve gegevens op. Na de enquêtes zijn 4 interviews afgenomen bij 3 docenten en 1 student. Het doel van de interviews is de betrouwbaarheid van de antwoorden uit de enquête te vergroten en te verdiepen (validiteit).

3 Onderzoeksresultaten

In dit hoofdstuk worden de resultaten van het onderzoek uiteengezet. In 4.1 wordt de respons op de enquête beschreven. Vervolgens worden in hoofdstuk 4.2, 4.3 en 4.4 de respons per deelvraag weergegeven. In 4.5 zijn de belangrijkste resultaten van de aanvullende interviews opgenomen.

3.1 Respons

De onderzoekseenheid bestaat uit 100 studenten en 3 docenten van het Techniek college Rotterdam in Spijkenisse. De groep studenten hebben een enquête ontvangen.

Enquête/Interviews Studenten Docenten

verstuurd 100 3

respons 22 3

Het grootste deel van de enquête levert kwantitatieve gegevens op. De open vragen in de enquête en de interviews leveren kwalitatieve gegevens op.

3.2 Hoofdvraag

“Is het onderwijs van het Techniek College Rotterdam afgestemd op het concept Computational Thinking en in welk mate wordt het toegepast in de lessen?”

Voor de beantwoording van de hoofdvraag zijn twee vragen uit de studenten enquête van belang. Ten eerste is vraag 2 van belang op vast te stellen of de respondent weet wat Computational Thinking inhoud. Vervolgens wordt die groep studenten vraag 7 of zij zich vinden dat er een andere aanpak nodig is in de vorm van onderwijs.

Figuur 1: Respons op vraag 2

Van de in totaal 22 respondenten hebben 13 (59,9%) respondenten vraag 2 met “geen idee” beantwoord. Hieruit kan geconcludeerd worden dat de studenten niet weten wat Computational Thinking is en dat het niet in de lessen besproken of behandeld is.

Op de vraag of de studenten denken dat er een andere aanpak nodig is in het huidige onderwijs om het leren oplossen van problemen en te kunnen herformuleren naar een programmeerbare oplossing, hebben van de in totaal 22 respondenten er 12 vraag 2 (54,55%) met “Ja” beantwoord.

3.5 Interview met Docenten

Interview 1 Docent: ****

1. Hoelang werk je in het onderwijs?

7,5 jaar

2. Wat geef/gaf je voor lessen?

Software- en databaseontwikkeling

3. Heb je veel ervaring met programmeren? Zoja, hoelang al?

Ik programmeer al sinds mijn middelbare schooltijd, rond de 14e.

Ik ben begonnen met het aanpassen van scripts, en gaandeweg inzichten gecreëerd om zelf simpele applicatie te schrijven

4. Hoe ga je om met Applicatie (ontwikkelaar) studenten? Hoe zijn jouw lessen opgebouwd en wat is jouw onderwijsvisie?

Omdat ik voor mijn werk als docent bij een groot softwarebedrijf heb gewerkt (jaarlijkse omzet 5 miljoen) genaamd ISM eCompany. Bij dit bedrijf waren de processen zo goed op elkaar afgestemd, dat je als medewerker niet alleen de kennis moest hebben om goed en snel te ontwikkelen, maar ook de discipline opbrengen om volgens standaarden op een hoog niveau werk af te leveren aan veeleisende klanten.

Omdat ik de slagen van de zweep ken, probeer ik mijn studenten daarvoor de behoeden en te leren hoe je met processen omgaat, en waarom een gedegen kennis van de software- en database kennis noodzakelijk is. Ik besef me wel degelijk dat een bedrijf nabootsen in het onderwijs een erg lastige klus is, vrijwel onmogelijk is gebleken de afgelopen jaren. Dus de lessen zijn veelal thematisch opgebouwd. Per les wordt een hoofdthema grondig doorgenomen, waarna studenten aan het eind van de rit, nog voordat ze op stage mogen als vingeroefening een externe project mogen uitvoeren voor een echte klant. Dit geeft ze de authentieke gevoel van stress ervaren.

5. Hoe herken je als docent een student die goed kan programmeren, en welke vaardigheden of kennis heeft zo’n student nu beschikking over?

Ik herken een goede programmeur, maar ook gekeken vanuit de ervaring van de afgelopen jaren, aan de werkhouding. Een goede programmeur leert niet alleen in de schoolbanken. Die is in zijn vrije tijd maar met een ding bezig. Die komt de eerste schooldag doorgaans met al een heleboel zaken in zijn hoofd binnen.

Ook studenten die met weinig binnenkomen en toch doorgroeien tot doorgewinterde programmeurs maken wij mee. Deze zijn echter moeilijk in te schatten.

De goede programmeurs zijn veelal niet de beste communicatieve studenten. Vaker zien we dat de hele goede studenten of heel goed kunnen programmeren of heel goed kunnen verkopen.

Een goede programmeur blijft na de les nog een beetje napraten over wat voor geweldigs hij weer heeft gemaakt. Een goede programmeur komt naar de docent en vertelt over de laatste ontwikkelingen.

6. Wat doe je als je een student herkent die goed kan programmeren, pas je daar je lessen op aan? Zoja op welk manier?

De goede studenten krijgen onbewust altijd een extra behandeling boven het reguliere programmering. Een goede student/programmeur maakt mij als docent enthousiast en daar zet ik dan ook altijd extra stappen voor. Ik probeer de goede programmeurs altijd beter te maken en zich niet te laten beperken tot hetgeen wij als school als einddoel voorschrijven.

7. Wat maakt volgens jou een goede programmeur?

Een goede programmeur heeft logisch inzicht. En heeft vooral ook de wil om het vak te willen leren.

Heeft zeker geen 9/1700 mentaliteit. Zet zich graag belangeloos in om verder te komen. Bijt zich vast in problemen.

8. Denk jij dat vaardigheden als: oplossend vermogen, decompositie, analytisch vermogen, abstractie, nodig zijn voor een student om succesvol te zijn in het herformuleren van problemen op een zodanige manier dat daarvoor een algoritme bedacht kan worden?

Uiteindelijk zijn dat wel capaciteiten die studenten dienen te ontwikkelen.

Een goede programmeur hoeft deze vaardigheden niet perse te hebben. Het is een proces wat zich ontwikkeld. Je kunt wel enigszins achterhalen of iemand feeling heeft voor het vak door simpele rekenkundige problemen voor te leggen..

9. Ben je bekent met Computational Thinking? Zo ja: op welke manier en denk je dat het zinvol is? Zo nee: Zou je meer willen weten/leren over Computational Thinking?

Ik ben er niet heel erg bekend mee, en graag zou ik hier meer over te weten willen komen.

10. Denk je dat door de huidige lesmethode een Applicatie student goed is uitgerust met een set vaardigheden die ervoor zorgt dat hij/zij klaar is voor de toekomst? Waarom?

Naar mijn idee wel. Ik krijg vaak berichten van studenten die ergens als programmeur zijn begonnen.

Daarnaast gaan wij zorgvuldig om met het bedenken en ontwikkelen van een curriculum. Hierbij kijken we naar de plek waar studenten terecht komen en waar ze mee te maken zullen krijgen.

Interview met ******

Interview 2 Docent: ****

1. Hoelang werk je in het onderwijs?

“ Sinds 1983 ”

2. Wat geef/gaf je voor lessen?

“Biologie, scheikunde, wiskunde, informatica, office, en later meer gespecialiseerde ict vakken.”

3. Heb je veel ervaring met programmeren? Zo ja, hoelang al?

“Sinds 1983.“

4. Hoe ga je om met Applicatie (ontwikkelaar) studenten? Hoe zijn jouw lessen opgebouwd en wat is jouw onderwijsvisie?

“Een les beginnen met korte theorie (een kwartier ongeveer) daarna aangevuld met opdrachten (ongeveer 1,5 uur) naar aanleiding van die theorie. Na het zelfstandig werken afsluiten met een samenvatting van het geleerde. Elke dag aangeven welke opdrachten ingeleverd moeten worden.

Ik maak gebruik van boeken en readers, eventueel aangevuld met extra informatie van het internet, maar de structuur van het geleerde moet uit boeken en de theorieles komen. “

5. Hoe herken je als docent een student die goed kan programmeren, en welke vaardigheden of kennis heeft zo’n student nu beschikking over?

“ Een leerling die goed kan programmeren zal in de eerste instantie opvallen doordat hij vooruitschiet in de lesstof. Later merk je dan dat hij zélf het overzicht kan verkrijgen door uit boeken en van het internet te leren. Eigenlijk had de leerling dan op het HBO moeten zitten. Zelfstandig leren, en vooral overzicht krijgen over programmeertalen en technieken is wat de betere leerling onderscheidt van de anderen. Verder is een goede programmeur heel precies, zodat geen tijd verloren gaat met het oplossen van kleine foutjes.

(Op het moment dat ik aangesproken wordt met professor ga ik mijn leerlingen studenten noemen 😉 ) ”

6. Wat doe je als je een student herkent die goed kan programmeren, pas je daar je lessen op aan? Zo ja op welk manier?

“De goede leerling kan op versneld tempo door de opdrachten heen, hij mist dan de klassikale uitleg die daarbij hoort, maar die kon hij blijkbaar toch al missen.”

7. Wat maakt volgens jou een goede programmeur?

“abstract denkvermogen, creativiteit, doorzettingsvermogen, goed kunnen puzzelen, kunnen richten op hoofd- en bijzaken, overzicht hebben op de verschillende programmeertalen en technieken, maakt gebruik van systeemontwikkelmethoden en heeft geen problemen met het documenteren.”

8. Denk jij dat vaardigheden als: oplossend vermogen, decompositie, analytisch vermogen, abstractie, nodig zijn voor een student om succesvol te zijn in het herformuleren van problemen op een zodanige manier dat daarvoor een algoritme bedacht kan worden?

“ Ja, heel erg.”

9. Ben je bekent met Computational Thinking? Zo ja: op welke manier en denk je dat het zinvol is? Zo nee: Zou je meer willen weten/leren over Computational Thinking?

“ Ik ben niet goed op de hoogte van CT maar denk wel dat het zinvol is, maar dan meer op de manier dat schaken ook zinvol kan zijn voor kinderen.

Zelfs als er goed rekening wordt gehouden met het ontwikkelingsstadium van het kind of de leerling zal het moeilijk zijn om CT op een goede manier toe te passen. (Het abstracte denkvermogen komt pas op een leeftijd van 14 tot 15 jaar.) Ik denk dat het heel goed om kennis te maken en te oefenen met de stappen van CT. Maar ik denk ook dat niet alle leerlingen uiteindelijk het abstractie- en generalisatieniveau kunnen bereiken dat gewenst en noodzakelijk is. ”

10. Denk je dat door de huidige lesmethode een Applicatie student goed is uitgerust met een set vaardigheden die ervoor zorgt dat hij/zij klaar is voor de toekomst? Waarom?

“Dat hangt er van af hoe je het bekijkt. Een deel van onze leerlingen zullen alleen in staat zijn om kennis op te doen en die toe te passen, vaak is dat ook voldoende. Op dit moment is er veel werk (en stageplaatsen) te vinden voor het maken van websites. Dat is relatief eenvoudig en een minimum waar onze leerlingen aan moeten voldoen.

De betere leerlingen kunnen wel problemen onderscheiden, oplossen en algoritmen bedenken en schrijven. Daar is ook werk voor te vinden, maar eigenlijk vind ik dat het dan om een HBO-werkniveau gaat. Dat betekent dat onze leerlingen bij sollicitaties minder kans maken en als ze wel worden aangenomen worden ze eigenlijk onder hun niveau betaald.”

Interview met ******

Interview 3 Docent: *****

1. Hoelang werk je in het onderwijs?

“Sinds 2007, dus nu 9 jaar ”

2. Wat geef/gaf je voor lessen?

“In het begin wat het meer richting ict beheer, waarbij ik vakken zoals itil en implementeren van een informatiesysteem gaf. Nu geef ik een aantal jaar al les bij de applicatie/media afdeling, waarbij het gaat om programmeren, database en het implementeren / beheren van een applicatie”

3. Heb je veel ervaring met programmeren? Zoja, hoelang al?

“Het is redelijk met de paplepel erin gebracht, omdat me vader al docent applicatie was. Maar sinds 1994 is het echt serieus begonnen met webontwikkeling. “

4. Hoe ga je om met Applicatie (ontwikkelaar) studenten? Hoe zijn jouw lessen opgebouwd en wat is jouw onderwijsvisie?

“ Dit varieert heel erg veel, want ik gebruik veel verschillende werkvormen, en tevens ligt het er ook aan hoever de leerling al is in zijn opleiding.

Bij een eerste jaar komen ze meestal net van het vmbo af. Hierbij zijn het dan veel klassikale lessen, want dit zijn ze gewend.Bij echt kennis overdracht is het maximaal een half uur uitleg, en daarna krijgen ze een opdracht die ze moeten uitvoeren.

Wanneer ze een bepaalde denkwijze moeten aanleren, neem ik ze mee in een proces. Deze lessen zijn langer, maar is de theorie en praktijk eigenlijk samengesmolten omdat ze meteen mee moeten doen.

Verder heb lessen dat ze per klas of per groepje aan een onderwerp moeten zitten om iets uit te werken, en daarover een presentatie houden.

Bij hogere jaars is het werk en denk proces al anders. Hierbij werk ik vaak al met een scrumtool zoals het atlassian pakket, waarbij er wel een einddatum staat wanneer een geheel project af moet zijn, maar dat de leerling per week een eigen planning maakt en bijhoud. De 1e dag van de week zijn dan de standups, waarbij de vorige week wordt geevalueerd, en de planning van de rest van de week wordt besproken. Klassikale lessen voor een hele klas worden minder gegeven, maar het zijn vaak groepjes die ongeveer even ver zijn.

Het lesmateriaal krijgen ze aangeleverd, waarbij het vaak om zelf gemaakt materiaal gaat. Tevens maak ik gebruik van video’s en e-books. Willen leerlingen een boek, kunnen ze in de boekenkast kijken of ze wat kunnen gebruiken.

5. Hoe herken je als docent een student die goed kan programmeren, en welke vaardigheden of kennis heeft zo’n student nu beschikking over?

“ een leerling die goed kan programmeren is vaak ook voor zich zelf allerlei dingen aan het uitzoeken. Ze zijn dan niet alleen op school aan het leren, maar ook thuis. Ze komen dan bij de opdrachten met hele goede oplossingen, of ze hebben ze snel af.

Als een leerling goed kan programmeren betekent het niet dat deze meteen sneller door de opleiding gaat. Dit kan wel, maar de leerling heeft zelf een keuze in versnelling of verbreding. Steeds vaker wordt door leerlingen toch een verbreding gekozen, zodat ze straks op de arbeidsmarkt meer te bieden hebben. ”

6. Wat doe je als je een student herkent die goed kan programmeren, pas je daar je lessen op aan? Zoja op welk manier?

“ Dat ligt eraan wat op dat moment de leerling wilt. Als de leerling wil versnellen is dit mogelijk.De opdrachten kunnen dan eerder worden gemaakt. Meestal is de uitleg over de opdracht dan niet of nauwelijks nodig. Bij verbreding gaan we vooral kijken wat handig is om te doen. In welke richting wil de student. Gaat hij na de studie doorstuderen, of werken. En is het dan front-end of back-end.”

7. Wat maakt volgens jou een goede programmeur?

“ Vooral het analytisch vermogen is belangrijk. Meestal gaat het dan of je problemen snel kan oplossen. De problemen die je heb in kleine stukjes uit elkaar halen, en nog wel steeds het overzicht hebben. Tevens moet je het doorzettingsvermogen hebben om ook de niet leuke dingen van het vak te doen, en dat is waar je als docent dan vaker achteraan moet gaan. .”

8. Denk jij dat vaardigheden als: oplossend vermogen, decompositie, analytisch vermogen, abstractie, nodig zijn voor een student om succesvol te zijn in het herformuleren van problemen op een zodanige manier dat daarvoor een algoritme bedacht kan worden?

“ Ja zeker. Het is erg belangrijk”

9. Ben je bekent met Computational Thinking? Zo ja: op welke manier en denk je dat het zinvol is? Zo nee: Zou je meer willen weten/leren over Computational Thinking?

“ Ik heb al verschillende dingen erover gehoord, waarbij een programmeur bijvoorbeeld zijn kind op 6 jarige leeftijd zelfs al een stukje programmeren leerde, op een hele speelse manier. Of ze dan al het analytisch vermogen hebben om moeilijke of wiskundige problemen op te lossen is de vraag. Vaak is hier juist een achterstand bij als ik kijk naar onze huidige leerlingen die binnenstromen bij de opleiding.

Ik denk wel dat het zinvol is, maar het zal echt aan de manier liggen hoe het uitgevoerd wordt ”

10. Denk je dat door de huidige lesmethode een Applicatie student goed is uitgerust met een set vaardigheden die ervoor zorgt dat hij/zij klaar is voor de toekomst? Waarom?

“ Nog niet helemaal, want dit zal echt liggen aan de motivatie van een leerling. Gelukkig zijn de meeste leerlingen gemotiveerd, maar die enkeling waarbij het niet lukt zou ik toch nog mee willen krijgen.

Het standaard niveau wat een leerling moet hebben om examens te halen op het mbo, is eigenlijk niet het niveau wat het bedrijfsleven wil. De meeste leerlingen krijgen we vaak wel op een hoger niveau, maar een enkeling niet. Tevens door de verkorting van de tijd die je krijgt om een leerling klaar te stomen voor het bedrijfsleven levert in op de kwaliteit wat je kan afleveren.

Als voorbeeld heb ik nu een 4e jaars en een 3e jaars groep die hetzelfde examen moeten doen en tegelijkertijd klaar zijn. Bij de 4e jaars heb ik meer tijd gehad, waardoor ze een hoger analytisch denkvermogen hebben kunnen ontwikkelen, en daardoor vaker zelfstandig problemen kunnen oplossen.

De manier van lessen en het programma is wel besproken met een aantal bedrijven in de omgeving, waarbij er regelmatig overeenstemming is wat er in de lessen behandeld kan worden, en wat we hopen dat de bedrijven tijdens stage doen. Verder hebben leerlingen vanaf het 2e leerjaar ook invloed op de inhoud van de lessen en projecten, waarbij er goed naar gekeken wordt of dit past in het traject naar het examen en het bedrijfsleven.

Op dit moment zien we hierdoor veel dat leerlingen een bijbaantje overhouden aan hun stage, of dat ze na het behalen van hun diploma bij hun oude stageplek gaan werken.

3.6 Aanvullende student interview

De informatie die het student interview heeft opgeleverd wordt hieronder kort weergegeven:

• Student geeft aan niet de juiste begeleiding te hebben gekregen tijdens zijn schooljaren.

• De student geeft aan geen kennis te hebben van Computational Thinking.

• De huidige les omgeving zorgt voor afleiding wat ongewenst is, klassen zijn te druk.

• Student geeft aan dat het huidige onderwijs door het Techniek College Rotterdam verbeterd kan worden.

3.7 Interview met student

Interview 1 Student : *****

1. Heb je tijdens je schooljaren les gekregen in programmeren? Zo ja, tijdens welke school of opleiding was dat en op welke manier is jou dat uitgelegd?

“Op de middelbare school, Penta College CSG de Oude Maas, moest ik een HTML boekje volgen. Als je ver genoeg kwam, had je wat JavaScript erbij. Niemand kwam verder dan CSS.

Ik besloot om thuis zelf te leren. Dat heb ik met name gedaan door video’s te volgen.

2. Wat miste je als leerling op school als het ging om programmeerlessen?

“ Op de middelbare school miste ik uitleg. Op het mbo was er wel uitleg, maar de klassen waren groot en de niveauverschillen waren nog groter waardoor er heel veel tijd verspild werd.

De meeste leerlingen waarvoor de lessen vertraagd werden gingen toch van school af. De leerlingen die de lessen beter begrepen, die vonden het heel erg traag gaan waardoor ze andere dingen gingen doen.

3. Wat was het effect op jou van de gegeven programmeerlessen?

“ Het niveau was ver onder mijn verwachtingen. ”

4. Herken jij iemand die goed kan programmeren?

“Ja, ik herken iemand die goed kan programmeren, maar ik ken geen persoon die dat kan. “

Kun je uitleggen hoe jij te werk ga wanneer je een probleem moet oplossen om daar een programma voor te bedenken?

“Grofweg gezegd:

1. Nagaan of ik het probleem begrijp en of ik in staat ben om het op te lossen

2. Kijken naar de kosten (tijd en geld)

3. Plannen

4. Nagaan of de betrokken personen er mee eens zijn

5. Programmeren (Test-Driven Development)

6. Eventuele documentatie leveren

5. Ben je voldoende uitgerust met een set vaardigheden om aan de slag te gaan bij een werkgever, en denk je klaar te zijn voor de toekomst?

“Ja, maar ik zou er niet klaar voor zijn geweest zonder thuisstudie door eigen initiatief.”

6. Welke vaardigheden mis jij om goed te kunnen worden in programmeren?

“N.v.t.”

7. Had je graag eerder de vaardigheden geleerd om problemen op te kunnen lossen? Op welke leeftijd denk je dat je daarmee had moeten beginnen?

“In groep acht van de basisschool zou ik eigenlijk begonnen moeten zijn met HTML en CSS, met een vervolg van JavaScript en PHP op de middelbareschool.”

8. Heb je wel eens van Computational Thinking gehoord?

“Nee, ik heb er nog niet van gehoord. .”

9. Heb je nog tips voor ons in het verbeteren van de lessen?

1. “

Stuur een deel van de klas op stage, zodat de leerling-aantal per klas kleiner wordt. Wanneer die deel klaar is, gaan ze weer naar school en gaat er een nieuw deel op stage. Een directe verbetering is dat de docent minder leerlingen heeft, waardoor leerlingen meer aandacht krijgen en zich beter kunnen focussen op de lessen.

Ook vind ik het erg belangrijk om de tijd zo goed mogelijk te benutten. Ik ben nog steeds teleurgesteld van het feit dat applicatieontwikkelaars in de eerste klas evenveel uren netwerkbeheer hadden als applicatieontwikkeling. De ruime meerderheid had een onvoldoende gehaald, wat naar mijn mening onterecht was. Maar nog belangrijker is het feit dat de applicatieontwikkelaars totaal geen kennis hebben van PHP.

Naast de vele uren die verspild zijn aan netwerkbeheer, besteden de examenklassen weer onnodige tijd aan front-end. Iets dat afgerond geweest zou moeten zijn in de eerste klas. Dat terwijl hun PHP kennis zeer onder niveau is.”

4.1 Conclusies en aanbevelingen

Hoofdvraag

• “Is het onderwijs van het Techniek College Rotterdam afgestemd op het concept Computational Thinking en in welk mate wordt toegepast in de lessen?”

Van de in totaal 22 respondenten onder de studenten geven 14 respondenten aan gebaat te zijn bij een sterk oplossend vermogen. Bij het doorvragen hoe de studenten blijkt dat deze studenten ook aangeven niet voldoende uitgerust te zijn met vaardigheden die problemen goed op kunnen lossen.

In totaal wordt duidelijk dat de meeste studenten vinden dat een andere onderwijs methode gebruikt moet worden om deze vaardigheden te ontwikkelen. Het merendeel van de respondenten denkt dat het aanbieden van onderwijs op het gebied van oplossend- en analytisch gebied, in groep 7 t/m 8 mee begonnen moet worden.

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 tot een goed antwoord op deelvraag 2 te kunnen komen zijn een aantal vragen van belang. Alle 22 respondenten van de studenten enquête is gevraagd of zij het denken dat het zinvol is om een probleem goed te begrijpen voordat aan de oplossing begonnen kan worden (vraag 4 studenten enquête). 22 respondenten (100%) beantwoorden deze vraag met ja. Hieruit kan geconcludeerd worden dat het aanbieden van lessen die gebaseerd zijn op Computational Thinking een essentiële basis kan aanleggen voor het probleem oplossend vermogen van leerlingen. Doordat (86%) van de respondenten bij vraag 3 laten weten dat zij vrijwel niets van Computational Thinking af weten, geeft aan dat het aanleren van het programmeren op een totaal andere manier is gebeurt dan middels het Computational Thinking principe. Inmiddels blijkt uit verschillende studies dat werken vanuit het Computational Thinking principe, het eenvoudiger maakt om problemen te (her)formuleren naar een computabele oplossing.

4.2 Hoofdconclusies

De hoofdvraag van het onderzoek was:

Is het onderwijs van het Techniek College Rotterdam afgestemd op het concept Computational Thinking en in welk mate wordt toegepast in de lessen?

Onze hoofdconclusie is dat het onderwijs van Techniek College Rotterdam voor studenten die een opleiding tot Applicatie ontwikkelaar volgen op een aantal punten rigoureuze veranderingen moet krijgen. Er zijn een aantal problemen geconstateerd, namelijk:

• Onvoldoende algemene bekendheid van Computational Thinking bij docenten in het vakgebied ontwikkeling.

• Het ontbreekt aan voldoende kennis betreffende Computational Thinking om te kunnen integreren in bestaande lessen.

• Het ontbreek de docenten aan didactische vaardigheden om studenten goed te begeleiden om oplosvaardigheden aan te leren.

• Geen beschikbare lessen aanwezig die gebaseerd zijn op Computational Thinking

In het hierop volgende hoofdstuk zullen aanbevelingen gedaan worden op basis van de geconstateerde problemen.

Aanbevelingen

De conclusies van dit onderzoek hebben de volgende aanbevelingen opgeleverd:

1. De docenten dienen te worden geschoold betreffende het onderwerp Computational Thinking.

2. De docenten dienen beter geïnformeerd te worden over hoe Computational Thinking in de bestaande lessen te integreren.

3. Mogelijke leerlingen moeten beter geïnformeerd te worden tot de noodzaak van Computational Thinking.

4. Mogelijkheid onderzoeken voor het aanbieden van Computational Thinking lessen in het voortgezet onderwijs.

Enkele belangrijke begeleidingskenmerken worden hieronder uitgewerkt. Bewaking: een goede docent/begeleider bewaakt in hoeverre een student de Computational Thinking les activiteiten uitvoert. Tevens is de manier waarop de lesactiviteiten uitgevoerd worden van groot belang.

Workshop

Een workshop voor de docenten organiseren. Gedurende deze workshop ontvangen de docenten scholing betreffende het onderwerp Computational Thinking. Tevens zal het aangeboden ICT onderwijs van het Techniek College Rotterdam aan bod komen gedurende deze workshop en Computational Thinking les zal uitgewerkt worden door de docenten.

Leave a Comment

Time limit is exhausted. Please reload the CAPTCHA.