Gerard Dummer

Alles over Onderwijs en ICT.

Browsing Posts tagged programmeren

In een vorige post liet ik mijn model zien waarin ontwerpend leren, computational thinking en creativiteit gecombineerd zijn. In deze blogpost een eerste opdracht rondom de BeeBot die hiervan gebruik maakt. Krijg graag feedback op de opzet!

Ontwerpend Leren en de Mogelijkheden Van ICT

Afgelopen blok hebben studenten de keuzecursus Onderwijs ontwerpen voor de 21ste eeuw gevolgd op de HU Pabo. Volgende week is de makerfair met de presentatie van hun techniekproduct en ICT-product. Afgelopen weken ben ik druk bezig geweest (en zal ik nog zijn) met het 3D-printen van de ontwerpen van de studenten. We gebruikten daarvoor de Ultimaker 2. Dat was één van de mogelijkheden waar studenten bij ICT uit konden kiezen (naast een spel ontwerpen in Scratch en een robot bouwen met Lego MindStorms). Daarbij ben ik met verschillende zaken geconfronteerd die ik van te voren niet had bedacht/ doordacht. Ze klinken zo voor de hand liggend dat het achteraf suf klinkt dat ik ze van te van te voren niet heb bedacht. Maar goed volgend jaar beter. Mijn tips bij 3D-printen.

  1. Gebruik Tinkercad voor het ontwerpen van je 3D-model. Ben ik erg tevreden mee en heb er geen student over horen klagen.
  2. Geef van te voren aan dat het 3D-ontwerp niet meer tijd mag kosten om te printen dan … uur. Volgend jaar ga ik voor maximaal 2 uur. In Tinkercad kun je dit niet zien (volgens mij) maar wel in een programma zoals Cura. Dit jaar kreeg ik in eerste instantie ontwerpen van wel 20 uur of meer.
  3. Overschrijdt een ontwerp toch de 2 uur geef dan aan dat je het ontwerp op schaal print. In Cura kun je dit instellen.
  4. De tijd die Cura aangeeft komt niet overeen met de tijd die de printer er daadwerkelijk over doet. Ik merkte dat de printer er zeker 10% langer over deed.
  5. In Cura kun je ook instellen wat de kwaliteit van je print moet worden (Fast, Good, …). Fast is echt voor een prototype. Good is aardig.
  6. Zorg dat het 3D-ontwerp een kant heeft die plat kan liggen. Nu hadden studenten soms ontwerpen gemaakt die ongeveer schuin geprint moesten worden. Dat werkt niet.
  7. Maak een ontwerp waarbij er niet teveel in de lucht geprint moet worden. Sommige ontwerpen hadden behoorlijke uitsteeksels die slechter uit de printer komen dan wenselijk.
  8. Zorg dat de minimale dikte van een 3D-onderdeel zeker 5 millimeter is. Dunnere onderdelen komen er zwakjes uit en zijn breekbaar.
  9. Print één ontwerp tegelijkertijd. Ik dacht tijd te besparen door meerdere ontwerpen tegelijkertijd te printen. Toen het bij één ontwerp misging had dat gevolgen voor de andere ontwerpen.
  10. Callibreer na elke print de plaat waarop je print zodat je zeker weet dat de volgende print er ook weer netjes uit komt.

Meer tips (behalve niet doen :-)). Hoor het graag. Volgend jaar ga ik trouwens de 3D-print opdracht combineren met Lego MindStorms. Persoonlijke tint aan de robot geven. En voor volgend jaar hoop ik ook de tweede 3D-printer aan de praat te hebben gekregen (want die wilde het filament niet laden).

 

 

Tijdens een bijeenkomst met praktijkopleiders gaf ik een korte presentatie wat we doen met wetenschap en technologie op de Pabo. Als introductie liet ik de deelnemers op papier een Bee-Bot programmeren om een bepaalde route af te leggen (Breng de BeeBot thuis). Zie hieronder:

Als hulpmiddel kregen de deelnemers een leeg A4tje. Toen ik rondliep om te kijken hoe de deelnemers de opdracht uitvoerden zag ik dat iedereen het op een andere manier noteerde. Dat had ik niet verwacht. In die bijeenkomst had ik daar verder nog geen conclusies uit getrokken. Wel bleek dat bij de ene notatiewijze er meer fouten werden gemaakt dan bij de andere notatiewijze. Jammer genoeg had ik toen niet de notatiewijzes verzameld

In een bijeenkomst met studenten heb ik de opdracht nog een keer uitgevoerd en de notatiewijzes wel verzameld. Hieronder volgen de verschillende programmeertalen die de studenten kozen:

 

Notatiewijze 1

Notatiewijze 2

Notatiewijze 3

Notatiewijze 4

Notatiewijze 5

Tijdens de les bleek dat studenten die de eerste notatiewijze hadden gekozen (de meest abstracte vorm) de minste fouten maakten. En dat studenten die de vijfde notatiewijze hadden gekozen (de meest concrete vorm) de meeste fouten maakten bij het programmeren.

Naar aanleiding van deze opdrachten valt natuurlijk nog niets te concluderen maar…

Ik vroeg me af:

  • of studenten met een groter ruimtelijk inzicht vaker zouden kiezen voor de abstracte notatiewijze
  • of studenten die voor de abstractie notatiewijze kiezen minder programmeerfouten zouden maken
  • of een hulpmiddel (in de vorm van ruitjes waarin de code moet worden gezet) helpt om bij het schrijven minder fouten te maken
  • of je wel zou moeten willen werken met een hulpmiddel omdat deze het denken ook weer in één bepaalde richting zal sturen.

Of ik hier verder iets mee moet weet ik niet. Ik vond het opvallend dat de verschillende notatiewijzen werden gekozen. Iemand ander hier ook ervaring mee?

Breder getrokken zou je kunnen zeggen: welke strategie helpt studenten/ leerlingen het beste om een programmeerprobleem op te lossen? Zijn er verschillende strategieën? Moet je bepaalde strategieën aanleren?

To zover even mijn overpeinzingen.

 

 

 

 

Rudolf Bekendam, vierdejaars student van HU Pabo – Utrecht heeft een mooi onderzoek gedaan naar de beginsituatie van bovenbouwleerlingen van Daltonschool Rijnsweerd te Utrecht. Daltonschool Rijnsweerd wil een leerlijn programmeren opzetten. Hierover was echter nog te weinig kennis. In het onderzoek van Rudolf heeft hij gekeken naar de beginsituatie van de leerlingen uit de bovenbouw.

Ik vind het een mooi onderzoek. Om verschillende redenen. Het onderwerp spreekt me aan maar vooral de manier waarop hij het heeft uitgewerkt. Belangrijk uitgangspunt in zijn onderzoek waren namelijk de programmeerconcepten (zoals beschreven door Wilson, Hainey, & Connolly, 2012). Deze programmeerconcepten zorgen voor een tooloverstijgende aanpak van programmeren. In de lijst hieronder zie je de programmeerconcepten op een rij.

Ik denk dat het onderzoek van Rudolf verder helpt in het nadenken over programmeren binnen het Nederlandse basisonderwijs.

Onderzoeksverslag Programmeren – Rudolf Bekendam – Pabo ITT HU 2015

Meld je aan voor de kickoff van ScratchMatch via www.scratchmatch.nl! ScratchMatch is de landelijke wedstrijd voor leerlingen in het basisonderwijs en voortgezet onderwijs om het gaafste Scratch project te maken. Op zaterdag 10 oktober is de kickoff in Utrecht van 10.00 tot 14.30 (Hogeschool Utrecht, Padualaan 97). Je kunt daar kennis maken met het programma Scratch en je aanmelden voor ScratchMatch.

Het idee van ScratchMatch
In het schooljaar 2015/2016 start ScratchMatch, een uitdagende en laagdrempelige manier om leerlingen op een leuke manier kennis te laten maken met programmeren. Het idee is eenvoudig: kinderen programmeren in kleine teams (maximaal vier leden) een eigen project (animaties, kunst, spelletjes, muziek of verhalen).
ScratchMatch is een wedstrijd in drie ronden. De eerste ronde is de schoolcompetentie. De tweede ronde de regionale finale en de derde ronde de landelijke finale.

Schoolcompetitie
De eerste ronde is op school. Je speelt elkaars project en daarna mag je punten geven. Let op: je mag geen punten aan jezelf geven, maar alleen aan projecten van anderen. Het populairste project wint de schoolcompetetie en gaat door naar de regiofinale.

Regionale finale
De regiofinales zullen op zaterdag 13 februari gespeeld worden. Tijdens de regionale finale spelen alle schoolwinnaars tegen elkaar. Nadat je elkaars project hebt gespeeld, stem je op de projecten die je het leukst vond.
Naast het spelen van elkaars projecten, leg je aan de jury uit hoe je het spel hebt gemaakt. Samen duik je in de code en laat je zien dat jij een echte codekraker bent! De winnaars van de regionale finales gaan door naar de landelijke finale.

Landelijke finale
De landelijke finale is op zaterdag 23 april 2016 in Utrecht. Tijdens de landelijke finale speel je de projecten van de andere regiowinnaars. Ook hier stem je op elkaars project. Zo worden nummer 1, 2 en 3 bekend gemaakt. Daarnaast is er de juryprijs. De jury kijkt naar originaliteit, creativiteit en programmeerkwaliteiten. Je kunt als team zowel de publieksprijs als de juryprijs winnen.

Meedoen?
Wil je meer informatie? Kom naar de kickoff op zaterdag 10 oktober. Je leert dan direct een tof project bouwen in Scratch! Of kijk op www.scratchmatch.nl en meld je aan voor ScratchMatch. Deelname is gratis en opgeven kan tot 1 december 2015.

Afgelopen week was de Scratchconferentie 2015 in Amsterdam en ik was er een paar dagen bij. Het was een inspirerende conferentie! In deze blogpost zal ik mijn indrukken verwerken.

Vooraf
Vooraf nog even het volgende. Binnen onze Pabo (en alle andere) gaan we meer aandacht besteden aan Wetenschap en Technologie. Hierbinnen spelen onderzoekend en ontwerpend leren een belangrijke (didactische) rol. In dit kader richten we ons vanuit ICT en Onderwijs op het onderwerp makermovement. En binnen dit onderdeel richten we ons vooral op de driedeling die Sylvia Libow Martinez en Gary Stager gebruiken in hun boek Invent to Learn: Fabricating, Physical computing en Programming. Bekijk voor een toelichting daarop de clip van mijn collega Don Zuiderman:

Scratch past dus in dit kader. Het is een manier om op een toegankelijke en aantrekkelijke manier met het onderwerp programmeren aan de slag te gaan.

Programmeren
Het onderwerp programmeren heeft in zichzelf ook een belangrijke waarde. Dat wordt duidelijk gemaakt door allerlei economische lobbygroepen. Van verschillende kanten wordt echter aangegeven dat alleen zo’n economisch perspectief (we hebben programmeurs nodig voor de toekomst) wel erg eenzijdig is. In een van de keynotes gaf Beat Döbeli Honegger uit Zwitserland een mooi overzicht waarom programmeren zo waardevol kan zijn:

1) explanation of the world (grip krijgen op de wereld om je heen)
2) generic competences (algemene competentie; manier om het probleemoplossend vermogen te vergroten’
3) didactical (spreekt bepaalde doelgroep van kinderen aan; succeservaring voor kinderen)
4) preparation for study and job (voorbereiding op studie en beroep; het economisch argument)

Zijn presentatie vind je hier.

Keynote Mitch Resnick
Mitch Resnick is de bedenker van Scratch en een inspirerende spreker. Hij gaf in zijn keynote een paar interessante zaken aan. Redenen om met Scratch aan de slag te gaan zijn verwoord in dit mooie getekend verslag:

1) develop your voice
2) thinking and how to work with others
3) identity: how do you see yourself as a member of the community

De insteek van Resnick zit veel meer op generieke vaardigheden en burgerschap. Het is dezelfde insteek die ik zie bij mensen die actief bijdragen aan Wikipedia of onderwijsvernieuwers. De sfeer had deze conferentie ook.

Een ander mooi punt uit de keynote van Resnick was de term “interest based pathways”. Wil je verschillende kinderen interesseren in het programmeren dan moet je differentiëren in de aanpak. De aanpak van MIT is om dat thematisch te doen (bijvoorbeeld via Hip Hop) en via Microworlds. Microworlds is een uitgeklede en voorgestructureerde omgeving waarin kinderen kunnen programmeren. Voorbeeld van Hip Hop vind je hier.

Tot slot liet hij de omgeving ScratchX zien. In deze omgeving zijn de verschillende extensies van scratch te bekijken en toe te voegen.

Phill Bagge
Wat een enthousiaste spreker is dit zeg! Veel ervaring in het Engelse onderwijs in het geven van programmeerlessen. Van hem hoorde ik de term computational thinking and doing voor het eerst. Zijn belangrijkste les is dat je geen oplossingen moet proberen te geven maar hints en strategieën. Dit ter zelfbescherming en om de hulpeloosheid te doorbreken. Hij maakt onderscheid in twee soorten hulpeloosheid: de lieve en de argressieve.

Verder ging hij in op onderwerpen die belangrijk zijn bij het leren programmeren: decomposing (ontleden van een probleem) en debugging (problemen oplossen). Verder geeft hij aan dat het bij programmeren gaat om het werken met algoritmes (stappenplannen om iets uit te voeren), generalisaties (wat werkt in de ene situatie kan ik toepassen in de andere), abstraction (de overbodige informatie leren weglaten zodat je met de kern van het probleem kunt werken).

Scratch2015ams

Zijn website boordevol informatie vind je hier. Binnenkort verschijnt ook zijn boek over Scratch.

Workshops
De rest van de conferentie heb ik workshops bijgewoond om mijn vaardigheden rondom Scratch te verhogen. De eerste workshop (New Dimensions to Scratch with littleBits and Leap Motion) viel voor mij jammer genoeg in het water omdat ik eduroam niet aan de praat kreeg.

De tweede workshop was Fun with Scratch Junior and other coding games. Daarbij ik samen met iemand anders een tijd bezig geweest met LightBot. Een leuke app waarin je steeds complexere programmeerproblemen moet oplossen.

De mensen van Coding and Bricks lieten Scratch samenwerken met Lego WeDo. Het leuke van hun opzet was dat zij een verhaal als uitgangspunt gebruiken waarin problemen zitten die door programmeren in Scratch en bouwen met Lego WeDo. Zo moesten we het poppetje Scratch uit handen zien te houden van Sulfator. Zo moesten we een brug bouwen die open en dicht ging en moesten we een kooi open laten gaan om Scratch te laten ontsnappen.

In de workshop Scratch in Science: Creating Experiments and Making Sense of the Data gehouden door Steve Holmes uit Ierland konden we allerlei sensoren aansluiten op Scratch en metingen verrichten.

MakeSense01

In de workshop Hip-Hop Dance and Scratch hebben we in de al eerder genoemde Microworld een hip-hop nummer gemaakt.

Tot slot in de workshop Round the Circuit verbonden we de MakeyMakey met Scratch en bouwden zo een basgitaar. In Scratch zetten we een basgitaarcursus in elkaar! Erg leuk om te doen.

Tot slot
Bekijk zeker de keynote Linda Liukas, huur de mensen van getekend verslag ook een keer in en ga zelf een keer aan de slag met Scratch!

Wie doet mee met het organiseren van een landelijke Scratch-wedstrijd voor het PO en VO? Idee van de wedstijd is simpel: wie bouwt het leukste spel? Opzet van de wedstrijd is als volgt: leerlingen bouwen in Scratch een spel. Leerlingen mogen dat alleen doen of in een groepje. Alle leerlingen van een school die hebben meegedaan, doen mee aan de schoolcompetitie. Ze spelen elkaars spel en stemmen op het spel dat ze het leukst vinden. Ze mogen daarbij natuurlijk niet op hun eigen spel stemmen (opzet zoals in het Eurovisiesongfestival). Het team dat het leukste spel heeft gemaakt volgens de anderen gaat door naar de provinciale competitie. Daar speelt het team de spellen van de andere schoolwinnaars. Ook hier stemmen de teams op elkaars spel. Per provincie komt er weer een winnaar uit. Deze provinciewinnaars gaan door naar de landelijke finale. En daar spelen de provinciewinnaars tegen elkaar en komt er een nummer 1, 2 en 3 uit.

Samen organiseren?
Dat is het idee. Nu nog mensen die het samen met mij willen organiseren. Voor de organisatie mag iedereen die zich hiertoe aangetrokken voelt zich melden. Belangrijk om te weten dat ik geen bedrijf ben en dus geen geld heb om iemand te betalen. Als je meedoet, doe je dat omdat je het leuk vindt om dit op te zetten. Als jij toevallig iemand bent die dit wil sponsoren dan hou ik me natuurlijk van harte aanbevolen! Zonder sponsoring zullen we dit denk ik niet van de grond krijgen. Mogelijkheden tot sponsoring kunnen we bespreken.

Wat is er voor nodig?
Om dit te laten slagen is er wel het een en ander nodig. Een online omgeving waar mensen zich kunnen aanmelden en informatie kunnen vinden. Per provincie een locatie en coördinator die de provinciale wedstrijden organiseert. En voor de landelijke finale natuurlijk ook een plek waar dit gehouden kan worden. En voor de winnaars moeten er natuurlijk leuke prijzen komen!
Waarschijnlijk is er nog veel meer voor nodig. Daarom zoek ik ook mensen die dit landelijk met mij willen coördineren. Ik denk dat als we dit met een groep trekken we iets moois van de grond kunnen krijgen.

Waarom doe ik dit?
Ik heb nu al een paar keer kunnen ervaren hoe leuk het is om in Scratch iets te bouwen en hoeveel mogelijkheden het programma kent. Ik denk dat de opzet van een wedstrijd een mooie manier is om kinderen in aanraking te brengen met programmeren. Dit geldt voor alle kinderen en jongeren. Ook voor diegenen die later geen programmeur willen worden.

Contact
Wil je meehelpen bij de landelijke organisatie? Wil je meehelpen als provinciale coördinator? Wil je meedenken met de verdere opzet van deze wedstrijd? Ken je mensen die ik hiervoor zeker zou moeten benaderen? Heb je tips of ideeën? Neem dan contact met mij op. Dat kan via de mail (gerarddummer apenstaartje hotmail punt com), via twitter (@gerarddummer) of als comment onder dit bericht.
Als er genoeg enthousiastelingen voor zijn die mee willen helpen met organiseren dan hou ik een eerste bijeenkomst om alle plannen verder door te spreken.

O ja
Scratch is een gratis programma dat online gebruikt kan worden. Er zijn dus geen kosten aan verbonden om mee te doen. Bovendien zijn er heel veel handleidingen online te vinden die uitleggen hoe je het kunt gebruiken.