Didactiek van het Programmeren Een curriculum model door ICT
Auteur :
Renee Witsenburg en Bart Linsen
Opleiding : Bachelor Opleiding tot leraar voortgezet onderwijs van de tweede graad in het Technisch Beroepsonderwijs Deeltijd Instituut : Fontys Eindhoven Datum :
12 juni 2016
Voorwoord Voor de opleiding tot tweedegraads docent ICT hebben we uitgezocht hoe leerlingen het beste aangeleerd kan worden om goed te programmeren. Dit hebben we onderzocht voor het voortgezet onderwijs informatica en voor het mbo applicatie ontwikkeling. Omdat beide opleidingen kunnen resulteren in een ICT opleiding in het HBO hebben we geprobeerd een voorbeeld curriculum te maken wat voldoet aan een aantal eisen. Het curriculum zal abstract worden opgezet. Welke programmeertalen er worden aangeleerd is niet van belang, welke vaardigheden er worden aangeleerd wel. Het curriculum voldoet aan de verschillende eisen van de opleiding en stichting leerplanontwikkeling. We wilden dit stuk schrijven omdat we erg zoekende zijn hoe we de leerlingen kunnen prikkelen. Als vakkenner is het soms lastig om een aantal niveaus lager uit te leggen. Waar begin je met het aanbrengen van basiskennis en hoe kun je dit verder uitwerken. ICT is een ontzettend breed vakgebied. Bij het maken van een website ben je niet alleen bezig met programmeren, maar ook met design, opmaaktalen en netwerken. Een ICT’er moet dus van een hoop zaken verstand hebben, maar hoe leer je dit op een leuke en interessante manier aan de leerlingen. Door het curriculum uit te werken willen we de leerling comfortabel maken met het ontwikkelen en programmeren van projecten om kleine en grote problemen op te lossen.
Portfolio Witsenburg, Linsen
Didaktiek Programmeren
2 van 23
Inhoudsopgave Voorwoord Inhoudsopgave Inleiding ICT in het VO en MBO Voortgezet Onderwijs Middelbaar Beroepsonderwijs Literatuur onderzoek Leerstijlen VO Leerstijlen MBO (Slaats) Computational Thinking Veld onderzoek Examenprogramma mbo Examenprogramma vo Enquête Leerlingen Manier van leren De ideale leeromgeving Conclusie Veldonderzoek Het voorgestelde ICT curriculum Voorwaarden voor een goede implementatie Conclusie Bronnenlijst BIJLAGE A: enquêteschema t.b.v. leerstrategieën Manier van leren De ideale leeromgeving
Portfolio Witsenburg, Linsen
Didaktiek Programmeren
3 van 23
Inleiding Het doel van dit onderzoek is een manier te formulieren om leerlingen te leren een technische oplossing, meestal een programma, voor een bestaande vraag te bedenken. Hieruit kunnen we een aantal andere deelvragen formuleren. Wat maakt iemand een programmeur? Met de verschillende online cursussen kan iedereen tegenwoordig leren programmeren. Waar maak je dan het onderscheid tussen een programmeur en iemand die programmeervaardigheden heeft? En wat is dan de definitie van programmeervaardig? En wat is coderen? Om terug te komen op de leerlingen die voor een programmeeropleiding kiezen. Welke eigenschappen en vaardigheden moeten deze individuen hebben om de programmeervaardigheid eigen te maken? Welke didactische methoden zijn er en kun je gebruiken om deze vaardigheden aan te leren? Kunnen we onze eigen methode of curriculum maken waarbij leerlingen leren welke patronen ze moeten kunnen herkennen in codeertalen om een goede programmeur te worden. Kortom, hoe kun je leerlingen een vraag laten oplossen in een technische programmeer oplossing? Door onderzoek te doen naar de huidige en nieuwe examenprogramma’s en de curricula van verschillende scholen te bekijken, proberen we tot een nieuw didactisch model te komen voor het ICT onderwijs in het voortgezet onderwijs en het middelbaar beroepsonderwijs. In het eerste hoofdstuk onderzoeken we hoe het ICT onderwijs in de huidige tijd wordt gegeven. In het tweede hoofdstuk doen we literatuuronderzoek naar verschillende leerstijlen in het voortgezet onderwijs en in het mbo. Vervolgens wordt in hoofdstuk drie uitgelegd hoe programmeervaardigheden worden aangeleerd volgens computational thinking. Daarna wordt ons voorbeeld curriculum voor ICT uitgewerkt. Als laatste beantwoorden we alle onderzoeksvragen nogmaals in de conclusie.
Portfolio Witsenburg, Linsen
Didaktiek Programmeren
4 van 23
ICT in het vo en mbo ICT, Informatica of Informatiekunde worden op verschillende manieren in het voortgezet onderwijs (vo) en middelbaar beroepsonderwijs (mbo) aangeboden. Informatiekunde en ICT wordt in het voortgezet onderwijs vaak in de onderbouw als extra vak aangeboden. Informatica is een keuzeprofielvak in de bovenbouw van het voortgezet onderwijs op de HAVO en het VWO. Voor de onderbouw is er geen vast programma, voor de bovenbouw is er wel een examenprogramma, maar daarin is bijzonder veel vrijheid voor de docent en leerling om dat in te vullen. Op het middelbaar beroepsonderwijs zijn er ook verschillende stromingen binnen het ICT onderwijs. Zo kunnen leerlingen kiezen voor de richting beheer, waarbij zij leren hoe ze op grote schaal software, informatie en mediasystemen beveiligt, beheert en installeert. Er is ook een ontwikkelingkant, waarbij leerlingen aan de slag gaan met het ontwikkelen van applicaties.
Voortgezet Onderwijs Zoals al eerder genoemd wordt ICT onder verschillende namen aangeboden in de onderbouw van het voortgezet onderwijs. Er bestaat ook geen vast programma voor, maar scholen bieden stof aan waarvan zij vinden dat dat de leerling helpt bij het leren van de andere vakken. Meestal worden er basisvaardigheden Word, Excel en Powerpoint aangeleerd. Op het Hyperion Lyceum in Amsterdam worden er een aantal vaardigheden meer aangeleerd. Zo gaan de leerlingen vanaf de brugklas niet alleen aan de slag met een tekstverwerker, maar maken zij ook een begin met problemen oplossen met grafische code. Daarnaast leren zij werken met Photoshop, Google Sketchup en LEGO Mindstorms. In de tweede en derde wordt er in het extra vak ook websites maken met HTML/CSS en animaties maken met JavaScript aangeboden. In de bovenbouw is er wel een examenprogramma voor het keuzeprofielvak Informatica. Vanaf schooljaar 2016/2017 is er een vernieuwd examenprogramma, wat duurzamer zou moeten zijn dan het vorige examenprogramma. Dit is bedacht omdat de wereld van ICT snel veranderd. De kerndomeinen zijn: Vaardigheden Grondslagen Informatie Programmeren Architectuur Interacties Portfolio Witsenburg, Linsen
Didaktiek Programmeren
5 van 23
De keuzethema’s zijn: Algoritmiek, berekenbaarheid en logica Databases Cognitive computing Programmeerparadigma’s Computerachitectuur Netwerken Physical computing Security User Experience Individuele en maatschappelijke invloed van informatica Computational science Er zijn een aantal kerndomeinen en keuzedomeinen die verder uitgewerkt zijn in het rapport. In het rapport staat onder andere dat leerlingen een probleem kunnen uitwerken in een algoritme. De kandidaat kan • een oplossingsrichting voor een probleem uitwerken tot een algoritme, • daarbij standaardalgoritmen herkennen en gebruiken, en • de correctheid en efficiëntie van digitale artefact en onderzoeken via de ach terliggende algoritmen.
Docenten zijn vrij in de hoe zij dit aan de leerlingen leren. Het is belangrijk dat dit op een abstracte manier gebeurd. Anders zijn leerlingen meer bezig met het aanleren van de syntax dan met het leren van het algoritme of het oplossen van het probleem.
Middelbaar Beroepsonderwijs Binnen het Samenwerkingsorganisatie Beroepsonderwijs Bedrijfsleven (SBB) maken onderwijs en bedrijfsleven samen afspraken over kwalificatiedossiers en examinering in het mbo. Wat een mbostudent moet kennen en kunnen aan het eind van zijn opleiding ligt vast in het kwalificatiedossier. Op basis van de kwalificatiedossiers maken onderwijsinstellingen hun onderwijsprogramma's. Voor een Applicatie Ontwikkelaar zijn in het kwalificatie dossiers kerntaken opgenomen: Kerntaak 1: Ontwerpen van de applicatie, (cross)mediauiting of game Kerntaak 2: Realiseren van de applicatie, (cross)mediauiting of game Kerntaak 3: Implementeren van de applicatie of (cross)mediauiting Kerntaak 4: Onderhouden en beheren van de applicatie, (cross)mediauiting of game Binnen de ICT academie van het Koning Willem I College is dit vertaald naar een curriculum met de volgende vakken:( Zie ook Vakdidactisch onderzoek 1A Portfolio Bart Linsen) 1.01 Basisinformatica 1.02 Computertekenen 1.03 Hardware 1.04 Applicatie Ontwikkeling 1.05 Operating Systems Portfolio Witsenburg, Linsen
Didaktiek Programmeren
6 van 23
1.06 Netwerkinfrastructuren 1.07 Analyseren 1.08 ASP/XML 1.09 Database/SQL 1.10 JavaScript 1.11 PHP 1.16 Project 1.12 C++ 1.13 C# 1.14 Bedrijfskunde 1.15 Beheer 3.01 Nederlands 1.17 Android Apps 3.02 Engels 3.03 Rekenen 3.04 Loopbaan & Burgerschap Duits Als we kijken naar de detailbeschrijvingen van de kerntaken van een Applicatie ontwikkelaar, dan zien we dat in kerntaak 2 en de werkprocessen: ● werkproces 2.1: Legt een gegevensverzameling aan ● werkproces 2.2: Realiseert een applicatie. In deze detailbeschrijving van deze werkprocessen staat dat de applicatie ontwikkelaar in staat moet zijn om een oplossen te bedenken voor een probleem. Waarbij de applicatieontwikkelaar de informatie uit het functioneel en technisch ontwerp vertaalt naar de juiste oplossingen, die hij in zijn werkzaamheden verwerkt. In deze stap moet de applicatie ontwikkelaar dus in staat zijn om informatie vanuit verschillende bronnen om te zetten naar regels code in een willekeurige programmeertaal. Deze vertaalslag is een vaardigheid die een startende applicatie ontwikkelaar moet ontwikkelen en waar we in dit onderzoek proberen achter te komen hoe we dit voor de mbo leerlingen het beste kunnen inrichten.
Portfolio Witsenburg, Linsen
Didaktiek Programmeren
7 van 23
Literatuur onderzoek Het is opmerkelijk dat onderzoek naar leerstijlen veelal plaats vindt bij studenten uit het wetenschappelijk onderwijs of leerlingen uit het algemeen vormend onderwijs. Deze onderwijsvormen kenmerken zich door een hoog gehalte aan abstracte en theoretische leerinhouden. Zo hebben beginnende studenten vaak nog geen helder beeld van de werkzaamheden die zij kunnen verrichten na afronding van hun studie, mede omdat de beroepen, taken of functiegebieden waarvoor wordt opgeleid niet of nauwelijks precies te omschrijven zijn. Het algemeen vormend onderwijs is niet bedoeld als een directe voorbereiding op het functioneren in een arbeidsorganisatie. Het beroepsonderwijs, daarentegen, is meer concreet van aard en bevat een relatief grote praktijkcomponent in de vorm van practica, praktijklessen en stages. Vergeleken met het wetenschappelijk onderwijs, waarbij praktijkervaring vaak pas aan het einde van de opleiding opgedaan wordt in de vorm van een afsluitende stage, is de praktijkcomponent binnen het beroepsonderwijs veel meer geïntegreerd in het curriculum. Vaak worden reeds in het beginjaar van een beroepsopleiding korte oriënterende stages aangeboden, die een leerling helpen bij het bepalen van de keuze voor een afstudeerrichting. Het in praktijk brengen van het geleerde staat zodoende gedurende de gehele opleiding centraal. In het beroepsonderwijs wordt de lesstof vanuit twee invalshoeken aangeboden: Een theoretische en een praktische invalshoek Binnen de theorielessen wordt de leerstof in het algemeen aangeboden via schriftelijk leermateriaal en ligt de nadruk op kennis van begrippen, regels en procedures die voor het vakgebied relevant zijn. Binnen de praktijklessen ligt de nadruk op het ontwikkelen van motorische, communicatieve of andere beroepsgerelateerde vaardigheden en vindt het leren ook meer proefondervindelijk en incidenteel plaats. Deze studie vormde de basis voor Slaats in haar onderzoek naar leerstrategieën in het mbo. Daarom mag worden verwacht dat leren binnen het beroepsonderwijs anders van aard is dan binnen het hoger wetenschappelijk onderwijs en het algemeen vormend onderwijs. Binnen het voortgezet onderwijs wordt er op de HAVO en het VWO kennis getoetst aan de hand van theoretische leermiddelen en praktische opdrachten. Theorie is meestal terug te vinden in een lesboek, terwijl de praktijk opdrachten vaak door de docent zelf worden bedacht.
Leerstijlen VO Gebruikmaken van de verschillende leerstijlen is al eerder bestudeerd in het beroepsproduct “De krachtige leeromgeving” van Renee Witsenburg. Hierin is een literatuurstudie gedaan naar positieve leereffecten. Deze ingrepen op leereffecten kunnen ook worden toegepast in ICT onderwijs. Portfolio Witsenburg, Linsen
Didaktiek Programmeren
8 van 23
John Hattie verwerkte resultaten van miljoenen leerlingen over krachtige leeromgevingen en ingrepen die positieve dan wel negatieve invloed hadden op de leereffecten. In zijn boek “ Visible learning: A synthesis of over 800 metaanalyses relating to achievement” heeft hij een top 10 van positieve ingrepen verwerkt. In het hoofdstuk “Visible teaching and visible learning” wordt uitgelegd dat niet alleen de docent van invloed is op de leerprestaties, maar ook de leerling zelf. Als de docent een steeds betere docent wordt door zijn eigen doceervaardigheden te verbeteren door zich aan te passen aan de leerling, wordt de leerling daardoor op een bepaald punt zijn eigen docent: "The remarkable feature of the evidence is that the biggest effects on student learning occur when teachers become learners of their own teaching, and student become their own teachers" (Hattie p. 22). De leerling is de baas over zijn of haar eigen leertraject. Het blijft echter altijd belangrijk wat de docent doet in de les. De docent moet de leerling uit blijven dagen om zijn of haar doelen te behalen. Leerlingen zijn altijd verschillend en dat maakt het voor de docent moeilijk om een lesactiviteit te verzinnen die voor alle leerlingen werkt. Een docent zal altijd moeten differentiëren om alle leerlingen te bereiken en ervoor te zorgen dat iedereen de lesdoelen haalt. Zoals uit het onderzoek van Hattie kwam, is de voorkennis van de leerling zeer belangrijk voor het leereffect. Piaget beschreef vier stadia van cognitieve ontwikkeling die een kind doorloopt. Piaget bestudeerde de ontwikkeling van kinderen. Niet alleen op school maar ook daarbuiten. Volgens hem creëren kinderen hun eigen ontwikkeling door hun omgeving actief te verkennen. Daarnaast vond hij als constructivist dat zij dit vooral deden door nieuwe kennis aan bestaande kennis te koppelen. Het koppelen van nieuwe kennis een bestaande kennis is bij programmeeronderwijs van belang. Het behandelen van verschillende technieken is echter een ander verhaal. Hierbij moeten verschillende kennisdomeinen aan elkaar worden gekoppeld. Microteaching is hierbij een hulpmiddel. Door iedere keer hapklare stukjes kennis aan te bieden en uiteindelijk aan elkaar te koppelen kunnen deze kennisdomeinen aan elkaar gekoppeld worden.
Leerstijlen MBO (Slaats) Vermunt heeft de verschillende verwerkingsstrategieën onderzocht. Het onderzoek van Vermunt is voornamelijk gedaan onder vo leerlingen. Slaats was benieuwd of de resultaten van Vermunt ook bruikbaar waren voor het mbo en heeft zich in haar onderzoek specifiek gericht op het mbo onderwijs. De resultaten van het onderzoek van Slaats waren dat er verschillende soorten verwerkingsstrategieën, regulatiestrategieën, leerconcepties en leeroriëntaties bij leerlingen in het middelbaar beroepsonderwijs voorkomen. Echter dat er per studierichting voorkeuren waren qua leerstijl. Portfolio Witsenburg, Linsen
Didaktiek Programmeren
9 van 23
Zo concludeert Slaats dat leerlingen van technische beroepen een constructieve leerstijl hebben. Kenmerkend voor deze constructieve leerstijl is een combinatie van diepe verwerkingsstrategieën, zelfsturing van het leerproces, een leerconceptie waarbij leren wordt opgevat als een persoonlijk proces van kennisopbouw en een leeroriëntatie waarin zowel een intrinsieke als een extrinsieke motivatie vertegenwoordigd is. Deze bevindingen worden dan ook meegenomen in het opzetten van het standaard ICT curriculum. Woordenverklaringslijst: Zelfsturing Van zelfsturing is sprake wanneer een lerende zelf de activiteiten uitvoert die nodig zijn om zijn leerproces te sturen en te begeleiden. Intrinsieke motivatie Van intrinsieke motivatie is sprake indien de lerende op grond van interesse in het vak heeft gekozen voor een opleiding. Extrinsieke motivatie Bij extrinsieke motivatie wordt de opleiding gevolgd als middel om een bepaald doel te bereiken, waarbij de feitelijke inhoud van de opleiding minder van belang is.
Computational Thinking Gezien de huidige technologische ontwikkelingen, bijvoorbeeld als het gaat om robotisering of slimme communicatie tussen technologie, is het belangrijk dat leerlingen leren de essentie van computertechnologie te begrijpen en computers kunnen inzetten om een probleem op te lossen. Hoe kiest een zoekmachine bijvoorbeeld uit een grote hoeveelheid zoekresultaten een bepaalde volgorde? Hoe bouw je een onmogelijke constructie? Waardoor doet een robot wat hij doet? Computational thinking richt zich op de vaardigheden om problemen op te lossen waar veel informatie, variabelen en rekenkracht voor nodig zijn. Het gaat om een verzameling denkprocessen, zoals logisch redeneren, patroonherkenning en systematisch denken. Door computational thinking kun je de oplossing zo vertellen dat een computer (of een mens) het begrijpt. Dus in kleine logische stapjes. Computationeel denken bevat vaak de volgende onderdelen: ● ● ● ● ● ● ●
Goed nadenken over alle informatie. Informatie in logische stukjes verdelen. Een schema of tekening van de informatie maken. Informatie versimpelen. Mogelijke oplossingen bedenken en uitproberen. Oplossingen automatiseren door algoritmisch te denken (een stroomschema maken). De oplossing algemeen maken en toepassen op soortgelijke problemen.
Portfolio Witsenburg, Linsen
Didaktiek Programmeren
10 van 23
Op de basis school leert een leerling deze vaardigheid door technologie te gebruiken, bijvoorbeeld door kennis te maken met programmeren, te werken met robotica en te experimenteren met 3Dprinting. Zulke activiteiten wekken de interesse van leerlingen en geven ze voldoende basis mee om zich, desgewenst, in deze richting te specialiseren. Op het mbo gaat een leerling, hopelijk gebaseerd op deze interesses, zich specialiseren in deze richting. De leerling krijgt dan specifieke vakken aangereikt om een technisch vak eigen te maken. Zie hiervoor paragraaf ICT. In het vo en mbo kunnen leerlingen dergelijke
kennis en vaardigheden ook opdoen zonder technologie, bijvoorbeeld door middel van ontwerpend denken en leren. Zo heeft bijvoorbeeld de basisschool de Lorentzschool in Leiden een unieke, interactieve zand en watertafel in gebruik waarmee leerlingen kunnen zien wat bijvoorbeeld het effect is van de verplaatsing van zand en wat bergen betekenen voor een landschap. Ook kunnen ze aan de tafel kennismaken met programmeren.
Veld onderzoek Examenprogramma mbo In dit onderzoek hebben we gekeken naar de het examenprogramma van het mbo. Vraagstelling hierbij was, in hoeverre komt het ontwikkelen van de computional thinking vaardigheid terug in de examen eisen van de opleiding tot applicatie ontwikkelaar. Het examenprogramma van het mbo is voor de ICT academie gebaseerd op het toetsen van de kerntaken die gedefinieerd zijn in de de kwalificatie dossiers die voor het mbo opleidingen zijn opgesteld. In deze kwalificatie dossiers worden de vaardigheden van een applicatie
Portfolio Witsenburg, Linsen
Didaktiek Programmeren
11 van 23
ontwikkelaar echter generalistisch opgeschreven en beschrijven niet hoe een vaardigheid het beste kan worden aangeleerd. Een opleiding maakt de keuze van een vakkenpakket waarvan zij denkt dat deze het beste aansluit op de (lokale) markt voor de applicatie ontwikkelaar. Voor de ICT academie is deze bijvoorbeeld gebaseerd op de hoge doorstroom naar het HBO. (80%) Er is daarom de keuze gemaakt om object georiënteerd programmeren een belangrijk onderdeel te laten maken van het curriculum. De opleidingen concentreren zich hierbij echter voornamelijk op het bijbrengen van de kennis van de syntax van een programmeertaal. Hierbij wordt veel gebruik gemaakt van de lesmethodiek voordoen nadoen van stukken programmacode. Deze methode stimuleert echter niet het ontwikkelen van de computational thinking vaardigheid. Het is slechts een bijproduct als je met de programmeertalen en opdrachten aan de slag gaat.
Examenprogramma vo Informatica heeft geen centraal schriftelijk examen. Het examen wordt geheel met de opdrachten en toetsen op school gemaakt. De cijfers bestaan voor minimaal de helft uit praktijkopdrachten. De docent toetst de kerndomeinen en vult het examenprogramma aan met keuzedomeinen vastgesteld door SLO. Er is echter wel een staatsexamen informatica. In de praktijk betekent dit dat er een lesmethode wordt gekozen om de theorie te behandelen. De praktijkopdrachten worden meestal door de docent zelf bedacht, zonder lesmethode. De praktijkopdrachten gaan meestal over de onderwerpen waar de docent zelf voldoende vakkennis van heeft. De keuzedomeinen die worden behandeld worden dus niet door de leerlingen zelf gekozen, maar door de docent. Informatica is in ieder schoolprofiel te kiezen. Ondanks dat voor ieder profiel het informatica programma hetzelfde is, is het wel mogelijk om een eigen draai te geven aan het vak informatica. Zo kan voor het profiel cultuur en maatschappij informatica van toepassing zijn voor het digitaliseren van beeld en geluid, voor economie en maatschappij datamining, voor natuur en gezondheid robots in de zorg, en voor natuur en techniek simulatieprogramma’s. Het is bij het vak in de bovenbouw van de havo en het vwo vooral van belang om uit te leggen voor wie informatica allemaal belangrijk is.
Enquête Leerlingen In ons onderzoek hebben we ook een enquête gebruikt voor een krachtige leeromgeving voor het mbo. We willen in deze enquête achterhalen welke lesmethodiek het beste past bij de leerling. Uit de enquête komen de volgen antwoorden:
Manier van leren Wat doe je met de informatie die de docent je geeft. Informatie wordt opgeslagen en bekeken of het in de context waar ze mee bezig zijn bruikbaar is. Portfolio Witsenburg, Linsen
Didaktiek Programmeren
12 van 23
Hoe begin je? Hoe ga je te werk? Leerlingen beginnen met lezen van de opdracht en proberen na het lezen van de opdracht informatie te verzamelen over de opdracht en hoe ze dit kunnen opzetten en dan beginnen ze met het coderen van de opdracht. Ga je tijdens het maken van de opdracht na of je goed bezig bent? Als ze eenmaal aan het coderen zijn kijken ze alleen of de code werkt. De leerlingen geven niet aan dat als ze eenmaal bezig zijn kijken of ze de juiste opdracht aan het uitvoeren zijn. Wat doe je als het niet meer lukt? Vragen bij de docent en klasgenoten. Hoe bepaal je dat de opdracht af is? Als er voldaan is aan alle beoordelingscriteria.
De ideale leeromgeving Wat vind je een prettige manier van lesgeven? Rustige en goed opgebouwde les. Eerst klassikaal waarin kort een stuk theorie of stukken code worden behandeld en daarna zelf oefenen en aan de slag met het onderwerp. Hierbij de mogelijkheid tot persoonlijke hulp en naslagmateriaal aanwezig. Hoe ziet je ideale leeromgeving eruit? (Sfeer ruimtes, etc?) De ideale leeromgeving moet rustig zijn en een relaxte sfeer uitstralen. Vooral voldoende ruimte in het klaslokaal waar je goed zicht hebt op het bord en de docent is een basisbehoefte. Hoe ziet je ideale les eruit om een vak/onderwerp te leren? Veel informatie op een goede bereikbare manier beschikbaar gemaakt voor de leerlingen. Uitleg over de theorie en daarna zelf aan het werk met opdracht. De lessen afgewisseld met interactieve lesvormen zoals Kahoot en Socrative. Wat is de rol van de docent daarbij? Uitleggen van de stof en beschikbaar zijn voor het beantwoorden van vragen. Hoe zou je volgens jou moeten toetsen of je de lesstof beheerst? Leerlingen willen op theorie en praktijk getest worden over de stof die geleerd is, maar willen graag wel voorbereid worden met een proeftoets. Uit deze antwoorden zien we dat de mbo leerlingen redelijk traditioneel les willen krijgen. Ze geven aan dat in hun visie de docent een centrale rol inneemt bij het overdragen van theorie, het organiseren van informatie en het uitzetten van interessante opdrachten die ze zelfstandig kunnen uitwerken. Daarnaast verwachten ze dat de docent paraat staat voor vragen en hulp. Deze geschetste “ideale leeromgeving” sluit aan op het onderzoek van Slaats die een onderzoek heeft gedaan naar leerstijlen en verwerkingsstrategieën onder leerlingen van het mbo.. (Zie literatuuronderzoek l eerstijlen mbo )
Conclusie Veldonderzoek Uit het veldonderzoek komt naar voren dat de mbo leerling graag in een redelijk traditionele leeromgevingen les willen krijgen en daarbij voornamelijk een sociaal constructivistisch leerstijl hanteren en graag in een zone van naaste ontwikkeling willen leren.
Portfolio Witsenburg, Linsen
Didaktiek Programmeren
13 van 23
De leerling heeft behoefte aan veel relevante informatie over het onderwerp dat op een goed gestructureerde manier wordt aangeboden aan de leerlingen. In de les zelf verwachten ze van de docent dat deze uitleg geeft over de theorie, waarna ze zelf aan het werk gaan met een opdracht. Ze zien de lessen graag afgewisseld met interactieve lesvormen zoals Kahoot en Socrative. Qua toetsing willen ze graag dat ze goed voorbereid zijn op de toets door proeftoetsen en het beschikbaar zijn van de beoordelingscriteria vooraf aan de toets. Deze bevindingen laten we terugkomen in de opzet van ons standaard ICT curriculum. We hebben dit curriculum opgezet aan de hand van het stap voor stap opbouwen van complexiteit.
Een standaard curriculum voor ICT Er is momenteel nog geen standaard curriculum voor ICT wat toegepast kan worden in het voortgezet onderwijs en het mbo. Ondanks dat beiden wel raakvlakken hebben in de eindtermen. Enkel de weg ernaar toe verschilt omdat de mbo opleiding fulltime gegeven wordt en informatica in het voortgezet onderwijs een keuzevak is. Ook is het einddoel verschillend. De onderwerpen die in de kerndomeinen en kerntaken worden genoemd komen echter wel overeen. Op het moment dat een leerling kiest voor informatica of ICT applicatie ontwikkelaar weten zij meestal nog niets over programmeren. Om de route naar een bekwaam applicatie ontwikkelaar te bewandelen is er een curriculum bedacht die voor beide stromingen geschikt is. De stappen in de route: 1. Klein probleem ontleden in programmeer concepten (herhalen, keuze, acties). 2. Groter probleem opdelen in kleine problemen. 3. Stroom diagram. 4. Programma ontwerpen. (UML Activiteiten diagrammen, Klasse diagrammen, Use Case diagrammen) 5. Programmeer ontwerpen omzetten naar programmeertalen. 6. Databases. 7. Differentiatie op de verschillende platformen.
Het voorgestelde ICT curriculum In het ICT curriculum is een grote rol weggelegd voor het vak analyse. Een probleemstellingen wordt eerst vanuit het vak analyse onderzocht. Met de resultaten van het onderzoek kan het implementatie ontwerp worden gemaakt. In de vakken van het voorgesteld curriculum worden de implementatie ontwerpen uitgewerkt. Hierbij wordt vooral de implementatie verschillen uitgelegd. leerjaar 1
leerlijn
leerjaar 2
leerlijn
leerjaar 3
leerlijn
Code.org/ Scratch (Kleine problemen
Programmeren
PHP (serverside programmeer
Programmeren
Apps maken
Programmeren
Portfolio Witsenburg, Linsen
Didaktiek Programmeren
14 van 23
oplossen met code)
talen)
HTML/CSS (statische website)
User Experience
Linux ( servers, netwerken)
Architectuur / Netwerken
PHP (serverside programmeer talen)
Programmeren
UMLdiagramm en
Architectuur
Analyse / C++
Architectuur
Analyse / C++
Architectuur
JavaScript ( dynamische website)
Programmeren
SQL (databases)
Database
Datastructuren en Algoritmes ( programmeren )
Grondslagen / Algoritmiek
Python ( programmeer concepten)
Programmeren
Python | JavaScript (programmeren )
Programmeren
Technische informatica
Programmeren embedded/ Architectuur
Standalone applicaties
Programmeren
Voorwaarden voor een goede implementatie Om het voorgesteld ICT curriculum goed te kunnen laten slagen zijn er wel een aantal voorwaarden noodzakelijk ● De programmeervakken moeten goed op elkaar afgestemd worden. Het zal voor de docenten veel overleg vragen om met elkaar af te spreken welke aspecten zij gaan behandelen en wat in de andere vakken is behandeld. ● Vakken moeten wel synchroon lopen met elkaar. ● Leerstijlen van de docenten moeten bij elkaar passen. ● Het programma moet voldoen aan de examen eisen en passen binnen de kwalificatie dossiers.
Portfolio Witsenburg, Linsen
Didaktiek Programmeren
15 van 23
Conclusie Wat maakt iemand een programmeur? Wat een programmeur is kunnen we vaststellen aan de hand van de detailbeschrijving van de werkprocessen van een applicatie ontwikkelaar. Toch is het begrip programmeur veel breder. Er zijn door de verschillende programmeertalen verschillende soorten programmeurs. Een ding hebben ze wel gemeen, ze weten allemaal iets af van programmastructuren en coderen. Wat is een programmeervaardigheid? Hoe kun je programmeervaardigheid definiëren? Welke vaardigheden heb je nodig om programmeervaardigheid eigen te maken? Programmeervaardigheden laten zich niet makkelijk definiëren, omdat het uit verschillende andere vaardigheden bestaan. Zo zijn belangrijke vaardigheden: nadenken over alle informatie, in logische delen opdelen, een schema maken van de informatie, versimpelen en oplossingen bedenken en uitproberen, algoritmes bedenken, de oplossing herbruikbaar maken. Welke didactische methoden moet je gebruiken om deze vaardigheden aan te leren? Deze vaardigheden zijn aan te leren volgens verschillende leerstijlen. In het literatuuronderzoek is onder andere naar voren gekomen dat verschillende ICT onderwerpen aan elkaar kunnen worden gekoppeld met behulp van microteaching. Door vakken of onderwerpen vanuit de informatica tegelijk aan te bieden, of vlak achter elkaar kunnen de leerlingen onderwerpen aan elkaar koppelen en makkelijker begrijpen en toepassen. Wat is coderen? Welke onderdelen kun je herkennen in codeertalen? Coderen en programmeren zijn termen die veel door elkaar gebruikt worden. Er zit echter wel een verschil in. Coderen gaat alleen over code schrijven. Programmeren is het hele denkproces erachter. Er zijn een aantal onderdelen die in de momenteel populairste programmeertalen terug komen. Voorwaarde, herhalen en acties. Door hier de focus op te leggen zullen de leerlingen sneller tussen verschillende programmeertalen kunnen switchen. Ook de vakken UML en analyse krijgen op deze manier meer betekenis. Hoe kun je leerlingen een vraag laten oplossen in een technische oplossing? We zijn tot een algemeen curriculum gekomen om leerlingen een vraag te laten oplossen met behulp van programmeren. Het curriculum voor het mbo en vo is hiermee behoorlijk gelijk getrokken. Welke programmeertaal wordt gebruikt is niet zo van belang. De programmeerconcepten die tijdens het vak behandeld worden wel. Op deze manier worden webbased applicaties, stand alone applicaties en mobiele applicaties behandeld, met de bijbehorende theorie. De leerlingen leren voor iedere vraag zo met een passende oplossing te komen.
Portfolio Witsenburg, Linsen
Didaktiek Programmeren
16 van 23
Bronnenlijst Kwalificatie dossier mbo applicatie ontwikkelaar Crebo
95311, 95699
Dossier
Applicatie en mediaontwikkeling / Dossiers geldig vanaf 2012
Crebo
23088
Dossier
Herziening dossiers geldig vanaf 01082015
Linsen B. (2016). Portfolio opleiding tot docent 2de graad technisch middelbaar beroepsonderwijs , Boxtel, Nederland: Fontys Eindhoven Witsenburg R. (2016). Portfolio opleiding tot docent 2de graad technisch middelbaar beroepsonderwijs, Nederland: Fontys Eindhoven Zuiderman Don (april 2015). Wat is computational thinking? Alfred v. Aho (Lawrence Gussman)(2011). Ubiquity symposium: computation and computational thinking Ubiquity, Volume 2011 Issue January. Slaats, J. A. M. H. (1999). Reproduceren & Construeren. Leerstijlen van leerlingen in het middelbaar beroepsonderwijs . Wageningen, Nederland: Ponsen 8c Looijen bv de Reus M.(2016). Inrichting van de professionele handelingsdidactiek Versie: 1415 ‘sHertogenbosch, Nederland: Koning Willem I College Hattie, J. (2008). Visible learning: A synthesis of over 800 metaanalyses relating to achievement. Routledge. And the Top 10 Strategies are ... (z.j.). Geraadpleegd van https://www.alcaweb.org/arch.php/room/41/area/19534 Cognitieve ontwikkeling van kinderen. (z.j.). Geraadpleegd van http://mensensamenleving.infonu.nl/pedagogiek/16368cognitieveontwikkelingvankinder en.html Minecraft Education Concept of programming Informatie over het vak informatica in de Tweede Fase van havo en vwo. (z.j.). Geraadpleegd van http://www.informaticavo.nl/overhetvak Portfolio Witsenburg, Linsen
Didaktiek Programmeren
17 van 23
BIJLAGE A: enquêteschema t.b.v. leerstrategieën Iter
Bart Linsen (Docent AO – ICT academie)
Itee
IO1D4, IO2A,IO2B.
Datum
20 en 24 mei 2016
Locatie
Koning Willem I College – 'sHertogenbosch
Onderwerp
Onderzoek naar de leerstrategieën van leerlingen.
De vragen zijn als volgt verdeeld: Verwerkingsactiviteiten en regulatieactiviteiten: Manier van leren Opvattingen: De ideale leeromgeving .
Manier van leren Stel je voor dat je op school een bepaalde opdracht moet maken. De docent vertelt hoe je het moet doen en in het boek staan ook aanwijzingen. Hoe ga je te werk? 1. Wat doe je met de informatie die de docent je geeft? ● Ik sla het op ● Niks ● Proberen te begrijpen als dat lukt ● Opschrijven van de belangrijke dingen. ● Die sla ik op via notities ● Probeer het meteen toe te passen zodat ik naslagwerk heb ● Toepassen aan het opgegeven huiswerk ● Ik neem deze op, raadpleeg het boek en ga met deze informatie aan de slag. ● Analyseren, kijken of je er iets mee kunt. Zo niet. Probeer een andere methode ● Luisteren ● Naar luisteren en proberen te onthouden ● In mijn achterhoofd wegwerpen en naar de reader keren ● Die probeer ik te onthouden. ● Die gebruik ik bij de opdracht ● Meestal verder gaan waar ik bezig mee was, hij heeft helaas niet alle attentie van de klas. ● Met deze informatie ga je aan de slag voor de opdracht die je staat te wachten. ● Je laat het tot je door dringen ● Die probeer ik toe te passen op de aanwijzingen in de huiswerk documenten. 2. Hoe ga je ter werk? ● Snel ● Heel goed Portfolio Witsenburg, Linsen
Didaktiek Programmeren
18 van 23
● ● ● ● ● ●
Opdracht door lezen, starten, afmaken Vooral proberen te begrijpen en toepassen. Kijk wat ik moet doen en ga dat dan doen Stap voor stap de opdracht ''ontleden'' en uitvoeren Maken wat ik kan en als er iets niet lukt, vragen of iemand het wel heeft Ik lees de opdracht door, ik bestudeer de gegeven informatie en ga vervolgens aan de slag. ● Orderen. Maak een project map aan met de nodige bestanden ● Opdracht openen en eventueel de reader erbij houden. Ook gebruik van het internet ● Het boek doorlezen en vervolgens aan het werk ● Lees de reader en hoop voor het beste ● Met mijn laptop en de informatie die ik heb. ● Reader lezen, Opdracht lezen en dan beginnen met de code ● Met mijn computer ● Meestal maak ik een aantal dagen van te voren de opdracht die af moet zijn. ● Je probeert het te begrijpen ● Probeer iets te halen uit de readers, zo niet dan ga ik naar het internet. 3. Hoe begin je? ● Van voren af aan ● Van achter naar voren ● Opdracht door lezen ● Plan maken met wat exact de opdracht is. ● Lees de opdrachten ● Meestal google ● Met een begin pagina te maken ● Ik kijk een keer goed door het boek om nog tips te vinden. ● Orderen. Maak een project map aan met de nodige bestanden ● Met de opdracht erbij te pakken en te kijken wat er gevraagd wordt ● Door het boek door te lezen ● ik probeer zoveel mogelijk informatie uit de reader te halen en daarop verder uitbouwen ● Ik begin eerst te lezen wat ik moet doen. ● Eerst de reader lezen ● Met mijn computer ● Te luisteren naar de leraar ● De readers door te scannen. 4. Ga je tijdens het maken van de opdracht na of je goed bezig bent? ● Nee ● Ja ● Altijd. plan je werk en werk je plan TM :P ● Als t lukt gaat t goed ● Meestal door te controleren in de brouwser ● Nee, ik werk eerst uit of het werkt daarna maak ik het mooi ● Ja, ik vraag na een tijdje gewerkt te hebben aan de docent of mijn opdracht de goede richting in gaat. ● Om de keer kijk je wat de waarde is van een Portfolio Witsenburg, Linsen
Didaktiek Programmeren
19 van 23
● Ja ● Ja tuurlijk ● niet altijd maar gewoonlijk wel ● Ja ● Soms ● dat merk ik vanzelf als ik foutmeldingen krijg ● Ja ● Ja, maar natuurlijk. 5. Wat doe je als het niet meer lukt? ● Ga ik iets anders doen ● Naar docent ● Vragen ● Aan klasgenoten vragen en anders de docent ● Google of docent (docent is vaak de snelste, maar niet de beste manier om een probreem op te lossen) ● Blijf andere dingen doen tot ik het gewoon niet meer weet ● Ik leg mijn probleem voor aan de docent. ● Huilen ● Het internet gebruiken, mocht het echt niet lukken aan de docent vragen of aan een andere opdracht beginnen ● Proberen samen te werken met een klasgenoot ● Google raadplegen ● Dan vraag ik hulp aan andere leerlingen of aan de docent. ● Ik zoek meestal hulp bij medeleerlingen ● Dan vraag ik mijn klasgenootjes om hulp. ● Internet ● Vragen naar meer info ● Op internet naar een oplossing zoeken en anders laat ik het links liggen. 6. Hoe bepaal je dat de opdracht af is? ● Goed de opdracht lezen ● Als het af is zoals in de opdracht staat ● voldoet aan alle eisen. code is net en begrijp wat ik gemaakt heb. ● Als alle eisen van de opdracht erin zitten ● Als het voldoet aan alle eisen ● Als het over een komt met de opgegeven opdrachten verhaal ● Door te kijken naar alle vereisten en te zien of die aanwezig zijn in mijn opdracht. ● Als er niks meer bij kan ● Als er aan alle beoordelingscriteria voldaan is ● Als het aan (bijna) alle eisen voldoet ● Als de criteria behaald zijn ● Ik check de beoordelingscriteria na. ● Als alle punten van de checklist erin zitten ● Dan check ik alles na. ● Als alle punten zijn behandeld ● Controleren van de beoordelingscriteria ● Als alle beoordelingscriteria het zo'n beetje doen. Portfolio Witsenburg, Linsen
Didaktiek Programmeren
20 van 23
De ideale leeromgeving In wat voor een omgeving denk jij dat je het beste een vak kunt leren. 7. Wat vind je een prettige manier van lesgeven? ● Geen les ● Rustig omgeving met veel mondeling uitleg en voorbeelden ● Rustige en goed opgebouwde les. de mogelijkheid om het meeste van de inhoud na te kunnen lezen. ● Klassikaal ● Zelfstandig maar met voldoende hulp en naslagwerk ter beschikking ● Veel voorbeelden ● Ik vind het heel prettig dat als de docent een nieuw onderwerp uitlegt hij een voorbeeld samen met ons maakt en vervolgens een zelfstandige opdracht geeft die over het onderwerp gaat. ● Zelf oefenen/uitproberen ● Door middel van de beamer ● Met een docent die weet waarover hij of zij het heeft ● Goede uitleg en duidelijke antwoorden op vragen ● Als de meneer of mevrouw in een goede en duidelijke manier uitleg geeft en mij goed helpt dan vind ik dat een prettige les. ● Klassikaal aan iets werken(Maakt niet uit of het een oefening is of een opdracht) ● De helft uitleg de andere helft werken ● Dat je uitleg krijgt over de opdracht die je moet maken, en dat je tijd krijgt om aan de opdracht te werken. ● Het volgen van de lessen in de zin van meedoen, laten zien wat er gebeurd ● Dat we samen opdrachten maken, zodat we gewoon ter plekke uitleg krijgen over wat we coderen. 8. Hoe ziet je ideale leeromgeving eruit? (Sfeer ruimtes, etc?) ● Rustig en relaxed ● Het meeste wat er nu al is. roosterwijzigingen iets eerder weten zou handig zijn. ● Een goede sfeer en werkende stopcontacten ● Grote ruimtes waar het zo is ingericht dat samenwerken met medeleerlingen gemakkelijk is of misschien zelfs aangemoedigd wordt ● Niet te lange uitleg ~20 min en vooral de meest gemaakte fouten een nadruk op ● Goed internet, een docent waaraan je vragen kan stellen, een whiteboard waar voorbeelden afgebeeld kunnen worden, een leuke klas en een ruimte met genoeg plek. ● Snel internet. Geen domme muziek (elke les). Les tijden zijn goed ● Rustige sfeer in het lokaal ● Rust en Ruimtelijkheid, maar ook een mooie en schone omgeving ● Lekker op bed google raadplegen en met collegas/vrienden nadenken over dingen ● De eerste les moet pas om kwart over tien beginnen en niet om half 9. Het lokaal moet goede fijne stoelen hebben en de bureaus moeten op een goede plek staan en Portfolio Witsenburg, Linsen
Didaktiek Programmeren
21 van 23
niet zo dat je met je rug naar de leraar/es toe zit. Contact met leerlingen moet kunnen op een stille toon. Sfeer moet goed zijn. ● Rustige klas, niet te druk, Leerlingen die ook mee willen doen met de les ● Rustige plek, fijne leraar die goed kan vertellen. ● Een klaslokaal met genoeg ruimte. 9. Hoe ziet je ideale les eruit om een vak/onderwerp te leren? ● Veel informatie op een goede manier gebracht met voorbeelden etc. ● Een les waarbij alle benodigde stof om verder te kunnen word behandeld. het leukst met interactie. (dingen als socrative en kahoot.) ● Ideale les bestaat niet ● Eerst uitleg, daarna een voorbeeld namaken en daar op uitbreiden ● Duidelijke instructies of uitleg ● Het onderwerp wordt uitgelegd, vervolgens gaat de docent met ons een voorbeeld behandelen en kunnen we eventueel nog vragen stellen. Daarna gaan we zelfstandig aan de slag met een opdracht die relevant is aan het onderwerp. Natuurlijk moet de docent altijd beschikbaar zijn voor eventuele vragen. ● Leren wat je wilt leren ● Eerst eventueel wat uitleg. Daarna beginnen aan de opdrachten ● Uitleg van docent en vervolgens aan het werk ● zolang er een fatsoenlijke uitleg is kan het me niet meer of minder boeien ● Uitleg, Klassikaal eraan werken en dan een opdracht ● Het meedoen met het schrijven van programma's zodat je kunt gezien dmv een docent wat er precies gebeurd ● Samen huiswerk opdrachten na lopen. 10. Wat is de rol van de docent daarbij? ● De uitleg en de manier van brengen ● Focus op de eigen uitleg. dus niet mensen gaan helpen tussendoor. als dit betekend niet klassicaal dingen mee te doen dan is dat zo. (maak dit online beschikbaar met 1 of meerdere fouten. vraag aan klas of zij de fout eruit halen.) ● de docent moet gewoon de les gegeven ● Het geven van het voorbeeld en beschikbaar zijn in het geval dat er vragen zijn ● hulp bij werk als je iets niet snapt ● Klaar staan om vragen te beantwoorden en eventueel assistentie te verlenen. ● Ervoor zorgen dat de stof relevant is en niet te moeilijk voor de leerling ● Toelichten en bereikbaar zijn voor het beantwoorden van vragen ● Continue rondlopen om te kijken of het overal lukt ● Niet gek veel ● Goed uitleg geven en helpen. ● Uitleg geven en zorgen dat er materiaal is om mee te werken ● De klas aansturen ● Het activeren van leerlingen en daarin goed vertellen wat er precies gebeurd, wat er precies gedaan wordt en dat de leerling erin gemotiveerd blijft. ● Om samen met ons door de code te lopen. 11. Hoe zou je volgens jou moeten toetsen of je de lesstof beheerst? ● Mondeling en schriftelijk ● Een toepassing van de geleerde stof in een duidelijke casus. Portfolio Witsenburg, Linsen
Didaktiek Programmeren
22 van 23
● ● ● ● ● ● ● ● ● ● ● ● ● ●
Door een theorie en praktische toets met daarvoor af een oefentoets Door het de leerling in de praktijk toe te laten passen, maar theorie mag ook zwaarder meegewogen worden dan nu het geval is Een toets om te testen of je wat je geleerd hebt op een manier toe te passen Een diagnostische toets en een Kahoot quiz / multiple choice quiz over de theorie. Met een oefentoets Theorie en praktijktoets Door een praktijkopdracht te geven, waarvoor je veel tijd hebt vragen stellen die in verband staan met de lesstof Door het maken van de toetsen. Theorie + praktijk (Niet iedereen is geweldig in programmeren, en het niveau ligt best hoog) Het laten checken bij de docent Toetsen zijn prima Schrijven van de programma die aan de eisen voldoet wat je de afgelopen periode hebt geleerd. Door huiswerk opdrachten te verdraaien naar een toets, maar niet te afwijkend aangezien we dat ook helemaal niet hebben moeten leren.
Portfolio Witsenburg, Linsen
Didaktiek Programmeren
23 van 23