March 2, 2016

Onderzoek naar Scratch

(note: this page is available in English too)

Misschien ken je mij van mijn onderzoek naar Excel, maar de laatste tijd heb ik ook gewerkt aan programmeren voor kinderen met Scratch. Op deze pagina vind je informatie over onze onderzoeken.

Ruim je code op!

Van hoe ‘gewone’, volwassen professionele programmeurs werken, weten we behoorlijk wat. Een van de dingen die we weten is dat het veel uitmaakt hoe je je code opschrijft. Niet voor een computer, die leest het allemaal wel, als de computertaal maar goed staat, maar wel voor een mens. Als je je stukjes code bijvoorbeeld heel lang maakt, maken mensen meer fouten. Vergelijk dat met een heel lang stuk tekst zonder punten en komma’s dat kan feitenlijk helemaal juist zijn maar het is toch verdraaid moeilijk om te lezen. Dat heb je vast zojuist gemerkt 🙂

Nu vroegen wij ons af, is dat nou bij kinderen die met Scratch werken ook zo? Korte samenvatting: ja. We hebben een experiment gedaan met brugklassers op het Stanislas en Delft, waar we de kinderen stiekem, zonder dat zij het wisten, in 3 groepen verdeelden. Ze kregen hetzelfde programma, functioneel gezien, maar sommige versies hadden we met opzet slecht in elkaar gezet. De punten en komma’s verwijderd, zeg maar. Dat bleek dus flink verschil te maken.

Als je er alles over wilt lezen hoe we het precies hebben aangepakt en wat de resultaten waren, kun je hier een voorpublicatie vinden(Engels), die is een mei verschenen op de International Conference on Program Comprehension.

Wat doen kinderen eigenlijk in Scratch?

Toen we wisten dat niet opgeruimde programma’s niet goed te lezen zijn, wilden we nog wat meer van Scratch gebruik weten. Gelukkig kun je heel veel Scratch programma’s online vinden. Misschien heb je dat wel eens gedaan via ‘explore‘ op de site van Scratch. Om te weten wat mensen met Scratch maken hebben we 250.000 programma’s bekeken. Niet met de hand natuurlijk he? Dat is een beetje te gek! We schreven een computerprogramma om computerprogramma’s voor ons te lezen. Is dat niet gaaf?

Dat ging sneller dan met de hand, alhoewel ons programma er ook nog wel een dagje voor nodig had om dat allemaal te lezen. Ons programma vond we;

Hoe groot zijn de programma’s?

We bekeken eerst hoe groot Scratch programma’s over het algemeen zijn. Meestal zijn ze niet echt groot: 75% had minder dan 5 sprites, maar we vonden ook gigantische programma’s. Er waren bijvoorbeeld 11,214 programma’s met meer dan 500 blokken! Dat vinden we al best indrukwekkend.

Wat doen mensen precies?

Sommige soorten blokken zijn duidelijk populairder dan anderen. De pen en geluid blokken worden het minst gebruikt:

Capture

Het aantal blokken per categorie

Eigen blokken

Met Scratch kun je ook je eigen blokken maken. We zien in de programma’s dat dat ook niet echt een populaire feature is. Maar 17,979 programma’s gebruiken ‘maak een blok’.

Wat interessant is om te zien is dat de blokken vaak 0 of 1 keer gebruikt worden. Dat is gek, want je zou zo’n blok juist moeten maken zodat je het dan vaker kan gebruiken. Dat doet dus lang niet iedereen! Het zou een interessant vervolgonderzoek kunnen zijn om te bekijken in welke situaties een blok dan toch gemaakt wordt.

Capture2

Aantal keer dat eigen blokken “aangeroepen” worden

“Smells”

Vanwege ons vorige onderzoek waren we natuurlijk vooral benieuwd hoe “smelly” de programma’s zijn! Want we weten inmiddels dat smells slecht zijn. Die maken het moeilijk voor kinderen om programma’s te lezen of aan te passen. We hebben gekeken naar drie soorten smells: kopieën in een programma, “dead code”, dat zijn blokken die helemaal niet gebruikt worden en hele grote programma’s.

  1. Kopieën zagen we vaak: we vonden 170,532 scripts gekopieerd tussen sprites. Dat betekent dus dat dezelfde combinatie van blokken op meerdere plekken in een project voorkomt. 25% van de projecten hadden zulke dubbele blokken. Als programmeurs vinden we zulke kopieën niet handig, want als je iets wilt veranderen moet je dan in al je kopieën doen. 10% van de projecten had zelfs kopieën in dezelfde ‘sprite’ (hetzelfde poppetje).
  2. Niet gebruikte blokken kwamen nog vaker voor: in 28% van de programma’s. Dat vinden we ook niet mooi, want dat staat alleen maar in de weg als je een programma wilt lezen.
  3. Grote programma’s zijn ook niet zeldzaam! 30% van de programma’s had minstens 1 script (een groep blokken) met meer dan 18 blokken. Dan zit je qua grootte in de top 10% van scripts. 14% van de programma’s had een sprite met meer dan 59 blokken, dat is ook de top 10% maar dan voor sprites. Een groot programma, je raadt het al, dat leest ook niet fijn! Dat zagen we in het eerste onderzoek wel.

Ook van dit programma kun je een voorpublicatie van lezen. Het paper verschijnt in september op de International Computing Education Research (ICER) conferentie.

Doe ook mee!

We zijn nog op zoek naar kinderen (6-14) om mee te doen aan nieuw onderzoek. We zoeken twee soorten vrijwilligers:

  1. Duos van een kind met een ouder/verzorger. Voor dit onderzoek gaan we jullie dan een maand lang ieder weekend een werkboek sturen, zoals die hierboven, die je kind gaat uitvoeren. Na afloop meten we dan welke vaardigheden je kind heeft opgedaan.
  2. Docenten met een hele klas of een aantal pluskinderen. Docenten kunnen meedoen aan een onderzoek zoals hierboven uitgelegd, waarbij we een les Scratch combineren met een onderzoek waarin we kinderen verschillende versie van programma’s geven. Hiervoor hoeft je klas nog geen ervaring te hebben, en je kunt zelf ook meedoen en Scratch leren, want wij regelen alles!

Klinkt dat leuk? Mooi! Geef je hier op.

In het nieuws