Ouders Online
Archief
Productinformatie - Small Basic

17 april 2009

Wie op zoek is naar een programmeer-omgeving voor kinderen, komt al snel uit bij Small Basic van Microsoft. Hoe bruikbaar is dit product?
 


Makkelijk programmeren?

door Henk Boeke

Zijn roem is zijn naam al vooruitgesneld: Small Basic van Microsoft is nog niet eens toe aan versie 1.0 en nu al zou het dé ultieme ontwikkelomgeving moeten zijn om kinderen vanaf 10 jaar te leren programmeren. Klinkt spannend. Maar is het werkelijk zo'n briljant product? We zijn benieuwd!

Het idee achter Small Basic is dat de Basic-programmeertaal weer teruggebracht moest worden naar zijn oorsprong, namelijk een makkelijke taal waar iedereen zó mee aan de slag kan. Maar dan wel met behoud van alle gemakken en faciliteiten waar we inmiddels aan gewend zijn. En vooral: een taal waar kinderen inspiratie uit kunnen putten en plezier aan kunnen beleven.

Dat was wel nodig, omdat Basic in de loop der jaren steeds complexer is geworden, met dermate veel mogelijkheden dat je door de bomen het bos niet meer kunt zien. Vanaf Windows 95 wordt Basic ook niet meer standaard meegeleverd met nieuwe PC's.

Maar 15 keywords
"Small Basic heeft maar 15 keywords" (sleutelwoorden, zoals if-then-else), juichen de recensenten. "En je hoeft ze niet eens volledig uit je hoofd te kennen omdat ze automatisch worden aangevuld."

Tegelijkertijd kun je met heel weinig middelen al heel veel doen. Zo zijn er maar twee regeltjes code nodig om een willekeurige strandfoto van de foto-site Flickr te downloaden, en in te stellen als Bureaublad-achtergrond:

plaatje = Flickr.GetRandomPicture("strand")
Desktop.SetWallPaper(plaatje)

Tja... die recensenten hebben zelf geen kinderen, denk ik. "Maar 15 sleutelwoorden" klinkt leuk, maar zoals je kunt zien aan het bovenstaande voorbeeld – waar geen enkel sleutelwoord aan te pas komt – is Small Basic een object-georiënteerde taal (of althans iets wat daarop lijkt), wat toch een behoorlijk lastig concept is. Ga d'r maar aanstaan, om objects, methods en classes, de kernbegripen uit het object-georiënteerd programmeren, uit te leggen aan kinderen. Zeker voor ouders die niet zelf programmeren, lijkt me dat heel moeilijk.

Maar misschien zie ik het te somber. Ik vind Chinees een heel moeilijke taal, maar Chinese kinderen hebben daar helemaal geen last van...

De uitleg aan mijn zoon heb ik in ieder geval sterk vereenvoudigd, door te vertellen dat het woord vóór de punt een object is (met bepaalde eigenschappen en mogelijkheden) en dat het woord áchter de punt de bijbehorende eigenschap aangeeft. Dat zo'n eigenschap ook een actie kan inhouden, merkte hij na een tijdje vanzelf, aan de hand van de voorbeelden die ik gaf.

Downloaden en installeren
Aan de slag! Het downloaden en installeren van Small Basic is een fluitje van een cent. Maar om het te laten werken, heb je wel het .NET Framework (versie 3.5 of hoger) nodig. Als deze hulp-software, die onzichtbaar zijn werk doet, niet op je computer staat, vraagt de Small Basic installer er zelf om. De weg wijst zich vanzelf, het enige is dat het even tijd kost.

Na de installatie verschijnt er helaas geen 'Small Basic'-icoon op je Bureaublad, dus starten doe je via Start > Programma's > Small Basic. Daar vind je tevens een tutorial (korte cursus).

Resultaat na de start:

Small Basic programmeer-omgeving
 

Tip: maak na het installeren meteen reserve-kopieën van de voorbeeld-programma's (die staan in de map 'Mijn documenten\SmallBasic\samples'). Small Basic kent namelijk geen 'Save as'-functie om bestanden onder een andere naam te bewaren, waardoor je de voorbeeld-programma's makkelijk overschrijft, als je ermee hebt zitten spelen.

Een middagje spelen
Aan de hand van de tutorial hebben mijn zoon en ik een middagje zitten spelen, wat zowel vermakelijk als inzichtgevend was. Vermakelijk omdat ik voortdurend op mijn vingers werd getikt als ik te veel of te weinig uitlegde (of gewoon een fout maakte), en inzichtgevend omdat je meteen merkt wat nu eigenlijk wel en niet begrijpelijk is voor een kind.

Wat me bijvoorbeeld opviel, is dat het voor een kind heel lastig is om te begrijpen wat er nou precies gebeurt als de inhoud van een variabele (in dit geval "i") niet zichtbaar wordt gemaakt.

Dus:

For i=1 To 10
TextWindow.WriteLine(i)
EndFor

om de getallen van 1 tot 10 onder elkaar te laten afdrukken, is wél begrijpelijk.

Maar:

For i=1 To 10
TextWindow.WriteLine("Leuk!")
EndFor

om 10 keer de uitroep "Leuk!" onder elkaar te laten afdrukken, blijkt onbegrijpelijk te zijn.

Pas wanneer je de inhoud van het tellertje erbij laat zetten, valt het kwartje:

For i=1 To 10
TextWindow.WriteLine(i + " Leuk!")
EndFor

Als je vervolgens laat zien hoe je met een while-lus een herhaling kunt realiseren als je vooraf niet weet hoe vaak de actie herhaald moet worden, levert dat overigens geen begripsproblemen.

Tip: volg gewoon de stappen uit de tutorial. De opbouw die daar gehanteerd wordt, sluit goed aan bij het bevattingsvermogen van kinderen.

Bijzondere mogelijkheden
Leuk aan Small Basic zijn de Import- en Publish-mogelijkheden. Als je een programma hebt gemaakt dat je wilt delen met vrienden, activeer je de knop Publish. Dan krijgt je programma een volgnummer en wordt het op een centrale server geplaatst. Vervolgens kunnen anderen, met behulp van dat volgnummer, het programma importeren in hun eigen Small Basic-omgeving, om te kijken wat het doet.

Ook de grafische mogelijkheden zijn de moeite waard, evenals de geluids-faciliteiten. Daar kan je kind wel even zoet mee zijn!

Documentatie
De tutorial bevat hier en daar nog wat witte plekken ("TO DO", staat er dan), wat niet echt rampzalig is. Ernstiger vond ik het ontbreken van een naslagwerk waarin alle taalelementen en hun syntaxis (gebruikswijze) beschreven zijn. Over het array-object lees je bijvoorbeeld niets in de tutorial, en over het sound-object ook niet.

Een bruikbaar alternatief vond ik op smallbasic.com/doc. Daar staan alle mogelijkheden netjes op een rijtje.

De meegeleverde tutorial is in ieder geval wel zeer geschikt voor ouders. Je leert er veel van, en de opbouw is prima. Maar voor (kleine) kinderen die zelfstandig aan de slag willen, is hij voorlopig onbruikbaar omdat hij in het Engels is.

Tip (toegevoegd op 10 juni 2009): lezeres Wilma Wonnink maakte ons erop attent dat zij de tutorial vertaald heeft. Hij is beschikbaar als pdf-document (2.13 MB) op haar website hetwebvoorjou.nl.

Conclusie

  • Small Basic is de moeite waard om eens te bekijken, maar lang niet zo makkelijk als gesuggereerd wordt;
  • om je kind te kunnen begeleiden moet je zelf wel wat weten van programmeren en met name van object-georiënteerd programmeren;
  • wat ontbreekt is een naslagwerk met een overzicht van alle taalelementen en de bijbehorende syntaxis.

    Besproken product: Small Basic 0.3.1
    Producent: Microsoft DevLabs
    Systeemeisen: Windows XP of Vista, .NET versie 3.5
    Downloaden: smallbasic.com
    Documentatie: smallbasic.com/doc
    Prijs: gratis

    Let op: er bestaat ook een open source programma dat Small Basic heet, te vinden op Sourceforge.net. Dat is dus niet de hier besproken Small Basic van Microsoft. De open source variant is veel uitgebreider en echt ongeschikt voor kinderen. Houd daar rekening mee als u op zoek gaat naar aanvullende informatie. Alle zoekresultaten die beginnen met smallbasic.sourceforge.net kunt u overslaan.

    Henk Boeke
    [email protected]