Swift Playgrounds opdracht

Review: Swift Playgrounds, Apple’s programmeercursus is niet alleen leuk voor kinderen

We testen Swift Playgrounds, een nieuwe app van Apple waarmee kinderen (en volwassenen) kunnen leren programmeren. Met leuke opdrachtjes leer je steeds meer programmeerprincipes kennen. Maar kun je na afloop ook een eigen app maken?
Gonny van der Zwaag - · Laatst bijgewerkt:

Voor kinderen is leren programmeren net zo belangrijk als leren rekenen en een vreemde taal leren. Je kunt er dan ook niet vroeg genoeg mee beginnen en Apple’s nieuwe Swift Playgrounds-app gaat kinderen daarbij helpen. Ik probeerde het uit, om te kijken hoe Apple de principes van het programmeren uitlegt aan kinderen en of de app ook leuk is voor volwassenen.

Swift Playgrounds opdracht

Code schrijven én problemen oplossen
Gelukkig hoefde ik niet te beginnen als groentje. In een ver verleden heb ik wel eens leren programmeren (Basic, Pascal, C++ en Prolog) en ben zelfs een tijdje software-ontwikkelaar geweest, maar ik kwam er al snel achter dat functioneel ontwerpen meer mijn ding is. Hoe je een concreet probleem kunt omzetten naar stappen die je kunt automatiseren vond ik interessanter dan uitdokteren waarom een specifieke functie niet goed werkt. Met Swift Playgrounds leer je een beetje van beide: je leert de principes van het programmeren, gaat zelf functies bedenken, maar je bent ook bezig met het vinden van patronen, waardoor je niet alle handelingen handmatig hoeft uit te schrijven. En je leert ook om een groot probleem te verdelen in kleinere stukken, zodat het minder complex wordt.

Swift Playgrounds: leer programmeren met Byte

Meerdere oplossingen bij elke puzzel
Hoofdfiguurtje Byte is een slungelig beertje met één oog, die alle edelstenen op het speelbord moet pakken en schakelaars moet omzetten. Je kunt dat op meerdere manieren oplossen: door nauwkeurige instructies te geven hoe Byte moet lopen (maar dat is erg omslachtig), door Byte een tijdje willekeurig over het speelbord te laten lopen (maar dan weet je niet of hij alle vakjes wel bezoekt) of door een paar slimme condities, functies en for-loops te verzinnen zodat je zeker weet dat Byte in zo kort mogelijke tijd alle vakjes aandoet. Wat Apple betreft maakt het niet zoveel uit welke oplossing je verzint, als je maar zorgt dat de oplossing klopt.

Swift Playgrounds: veters strikken

In de uitleg wordt de link gelegd naar onderwerpen die herkenbaar zijn voor kinderen, zoals het strikken van veters. Die uitleg is overigens alleen in het Engels beschikbaar. Voor mij geen probleem, maar voor heel jonge kinderen (en ouders die niet zo handig zijn in het Engels) zou een Nederlandse vertaling welkom zijn.

Swift Playgrounds: veters strikken met code

Swift Playgrounds is alleen beschikbaar voor de iPad (iOS 10 is vereist) en leert kinderen hoe je programmeert en apps maakt. Ouders en docenten hebben er ook iets aan, zeker als ze nog weinig ervaring met programmeren hebben. Wat me meteen opviel bij deze app is dat het zo leuk mogelijk is gemaakt. Er zijn ondertussen heel veel apps om kinderen te leren programmeren en soms zijn ze wat knullig uitgevoerd, omdat vooral de educatieve kant voorop staat.

Bij Swift Playgrounds is aan alles gedacht. Het leert je de programmeerprincipes, maar het is ook grafisch knap gemaakt en het ziet er aantrekkelijk uit. Byte maakt gekke bewegingen, raakt verveeld als je te lang aan het programmeren bent en trekt een gekke bek als jouw code niet blijkt te werken. Schaduwen en belichting zorgen ervoor dat Byte echt tot leven komt, ook al doet ‘ie weinig meer dan ademen, met z’n armen zwaaien en over vakjes lopen.

Swift Playgrounds startscherm

Ook leuk is dat Swift Playgrounds volgens Apple-topman Craig Federighi al in 100 scholen wereldwijd wordt gebruikt om te leren programmeren. Er zitten daarom een aantal functies in waarmee je je programmeerwerk aan anderen kunt laten zien, bijvoorbeeld door een filmpje of foto te maken of door live te streamen. Die functie kregen is mogelijk dankzij ReplayKit in iOS 10, maar we kregen het in Swift Playgrounds nog niet werkend. Apple verwees met door naar geschikte streaming-apps in de App Store, maar toonde vervolgens alleen de Apple Store-app.

Swift is de eigen programmeertaal van Apple, die tijdens WWDC 2014 werd aangekondigd. Apple heeft het in vier jaar tijd ontwikkeld als dé taal om apps voor iOS, Mac, Apple Watch en Apple TV mee te maken. In twee jaar tijd is het een erg populaire taal geworden, maar erg toegankelijk is het nog steeds niet. Als je vanaf het nulpunt moet beginnen (zeker als kind) is het lastig om je weg te vinden. Swift Playgrounds haalt vrijwel alle drempels weg. Je gaat bezig met het oplossen van allerlei puzzels en ondertussen leer je ongemerkt de programmerconcepten zoals logische operatoren, conditionele code, for-loops, functies en algoritmes. Dit zit allemaal in ‘Learn to Code 1’, een bundel lessen waar je makkelijk twee weken mee bezig bent als je elke avond even een uurtje met de puzzels aan de slag gaat. In ‘Learn to Code 2’ leer je werken met variabelen, types, parameters, arrays en het gebruik van instanties van verschillende types. Onderweg leer je ook bugs vinden en oplossen.

Swift Playgrounds conditionele code

Echte code, waar je later ook nog wat aan hebt
Ik heb eerder de app Box Island geprobeerd, dat een beetje volgens hetzelfde principe werkt. Ook daar moet je een poppetje over blokken laten lopen naar het gewenste eindpunt, een principe dat je ook in veel spelletjes ziet. Bij Box Island liep ik op een gegeven moment vast, waardoor ik er geen lol meer in had. Swift Playgrounds vind ik op twee punten beter: mocht je er niet uit komen, dan geeft de app je een aantal hints. Lukt het nog steeds niet, dan kun je eventueel de oplossing bekijken, de opdracht resetten en zelf proberen het alsnog te doen. Bovendien krijg je bij Swift Playgrounds echte code te zien, met accolades ({) en logische operatoren zoals && en ||. Je leert dat je je code netjes moet structureren en dat je accolades niet zomaar achterwege kunt laten. Bij Box Island is dat niet het geval.

Verder vind ik het ook positief dat de code die je schrijft daadwerkelijk wordt uitgevoerd. Andere apps vergelijken vaak of je de standaardoplossing hebt gevonden, maar bij Swift Playgrounds maakt dat niet uit: als het eindresultaat klopt, gaat Byte dansen en krijg je (Amerikaans getinte) aanmoedigingen. Tegelijk is jammer dat je daarna niet meer de hints kunt bekijken om te zien hoe Apple het zelf heeft opgelost.

Links de code, rechts de puzzel

Op het linkerdeel van het scherm schrijf je de code, rechts zie je de puzzel die je moet oplossen. Ben je klaar, dan kun je met ‘Run My Code’ kijken of jouw oplossing klopt. Je leert daarbij ook het probleem op te delen in stukken, dus als je speelveld uit 3 grote delen bestaat kun je ook eerst code schrijven voor het eerste deel en controleren of het werkt. Daarna voeg je code toe voor de volgende delen. Stapsgewijs leer je steeds nieuwe dingen, waarbij je eventueel ook voor een quick and dirty-oplossing kunt kiezen, als je er echt niet uitkomt. Apple vindt het prima en geeft je geen suggesties hoe je het slimmer had kunnen aanpakken. Maar als je echt wilt leren, is het toch handig om even de ‘officiële’ oplossing te bekijken. Als je bepaalde principes niet in praktijk brengt, kun je later vastlopen omdat je niet genoeg tijd hebt genomen om ze onder de knie te krijgen.

Apple gaat gaandeweg meer lessen en voorbeelden toevoegen. Je vindt nu in de Playground bijvoorbeeld een Brick Breaker-spelletje, Battleship, Blink en Drawing Sounds, waarmee je bestaande code kunt aanpassen om te zorgen dat een spelletje net iets anders reageert. Ook kun je je eigen audio en graphics toevoegen. Ben je klaar, dan kun je je code met anderen delen via de Berichten-app, Mail of AirDrop. De filmpjes die je hebt gemaakt zet je op YouTube. Je kunt de code ook exporteren naar Xcode, zodat je er een echte app van kunt maken.

Swift Playgrounds: een logisch labyrinth

Maar leer je nu écht programmeren?
Je kunt je afvragen of kinderen wel genoeg leren om vervolgens een echte app te maken. Maar het is een mooie eerste stap om in ieder geval de principes te leren kennen. Als je klaar bent met de lessen ben je in staat om eenvoudige programmaatjes te lezen en zelf aanpassingen te doen. Daarmee heb je een eerste stap gezet om echt te leren programmeren. De principes komen ook op andere momenten van pas, als je bijvoorbeeld de lampen in huis wilt automatiseren en met apps als IFTTT en LaunchPad (of met Apple’s eigen Automator) aan de slag wilt. Die blijken dan opeens heel simpel in gebruik.

In hoeverre je je kinderen los kunt laten op deze app, ligt wel een beetje aan de mate waarin ze talent hebben. Het ene kind zal het meteen leuk vinden en als een razende door de lessen heen gaan, terwijl een ander kind al bij de eerste puzzel in huilen uitbarst. In ieder geval kun je de app zonder risico installeren: advertenties en in-app aankopen zitten er niet in en als ze er niets aan vinden, leggen ze het vanzelf aan de kant.

Swift Playgrounds: functies

Conclusie Swift Playgrounds-app

Swift Playgrounds leert kinderen programmeren, zelfs als ze dat nog nooit hebben geprobeerd. Die belofte maakt Apple met Swift Playgrounds waar en het is nog leuk om te doen ook. Als volwassene heb ik me geen moment verveeld. Zelfs als je al wat kennis van de programmeerprincipes hebt, is het toch nog best een uitdaging om de puzzels op te lossen met de principes die je net geleerd hebt. Voor heel jonge kinderen kunnen de opdrachten daardoor iets te moeilijk zijn. Maar veel makkelijker had Apple het ook niet kunnen maken, want uiteindelijk wil je toch ook iets kunnen maken, dus de moeilijkheidsgraad moet wel op een bepaald niveau liggen. De schrijfwijze die je leert is direct toepasbaar in echte projecten, zodat je na het volgen van de lessen al aardig in staat bent om bestaande code te lezen en zelf aanpassingen te doen. Voor het maken van een eenvoudige game, eventueel op basis van een sjabloon, moet dat voldoende zijn.

Swift Playgrounds: tools

Dus om antwoord te geven op de vraag: kun je na afloop een eigen app maken? Ja! Misschien niet from scratch maar als je een van de voorbeeldprojecten pakt en daarop je eigen variaties maakt (dat doen echte programmeurs toch ook?) dan moet het lukken om een app te maken die goed genoeg is om bij de App Store in te dienen. Veel zal afhangen van de vraag of je kind er aanleg voor heeft. Maar ja, dat geldt ook als je je kind naar muziekles of een voetbalclub stuurt.

Pluspunten

  • Gratis te gebruiken, geen reclames en in-app aankopen
  • Mooi gemaakte app met steeds wisselende animaties
  • Leuk en leerzaam om te doen, je verveelt je geen moment
  • Je leert echte code schrijven en lezen, dus geen speelgoedtaal
  • Goede opbouw van de lessen, waardoor je gaandeweg steeds meer leert
  • Met de sjablonen kun je zelf gaan variëren, waardoor je uiteindelijk een echte app kunt maken (en de code exporteren naar Xcode)

Minpunten

  • Alleen voor de nieuwste iPads met iOS 10 (terwijl veel kinderen een oudere iPad hebben)
  • Elke oplossing die werkt is goed, je krijgt geen feedback hoe het beter kan
  • Uitleg niet in het Nederlands

Beschikbaarheid
Swift Playgrounds is gratis te downloaden vanuit de App Store en is compatibel met de iPad Air 1 en 2, iPad Pro en iPad mini 2/3/4 waarop iOS 10 draait. Op Apple’s website vind je meer informatie en downloaden kan via onderstaande link.

Suggestie hoe we dit artikel kunnen verbeteren? Laat het ons weten!

Informatie

Laatst bijgewerkt 21 september 2016, 11:22
Categorieën Kinderen, Onderwijs
Onderwerpen kinderen, programmeren
Software iOS 10

Reacties zijn gesloten voor dit artikel.