Uit het onderzoek (bron 2) blijkt dat leerlingen de syntax van veel professionele talen niet (goed) begrijpen. Het is te moeilijk en het demotiveert. De onderzoekers pleiten vervolgens voor een visuele taal met een werkelijk doel, in dit geval het maken van een app voor een mobiele telefoon (appinventor.mit.edu).
Onze ervaring is dat leerlingen in het VO sneller en beter werken met Basic dan met veel visuele talen zoals Mindstorm en flowcharts.
Via Basic naar Java, C (Arduino) etc.
Wil je de leerling een professionele taal aanleren raden wij aan toch met Basic te beginnen om de hieronder genoemde reden. Het leren programmeren vinden wij belangrijk (zie doelstelling), maar dat hoeft geen professionele taal te zijn. Een professionele taal is belangrijk voor leerlingen die dat later nodig hebben. Bovendien zien vervolgopleidingen graag platform onafhankelijk denken d.m.v. het aanleren van meerdere programmeertalen.
1 structuur:
Basic werkt regel na regel af en voert een sprongopdracht uit als die gegeven wordt. Er staan enkel regels in je programma die uitgevoerd worden. Geen “void();” e.a. die afleiden en begrip in de weg staan. Dat een microprocessor of computer stap voor stap doet wat je het opgeeft in je programma is iets dat de leerlingen eerst moeten leren. Bijna alle leerlingen maken hier (denk) fouten in. Met Basic is dit begrip heel duidelijk en snel hebben alle leerlingen deze structuur door zonder dat je theoretische verhandelingen hoeft te houden. De simulator kan hier enorm bij helpen.
Als de leerlingen in Basic hebben leren werken met subroutines met het meegegeven van variabelen kan je binnen Basic overstappen op macro’s. Deze zien er het zelfde uit als functies in C. Daarna kan de overstap naar bijv. de Arduino met zijn C+ achtige taal gemaakt worden. Je kunt dan de accolades {} aan de hand van de subroutine uitleggen.
2 fouten:
De kans op fouten is bij Basic vele malen kleiner dan bij de Arduino-taal (zie Boktor versus Arduino). Tevens is de foutopsporing bij Basic veel beter en kan het programma in de simulator getest worden.
Basic: high led
Arduino: digitalWrite(led, HIGH);
Een klassikale start met Arduino lijdt hierdoor meestal tot problemen, bij Basic kan de leerling zichzelf redelijk redden en heb je deze problemen nauwelijks. Heeft men echter met basic (voldoende) programmeerervaring opgedaan, is de leerling wel in staat zelf de meeste fouten bij het programmeren met de Arduino-taal te vinden.
Bron 1 : Scriptie Ferdi van der Werf
Bron 2: Onderzoek naar mobiele apparaten als leerplatform voor Informatica in het VO