ICTdag

Uit Lab
Ga naar: navigatie, zoeken
ICTdagArduino
ICTdag

Zie ook Regels en richtlijnen
Zie ook Artikelen bewerken

Inleidende opmerkingen

Waarom zou je leren programmeren?

  • het geeft je meer grip op je omgeving, die steeds meer programmeerbaar wordt. Douglas Rushkoff beschrijft dit in zijn boek: Program or be programmed (http://www.rushkoff.com/books/program-or-be-programmed/).
  • in steeds meer studies en beroepen wordt programmeervaardigheid gevraagd; programmeren heeft dan eenzelfde rol als "taal en rekenen/wiskunde".
    • sommige hoogleraren psychologie eisen programmeervaardigheid van hun studenten;
    • bij steeds meer universiteiten is het (bij)vak Informatica/Programmeren voor niet-informatici het grootste vak
    • voorbeelden uit USA: https://cs50.harvard.edu/, http://bjc.berkeley.edu/ ofwel http://cs10.org/fa16/
    • dit geldt ook voor praktische beroepen: programmeerbare machines, 3D printers en robots dringen door in steeds meer omgevingen.

Daarnaast worden wel andere redenen genoemd:

  • leren programmeren versterkt je vermogen om problemen op te lossen;
  • je leert samenwerken, zelf kennis verwerken, leren van je fouten

Als dat zo is, is het mooi meegenomen, maar het is niet de belangrijkste reden om te leren programmeren.

De conclusie hieruit is: programmeren is voor iedereen een belangrijke vaardigheid.

Hoe begin je met het programmeer-onderwijs?

De uitdaging voor het onderwijs is dan: hoe kunnen we het "leren programmeren" voor alle leerlingen een succes maken?

Programmeren leren/onderwijzen is anders

Onderwijzen en leren programmeren verschilt in veel opzichten van andere vakken.

Grote verschillen tussen leerlingen

Bij het programmeren zijn de verschillen tussen de leerlingen erg groot: dit kun je vergelijken met de situatie bij muziek en sport (lichamelijke opvoeding). In al die gevallen heb je te maken met leerlingen die al vanaf hun zesde een groot deel van hun vrije tijd hierin steken, en met leerlingen die absolute beginners zijn. Bovendien verschillen leerlingen in hun interesses en voorkeur voor toepassingen, van vormgeving en mode, via muziek, tot techniek.

In het programmmeeronderwijs moet je rekening houden grote verschillen in:

  • niveau
  • tempo
  • interesses

Bij voorkeur biedt je de leerlingen persoonlijke leerpaden die ze in hun eigen tempo kunnen aflopen.

Dit betekent niet dat het onderwijs individueel is: samenwerken en samen leren zijn essentieel. Soms leer je samen met leerlingen van hetzelfde niveau (maar soms met een groot leeftijdsverschil), soms werk je samen met leerlingen van verschillend niveau en interesse. (In een project heb je vaak met een diversiteit aan rollen te maken.)

Samenwerken en communiceren is essentieel

Programmeren doe je in veel gevallen samen: je werkt samen in een project, je bouwt voort op de software van anderen, of je maakt software waar anderen weer mee verder kunnen. Bovendien maak je meestal programma's die door anderen gebruikt moeten kunnen worden.

  • Ook in dit opzicht is er een duidelijke parallel met de wereld van muziek: muziek maak je vaak samen, en muziek maken is communiceren - met de andere musici en met het publiek.

Dit betekent bijvoorbeeld dat het niet voldoende is dat een computer het programma correct uitvoert: ook mensen moeten het programma kunnen lezen en begrijpen. "Netjes en begrijpelijk programmeren" is daarom vanaf het begin van belang.

Theorie en praktijk gaan hand-in-hand

Programmeren is een vaardigheid met een duidelijke theoretische basis. Kennis van de theorie is essentieel, maar niet voldoende: je moet dit in de praktijk kunnen toepassen. En je moet in een praktijksituatie de theoretische concepten kunnen herkennen, om handige en efficiënte oplossingen te kunnen vinden.

Theoretische toetsen spelen daarom een beperkte rol: een leerling moet in de praktijk kunnen laten zien dat hij de theorie beheerst en kan gebruiken (waar relevant).

Er zijn geen pasklare antwoorden

Een programmmeerprobleem heeft vaak meerdere antwoorden: je kunt niet met een antwoordenboekje werken. Als docent moet je kunnen begrijpen wat een leerling gedaan heeft, en hoe dit gewaardeerd kan worden.

Strak omschreven problemen, zoals die gebruikt worden bij programmeerwedstrijden e.d., kunnen soms automatisch gecontroleerd worden. Je moet dan van te voren een test-procedure ontwerpen.

Methodes spelen een kleine rol

Er zijn geen kant-en-klare methodes die alle aspecten van programmeren en informatica omvatten. Daarvoor zijn de verschillen tussen leerlingen te groot. Dit betekent dat je als docent materialen moet kunnen kiezen en en combineren.

Er is heel veel materiaal beschikbaar. Dit geldt zeker voor Engelstalig materiaal, wat in de bovenbouw Havo/VWO een goede mogelijkheid is. Een groot deel van het materiaal is gratis.

Open source materiaal

Veel van het materiaal is "open source". De kracht van open source is in de ICT-wereld vroeg ontdekt, en veel ICT-bedrijven, -organisaties en -professionals zijn gewend aan dit model.

  • Open Source materiaal is onder verschillende licenties beschikbaar. De meest bruikbare zijn (voor lesmateriaal): Creative Commons - naamsvermelding (CC-BY) en Creative Commons - naamsvermelding - gelijk delen Share Alike (CC-BY-SA). Zie: https://creativecommons.org/licenses/
    • Wikipedia gebruikt CC-BY-SA: dit betekent dat je het materiaal mag overnemen, ook voor commerciële doeleinden, mits je je resultaat onder dezelfde voorwaarden beschikbaar stelt. (Er zijn uitgevers die Wikipedia-artikelen bundelen in een boek.)
    • de beperking "niet commercieel" is voor het onderwijs lastig: dit maakt het bijvoorbeeld lastig voor uitgevers om het te gebruiken.
  • bij open source materiaal speelt de community die het ontwikkelt en ondersteunt een grote rol. Een levendige community met voldoende "massa" is wat je zoekt.

De wereld verandert razendsnel

De wereld verandert snel - en dit geldt in het bijzonder voor de ICT-wereld. Dit kun je voor een deel ondervangen door in het onderwijs concepten een grote rol te geven: deze veranderen aanzienlijk minder snel dan de technologie en de toepassingen. Maar je zult deze concepten in de context van de technologie en de toepassingen moeten kunnen uitleggen: dan moet je actueel zijn, anders ben je voor je leerlingen niet relevant.

Voor docenten betekent dit dat ze tijd moeten steken in het bijhouden van de ontwikkelingen. Nascholing op dit gebied is essentieel.



Geschikte vormen en materialen

Ook aan te raden

Relevante organisaties

Nog uitzoeken