Arduino.ZEEF.com

ZEEFRecent ben ik samen met mijn Co-Founders gestart met de startup ZEEF. Ons doel is om het makkelijker te maken om informatie van hoge kwaliteit te vinden op het internet. Experts op allerlei onderwerpen kunnen ZEEF gebruiken om hun passie of expertise te delen.

Uiteraard heb ik ook enkele onderwerpen op ZEEF in beheer, bijvoorbeeld Apple en Photography. Zoals je merkt zijn deze pagina’s in het Engels, we richten ons namelijk in eerste instantie vooral op de Verenigde Staten.

Arduino.ZEEF.com

Een voor informatica interessant subject is Arduino. Ik heb hier al veel over geschreven en blijf enthousiast over dit onderwerp. Arduino is een toegankelijk platform wat zeer goed te gebruiken is in het onderwijs. Op de ZEEF pagina is een overzicht te vinden van de verschillende boards en zijn verwijzingen te vinden naar vele nuttige websites. Heb je zelf toevoegingen? Laat het me hieronder weten, of gebruik de Suggest knop op ZEEF!

Als docent bent ook u expert, help mee het internet te filteren en begin ook een ZEEF pagina (in het Engels).

Scrum in de les – lesplan en ervaringen

Scrum in RugbyScrum is een populaire agile softwareontwikkelmethode. Zelf pas ik al enige jaren Scrum toe in de development teams van M4N en ZEEF: J-Development. Ik heb hierin de verschillende rollen (zie hieronder) vervult en vond het hoogste tijd om Scrum ook in mijn klas toe te gaan passen! Deze blog gebruik ik om uitleg te geven over Scrum, daarbij zal ik mijn Scrum-les beschrijven en ervaringen delen.

Het Scrum proces is in 1993 door Jeff Sutherland ontwikkeld. Samen met Ken Schwaber formaliseerden zij dit. Scrum beschrijft het proces van iteratief plannen en ontwikkelen van een software product. Dit proces is er voor bedoelt om de effectiviteit van een team te verhogen, de voortgang te bewaken en impact van blokkades te minimaliseren.

Rollen

Binnen Scrum worden er drie belangrijke rollen onderscheiden: Scrum Master (faciliteert en bewaakt het proces), Product Owner (vertegenwoordigd de klant) en team lid. Tesamen vormen zij het Scrum team (de pigs) en maken zei het product. Alle overigen zijn vanaf de zijlijn betrokken. Zij worden ook wel chicken genoemd, naar het verhaal The Chicken and the Pig.

"The Chicken and the Pig" in stripvorm

“The Chicken and the Pig” in stripvorm

Het Scrum proces

Het Scrum proces is zoals eerder gemeld iteratief. De Product Owner stelt een zogenaamde backlog samen. Dit is een overzicht van alle taken die gedaan moeten worden gesorteerd op belangrijkheid. Deze taken – stories genoemd – worden opgeschreven vanuit een business/klant oogpunt. Het team werkt in sprints van 2 tot 4 weken. Een sprint is een korte periode waarvoor werk geplant wordt. Aan het begin van een sprint wordt gezamenlijk bepaald (en afgesproken) wat er in die sprint gedaan wordt. Normaal gesproken zijn dit de stories bovenaan de backlog. Tijdens de sprint komt het team dagelijks bij elkaar voor een korte (staande) meeting. In deze Daily Scrum vertelt elk teamlid wat hij heeft gedaan, wat hij gaat doen en of hij hierbij problemen tegenkomt. Door deze meeting is het mogelijk om het proces te bewaken en problemen snel te kunnen signaleren. De sprint wordt afgesloten met een demo, welke toegankelijk is voor alle werknemers van het bedrijf, en een evaluatie (retrospective).

Scrum Proces

Scrum Proces

Lesopbouw

Het doel van deze les is om leerlingen kennis te laten maken met het Scrum proces. Uiteindelijk zal het eindproject wat de leerlingen doen op deze manier uitgevoerd moeten worden. Omdat het – in een blokuur – niet haalbaar is om een daadwerkelijk project uit te voeren en tegelijkertijd Scrum te leren werken we met simpele kant-en-klare opdrachten.

  1. Introductie over Scrum (15 min)
  2. Uitvoeren Sprint
    1. Planning meeting (20 min)
    2. Daily Scrum “Dag 1″ (5 min)
    3. “Dag 1″ (15 min)
    4. Daily Scrum “Dag 2″ (5 min)
    5. “Dag 2″ (15 min)
    6. Demo (10 min)
  3. Retrospective / Evaluatie (15 min)
Scrum bord

Scrum bord

De kern van de les bestaat het uitvoeren van een volledige sprint. De docent fungeert hier zowel als Product Owner en Scrum Master. Vooraf zorgt de docent voor een verzameling taakjes (onder materiaal vind je een aantal suggesties) en een Scrum bord. Het Scrum bord geeft in één oogopslag de status van de sprint aan. Het bord is gedurende sprint altijd beschikbaar voor het team.

Planning meeting

In de planning meeting worden alle taken eerst geschat. Hiervoor leest één teamlid de taak voor, en geven alle teamleden een schatting. Deze schatting geeft aan hoeveel minuten één persoon nodig heeft om deze taak uit te voeren én te testen/controleren. Nadat alle taken zijn geschat bepaalt het team gezamenlijk welke taken zij in de beschikbare tijd (aantal teamleden x 30 minuten) kunnen uitvoeren.

Sprint uitvoering

Vervolgens begint de sprint. In de sprint worden twee dagen gesimuleerd, beiden beginnend met een Daily Scrum. (je zou er ook voor kunnen kiezen om de Daily Scrum halverwege de dag te houden) Tijdens de Daily Scrum beantwoord elk teamlid drie vragen:

  1. Wat heb je gedaan?
  2. Wat ga je doen?
  3. Welke problemen loop je tegenaan?

Door deze korte, staande meeting weet het hele team waar iedereen mee bezig is. Dit geeft de mogelijkheid om elkaar te helpen, en voorkomt dubbel werk. Na de Daily Scrum is het tijd om aan de slag te gaan. De teamleden voeren de taken uit, laten de taken door elkaar of door de docent testen/controleren en werken het Scrum bord bij. Wordt er begonnen aan een taak, dan gaat het bijbehorende briefje van de To Do kolom naar de In Progress kolom. Zodra een taak klaar en getest is gaat deze naar de Done kolom.

Burn Down grafiek

Op dat moment wordt ook de Burn Down grafiek bijgewerkt. Aan het begin van de sprint begint de grafiek (met op X-as de tijd en op de Y-as de geplande tijd) op het aantal geplande minuten. Bij het voltooien van de taak wordt er een nieuw punt toegevoegd op het tijdstip met als waarde het aantal minuten wat er voor de openstaande taken nog gepland staat. Concreet betekent dit dat het aantal geplande minuten voor de taak wordt afgetrokken van de vorige waarde in de grafiek.

Burn Down grafiek

Burn Down grafiek

Demo en Retrospective

Aan het einde van de twee “dagen” vindt de demo plaats. Afhankelijk van het soort taken laten de teamleden hierin zien wat ze bereikt hebben in de sprint. Er is hier ook mogelijkheid voor de Product Owner (en anderen) om feedback te geven.

Direct na de demo wordt de sprint geëvalueerd in de Retrospective. Voor deze les wordt dit voornamelijk gebruikt om te kijken naar het verloop van het proces. Is alles gegaan zoals van te voren bedacht? Begrijpen we waarom Scrum nuttig is? Ook wordt gekeken naar de Burn Down grafiek. Wat betekent de grafiek die we hebben geproduceerd? Als je een rechte lijn tekent tussen het start- en eindpunt kun je goed zien of de planning correct is geweest. Komt de grafiek boven de lijn uit dan liep je op dat moment achter op de planning, als je eronder uit komt liep je voor.

Indien er tijd over is kan deze gebruikt worden om de link te leggen met een echt project. Hoe zou je dan te werk gaan? Wat zou je aanpassen ten opzichte van wat we tijdens deze les hebben gedaan?

Ervaringen

Kaarten sorterenIk heb deze les uitgevoerd in een kleine vwo 5 klas. We hebben één team gemaakt, waarin ikzelf de rol van Product Owner en Scrum Master heb vervuld. De planning meeting duurde relatief lang, het vergt namelijk oefening om te plannen en het moet duidelijk zijn wat er meegerekend dient te worden (één persoon, testen, etc). Ook is er soms onenigheid en moet er besproken worden welke schatting gebruikt wordt.

Belangrijk bleek dat de dagen niet te lang moeten zijn. Tijdens deze les was de dag te lang (20 minuten), waardoor er op dag 1 al veel werk gedaan werd en het nut van de Daily Scrum onderbelicht bleef. Dit heb ik opgelost door in het bovenstaande plan de dag te verkorten. Het bleek erg nuttig dat de dagen streng getimeboxt werden. Hierdoor ontstaat er aan het einde van de dag een gevoel dat er nog weinig tijd is, dit veroorzaakt de gewenste spanning en motivatie. Tijdens de introductie had ik maar kort stilgestaan bij het bijwerken van de Burn Down grafiek, hierbij was meer begeleiding nodig dan verwacht.

Sommen makenLeerlingen zien naar aanleiding van deze les hoe Scrum werkt. Door de kleine taken is de toegevoegde waarde nog niet optimaal zichtbaar. Ik denk echter dat de basis nu is gelegd om Scrum te kunnen toepassen binnen een echt project. In dat project ben ik van plan te beginnen met een planning meeting van 1 lesuur, en vervolgens elke les te beginnen met een Daily Scrum. Het Scrum bord blijft gedurende de project tijd in het lokaal staan, waardoor de voortgang voor iedereen zichtbaar is.

Wat mij betreft is Scrum in de klas goed bruikbaar, ik kijk er dus ook naar uit om het te gaan toepassen in het eindproject van V5!

Materiaal

  • Sommen maken – op Studiewijs kunnen werkbladen gegenereerd worden met eenvoudige sommen. Je kunt hier ook enkele werkbladen downloaden.
  • Dobbelen – Laat leerlingen een bepaalde waarde gooien met drie dobbelstenen. Bijvoorbeeld: Gooi minimaal 15 ogen met drie dobbelstenen in één worp.
  • Kaarten – Bijvoorbeeld een kaartspel sorteren, ontbrekende kaarten vinden, etc.

Een kleine verzameling stories is te vinden in deze Google Spreadsheet. In deze spreadsheet kunnen direct kaarten gegenereerd worden om op het Scrum bord te gebruiken. De spreadsheet bevat ook een twintig-tal opdrachten.

Noot: deze les is opgezet gebruikmakend van mijn ervaring als Scrum Master bij ZEEF, gecombineerd met ideeën opgedaan tijdens een masterclass georganiseerd door Eelco Dijkstra van It’s Academy.

Update App Inventor lesmateriaal

De afgelopen weken hebben François en ik hard gewerkt aan een nieuwe versie van ons lesmateriaal over het ontwikkelen van Android apps met App Inventor. We hebben hierin feedback verwerkt die we hebben verkregen tijdens een masterclass met informatica docenten. Daarnaast hebben we de verschillende hoofdstukken consequenter in stijl gemaakt en sluiten ze nu beter op elkaar aan.

Ook belangrijk is de uitbreiding van de bonusopgaven. Leerlingen krijgen nu nog meer mogelijkheden om de apps uit te breiden. Als docent kunt u uiteraard aangeven of leerlingen deze opgaven over mogen slaan.

Tot slot is er een nieuw hoofdstuk toegevoegd. Hoofdstuk 6 geeft een raamwerk voor een eindopdracht. Leerlingen worden uitgedaagd om zelf een app te bedenken en te ontwerpen. In tweetallen ontwikkelen zij de app (gebruikmakend van pair-programming). Het testen van elkaars apps hoort er uiteraard ook bij. Maak de uitdaging compleet door een competitie te organiseren!

Het materiaal is te vinden op onze download-pagina op Github. Feedback is natuurlijk van harte welkom!

GitHub in het onderwijs

GitHub OctocatEen van de onderdelen van het curriculum informatica is het projectdeel. Leerlingen worden geacht om in groepjes gezamenlijk aan een project te werken. Vaak betekent dit ook samen code schrijven. Hierbij zullen leerlingen er tegenaan lopen dat het best lastig kan zijn om tegelijk aan hetzelfde programma te werken, hoe houd je iedereen up-to-date en zorg je ervoor dat er geen code verloren gaat? Een versiebeheersysteem, zoals Git, biedt hier uitkomst. GitHub heeft hier een mooie grafische omgeving omheen gebouwd, én biedt deze gratis aan voor studenten en scholen.

Naast een versiebeheersysteem biedt GitHub ook een wiki en een ticketing-systeem. Daarmee kunnen leerlingen een volledig project opzetten. Voor de presentatie van het project is het vervolgens ook mogelijk om een website te maken en te hosten.

Ik ben zelf van plan mijn leerlingen binnenkort kennis te laten maken met GitHub. Een vorige groep leerlingen heeft al eerder gebruik gemaakt van GitHub, en dit is toen naar wens verlopen. Ook ikzelf maak veelvuldig gebruik van GitHub, bijvoorbeeld voor mijn eigen lesmateriaal over App Inventor. Hoogste tijd dus om er met de hele klas mee aan de slag te gaan!

Een leerling van wie ik het profielwerkstuk begeleid, Tim van Elsloo, gaf mij de tip dat GitHub gratis te gebruiken is voor educatieve doeleinden. Normaal kun je GitHub enkel voor publieke repositories gratis gebruiken, maar op deze manier kun je de repositories ook privé houden. Dat is wel zo fijn in de klas! Wilt u hier ook gebruik van maken? Bezoek dan de educatiepagina van GitHub.

Multiplo: Maak je eigen robot

In mijn klassen informatica maak ik voor een project in de 5e klas onder andere gebruik van robotica. Ik laat mijn leerlingen een op Arduino gebaseerde robot programmeren en aanpassen. Dit levert altijd mooie resultaten op en is erg leerzaam voor de leerlingen. Mede vanwege mijn eigen interesse houd ik de ontwikkeling van robots – met name die gericht zijn op het onderwijs – in de gaten. Op Kickstarter loopt nu wederom een interessant project: de Multiplo.

De Multiplo is interessant doordat ze voor een modulaire opbouw hebben gezorgd. De verschillende modules zijn via simpele connectoren aan te sluiten op de “Robot Brain”. Dit controllerbordje is gebaseerd op de Arduino variant DuinoBot. Deze controller bevat al enkele handige functies: een motor-controller (je kunt dus direct DC motoren aansluiten), een power-switch, een buzzer en heel belangrijk: hij is ingebouwd in een behuizing. Uiteraard blijft het net als bij een normale Arduino mogelijk om zelf electronica aan te sluiten naast de standaard modules.

De Multiplo is via standaard Arduino software te programmeren. Er wordt echter ook een grafische programmeeromgeving ondersteunt: Minibloq. Minibloq is vergelijkbaar met de grafische programmeertaal die ik eerder heb besproken, namelijk ArduBlock. Door het combineren van blokken is het mogelijk een programma te schrijven. Voor verschillende sensoren zijn er ook kant-en-klare blokken beschikbaar. Het gebruik is hierdoor erg gemakkelijk. Erg fijn is dat ook de programmeercode direct zichtbaar is. Leerlingen kunnen hierdoor de overstap van grafisch naar tekstueel programmeren makkelijker maken.

Het is nog 20 dagen mogelijk om dit project te backen op Kickstarter. Er zijn verschillende rewards beschikbaar, bijvoorbeeld de “Robot Brain” voor $39,-, of een volledige starters kit voor $139,-.

HTML 5 poster te koop

Eerder heb ik bericht over het Kickstarter project HTML 5 poster, helaas is er voor dit project niet het benodigde geld verzameld. De makers hebben gelukkig besloten om het printen zelf te financieren. Hierdoor is het toch mogelijk de poster aan te schaffen en in je lokaal op te hangen!

HTML 5 poster

ParagraafDe poster geeft een introductie van HTML 5 voor beginners, er is geen voorkennis van HTML nodig. Ideaal dus voor leerlingen. De structuur van een HTML document, het opmaken van tekst, lijsten en multimedia komen aan bod. Alle onderdelen worden uitgelegd door middel van een stukje code en een afbeelding van de uitvoer.

De poster is verkrijgbaar in de speciaal hiervoor opgerichte webwinkel. Persoonlijk betaal je $28,50, scholen krijgen korting en betalen $19,-. Voor verzending komt er $10,- bij.

Nascholing en congressen

Vanaf heden is er op deze blog een pagina beschikbaar over Nascholing en congressen. Op deze pagina verzamel ik de verschillende bijeenkomsten gericht op informatica docenten. Langzamerhand beginnen de programma’s voor dit schooljaar bekend te worden, nog lang niet alles is echter nog bekend. Heb je een aanvulling? Laat het graag weten!

De nascholings-pagina is op 10 september geüpdatet.

Goedkope Android toestellen

Samsung Galaxy PocketNa het vorige bericht over App Inventor lesmateriaal is wellicht de vraag boven komen drijven hoe je dit kunt bekostigen. Niet elke leerling heeft een Android toestel, en veel Android telefoons zijn vrij prijzig. Zeker gezien het vaak beperkte budget wat er voor het vak informatica beschikbaar is.

Gelukkig zijn er tegenwoordig ook betaalbare toestellen op de markt te vinden. Dit zijn uiteraard geen toppers: ze zijn trager, hebben een minder mooi scherm en kunnen niet Android 4 aan. Toch bieden deze toestellen veel waar voor hun geld, zo blijkt uit de review op Tweakers.net van enkele toestellen onder de 100 euro. De telefoons bieden voldoende functionaliteit om leuke apps voor te schrijven, en voor deze prijs is het mogelijk er enkele van aan te schaffen voor leerlingen.

De besproken telefoons op een rij:

Lesmateriaal: Android Apps met App Inventor

Al eerder schreef ik over het ontwikkelen van apps in het onderwijs. Ik ben ervan overtuigd dat het ontwikkelen van apps motiverend werkt voor leerlingen, met die reden zou ik het graag in mijn eigen lessen integreren. Afgelopen jaar ging ik daarom op zoek naar mogelijkheden hiervoor, samen met Coen Crombach en François Vonk hebben we hier vervolgens ons afstudeeronderzoek (master Science Education and Communication, TU/e) aan gewijd.

Naast de motivatie wilden we uiteraard de leerling ook op een goede manier het programmeren aanleren. Uit onze eigen ervaring – tevens bevestigd door andere docenten en literatuur – weten we dat leerlingen dit moeilijk vinden. Zeker in het begin is code schrijven moeilijk, er komen namelijk vele uitdagingen op je af: een nieuwe taal, een manier van denken, onbegrijpelijke foutmeldingen, etc.  Een aantal van deze uitdagingen willen wij in het begin weghalen, zodat een leerling zich kan concentreren op enkele belangrijke vaardigheden.

Om zowel de motivatie als het effectief leren programmeren te kunnen vatten in een methode zijn we MIT’s App Inventor gaan gebruiken. Met deze tool kunnen leerlingen in een grafische omgeving apps ontwikkelen voor Android toestellen. Het ontwikkelde lesmateriaal hebben we voorgelegd aan verschillende docenten informatica, en zij reageerden enthousiast.

Een voorbeeld van 'code' in App Inventor

Het is onze bedoeling om het materiaal zelf in te zetten in onze eigen lessen, en dit de komende tijd verder te verbeteren en uit te breiden. Het materiaal wordt ter beschikking gesteld onder een Creative Commons licentie en is dus voor iedereen gratis te gebruiken en naar eigen smaak aan te passen. Suggesties tot verbetering zijn uiteraard ook welkom!

Je vindt het materiaal op Github via appinventor.informatica.nu.

Arduino Classroom Kit

Systeembord

Een ander veelbelovend Kickstarter project is de Arduino Classroom Kit. De maker van dit project geeft hiermee een modern alternatief voor de welbekende systeemborden.

De Arduino Classroom Kit bestaat uit een Plug&Play bord met daarop enkele Arduino’s en een verzameling actuatoren en sensoren. Als sensoren zijn er onder andere een temperatuursensor, een lichtsensor en een microfoon. Als actuatoren vind je verschillende soorten motoren, een LCD en uiteraard LEDs in meerdere uitvoeringen.

Prototype

Ik ben zelf erg benieuwd naar de uitwerking van dit project! Je kunt het bord ontvangen door het project te backen vanaf $ 99,- (bouwpakket) of $ 135,- (in elkaar gezet).