Heel Holland Hackt

Heel Holland Hackt

Vooraf

Leerdoelen

Aan het einde van deze opdracht kun je:

Domein Omschrijving
D Programmeren Je hebt ervaring opgedaan met programmeren in Python. Je hebt een programma gemaakt dat reageert op bepaalde invoer (vanuit sensoren en toetsen). Hierbij heb je gebruik gemaakt van verschillende instructies en condities.
E Architectuur Je kunt beschrijven hoe een computer in elkaar zit en hebt ervaring met hoe hardware en software met elkaar samenwerken.
M Physical computing Je hebt gewerkt met een aantal verschillende sensoren en weet hoe je de input daarvan kunt gebruiken om je programma te sturen.

Eindproduct

Het eindproduct bestaat uit twee onderdelen:

  • Gezamenlijk het resultaat: een opstelling bestaande uit een Raspberry Pi met Sense HAT die voldoet aan één van de aangeboden uitdagingen of een uitdaging die van tevoren met de docent besproken is.
  • Individueel het logboek: een document waarin je beschrijft hoe je te werk gegaan bent, wat je concreet hebt geleerd en een reflectie op het resultaat. 

Feedback en beoordeling

Deze opdracht wordt beoordeeld op basis van het als groep verdiende bedrag in euro's. Dit werkt als volgt:

  1. Elk groepje wijst één persoon als beheerder van het geld. Deze persoon krijgt een envelop waarin hij het verdiende geld kan bewaren. Ieder groepje begint met een startkapitaal van € 500.
     
  2. De groepjes maken de introductie-opdracht. Ze mogen hierbij één keer gratis een hulpvraag stellen aan de docent. De tweede en volgende keer kost de hulpvraag € 50.
     
  3. Na de introductie-opdracht kiest elk groepje een uitdaging uit. De uitdagingen kennen verschillende beloningen: de ene uitdaging is makkelijker dan de andere. Een moeilijkere uitdaging levert meer op. Het inruilen van een eenmaal gekozen uitdaging voor een andere kost € 200. Per uitdaging is er sprake van een verschillend aantal gratis hulpvragen. Zijn de hulpvragen op, dan kost een nieuwe hulpvraag € 50. Een groepje kan uitkomen op min-geld.
     
  4. Als de tijd om is, bekijkt het groepje samen met de docent het resultaat. De docent beoordeelt of het resultaat de beloning waard is en checkt met de groepsleden hoe de code in elkaar zit. Zo voorkomt de docent dat studenten een kant-en-klaar-oplossing kiezen.
     
  5. Ieder groepslid maakt gaandeweg zijn logboek. Met het logboek is ook geld te verdienen, dat bij het groepsresultaat wordt opgeteld.
     
  6. Voor het winnende groepje is een prijs beschikbaar.

Activiteiten

Deze challenge bestaat uit de volgende activiteiten:

  1. Samenstellen van de groep, bestaande uit 3 leerlingen. Aanwijzen penningmeester per groepje.
     
  2. Kennismakingsopdracht. Elk groepje krijgt een Raspberry Pi met toebehoren. De uitdaging is om binnen een week een smiley of ander leuk plaatje in verschillende kleuren te tonen op het display van de Sense HAT.
     
  3. Uitdagingsopdracht. Elk groepje kiest een uitdaging (of bedenkt er zelf een en overlegt dit met de docent) en begint hieraan. In een tijdbestek van circa drie weken is dit afgerond.

Benodigdheden

Voor deze opdracht zijn de volgende dingen nodig:

  1. Per groepje een Raspberry Pi (model 3) en een Sense HAT. Afhankelijk van de netwerkmogelijkheden op school werkt de RPi op Wifi of bekabeld. De RPi wordt ofwel direct bediend met monitor, toetsenbord en muis (denk aan hdmi > vga convertor) of remote via SSH/Putty. Het is prettig als de RPi 'out of the box' werkt: dit maakt de opdracht taakgerichter. Dit vraagt wel voorbereiding!
  2. Nepgeld en enveloppen.
  3. Een enthousiaste docent die veel nadruk legt op het competitie-aspect van deze opdracht.

Tijd

Neem niet teveel tijd voor deze opdracht. In een periode van vier tot maximaal vijf weken moeten de groepjes een acceptabel resultaat laten zien, dat zelf geprogrammeerd is.

Hulpmiddelen

In deze sectie staan verschillende hulpmiddelen die de leerlingen goed uit kunnen komen bij hun uitdaging. Bepaal als docent zelf hoe je met deze hulpmiddelen omgaat. Een benadering kan zijn om ze direct te verstrekken aan leerlingen (of een gedeelte), maar het is ook interessant om de leerling eerst zelf op pad te laten gaan. Misschien vindt hij dan wel aanwijzingen en cursussen die nog handiger zijn.

Raspberry Pi

De uitdaging begint met het kennismaken met de Raspberry Pi. Advies: laat de leerlingen dit vooral zelf verkennen. Wat moet je doen als je het niet weet? Uitzoeken. Bied wel hulp, maar vooral bij het vinden van online bronnen die informatie geven over de Raspberry Pi of als je vragen krijgt over de schoolspecifieke implementatie (zoals adressen enzo).

Wat is de Raspberry Pi?

Raspberry Pi help
Uitgebreide sectie met alle informatie over de Raspberry Pi en hoe deze werkt.

Python leren

Leerlingen zullen er al snel achter komen dat er wat geprogrammeerd moet worden. Dat gebeurt in de taal Python. Leerlingen kunnen deze taal zelfstandig leren door een aantal lessen te doorlopen van Codecademy. Tot en met unit 8 is zinvol om te doorlopen.

Een wat laagdrempeligere start (bovendien Nederlands) is de YouTube-serie van JorCademy over Python. JorCademy en Codecademy zouden goed gecombineerd kunnen worden.

Om een acceptabel resultaat te produceren, moeten leerlingen minimaal kennis verwerven van de volgende programmeerconcepten:

  1. Variabelen
  2. If-statements (condities)
  3. Functies
  4. Strings
  5. Lists
  6. For en while (herhaling)

 

Codecademy: Python leren

YouTube playlist JorCademy over Python
De YouTube playlist over Python. Doorloop zeker t/m filmpje 9.

SenseHAT emulator

Onderstaande emulator kun je gebruiken om code te oefenen zonder dat je zelf een SenseHAT/Raspberry Pi hebt thuis.

SenseHAT essentials

Het boek 'SenseHAT essentials' bevat informatie over het wat en waarom van de SenseHAT, maar vanaf hoofdstuk 3 vooral ook informatie over hoe je om moet gaan met de SenseHAT en er praktisch iets mee kunt doen.

SenseHAT api

Sense HAT API reference
Bevat informatie over alle commando's die je aan de SenseHAT kunt geven.