LES 1: WAT IS PROGRAMMEREN
WELKOM BIJ BOMBERBOT! Bij onze lessen horen ook nog een online game, waarin de leerlingen de concepten die ze geleerd krijgen direct moeten toepassen, en een online platform, waarin u de voortgang van de leerlingen kunt zien. Deze materialen vindt u op onze website, www.bomberbot.com. Om toegang te krijgen vragen we u een gratis proefaccount aan te maken. De leerlingen kunnen ook hun eigen accounts aanmaken. Deze accounts zijn nodig omdat het anders onmogelijk is om de voortgang van de leerlingen bij te houden. Met het gratis proefaccount heeft u toegang tot de eerste drie lessen. Als u liever geen account aan wilt maken, kunnen uw leerlingen wel de levels die bij les 1 horen spelen op www.bomberbot.com/landingGame. Wij wensen u veel plezier met het lesgeven via Bomberbot!
LES 1: WAT IS PROGRAMMEREN WAAR GAAT DEZE LES OVER? PROGRAMMEERVAARDIGHEDEN ● Begrijpen dat je zelf programma’s kunt maken en dit laten zien door zelf een simpel programma te maken in een niet op tekst of code gebaseerde omgeving. ● Begrijpen dat computers niet zelf denken en alleen geprogrammeerde programma’s uitvoeren. ● Herkennen dat telefoons, tablets, computers, etcetera software bevat welke geprogrammeerd is. ● Beseffen dat bepaalde taken beter door mensen en andere taken beter door computers uitgevoerd kunnen worden.
INTRODUCTIE Leerlingen komen elke dag in aanraking met technologie. Ze snappen hoe ze een computer, een smartphone en de televisie moeten gebruiken. Maar snappen ze ook hoe deze technologie werkt? Bomberbot kan daarbij helpen. Met Bomberbot leren leerlingen de basisprincipes van deze technologieën, zodat zij met deze opgedane kennis uiteindelik zelf kunnen programmeren wat ze maar willen. Computers zijn overal om ons heen. Bijna iedereen gebruikt dagelijks computers en de meeste van ons zijn daar ook nog best goed in. Maar hoe werken ze nou eigenlijk? Hoe denken computers? Hoe kunnen we ze sneller en nog intelligenter maken? Programmeren is het samenvoegen van menselijke ideeën en digitale hulpmiddelen om zo nog sneller problemen te kunnen oplossen. Computers zijn zo intelligent of handig als we ze zelf maken. Op zichzelf zijn computers niet intelligent, ze kunnen niets totdat wij instructies schrijven die ze kunnen uitvoeren. Om ook maar iets te kunnen hebben computers een programma nodig; een sequentie van opdrachten met als doel een bepaalde taak uit te voeren. 1
LES 1: WAT IS PROGRAMMEREN
Alle computer programma’s zijn geschreven door mensen. Ook jij kunt leren hoe je dit soort programma’s schrijft en laat uitvoeren. Om een computer instructies te geven moet je met de computer communiceren in een computertaal. De meeste computertalen, zoals Javascript, Python en Ruby zijn ‘tekst gebaseerde’ talen. Maar je kunt ook op een andere manier opdrachten geven aan een computer. Naast woorden of geluiden kun je ook symbolen gebruiken. Net zoals in Bomberbot. Welke programmeertaal je ook gebruikt, de basis concepten zijn hetzelfde (sequenties, loops, variabelen, algoritmes, conditionials etcetera). In het Bomberbot lespakket leren we leerlingen deze concepten. De eerste les is een introductie tot programmeren. Maar programmeren is meer dan alleen het invoeren van instructies voor de computer. We combineren menselijke ideeën en digitale middelen om op creatievere manieren problemen op te lossen. Aan het einde van deze les snappen de leerlingen het basisconcept van programmeren en zien ze de ontelbare mogelijkheden die technologie met zich meebrengt wanneer ze er invloed op kunnen uitoefenen. Een vaardigheid die, ongeacht de vervolgopleiding of beroepskeuze, vele voordelen biedt. PROGRAMMEREN IN BOMBERBOT In Bomberbot moeten de leerlingen instructies aan de Bomberbot geven. Het doel van elk level is om alle sterren te verzamelen en alle robijnen te vernietigen. In deze les oefenen de leerlingen met het geven van simpele instructies met de symbolen. Ze zien hoe reageert de Bomberbot op deze instructies. Hierdoor leren ze begrijpen dat de gegeven instructies door de computer geïnterpreteerd worden en zien ze vervolgens hoe deze worden uitgevoerd. Bijvoorbeeld: als er geen instructies meer zijn, zal de Bomberbot ook niets meer doen. Als er instructies worden toegevoegd terwijl de Bomberbot halverwege een level is, zullen deze uitgevoerd worden vanaf de plaats waar de Bomberbot zich op dat moment bevindt.
LESPLAN (Lesduur: ongeveer 60 minuten) LESDOELEN ● De leerlingen herkennen dat bijna alle moderne technologie een bepaalde vorm van een computer programma bevat. ● De leerlingen begrijpen dat een computerprogramma een set instructies is die een computer kan uitvoeren en dat iedereen deze instructies kan maken. ● De leerlingen kunnen simpele, niet op tekst gebaseerde, programma’s maken. BASISBEGRIPPEN Programmeren = het creëren van instructies (opdrachten) die door een computer kunnen worden uitgevoerd. 2
LES 1: WAT IS PROGRAMMEREN
BENODIGDHEDEN • De PPT presentatie “Wat is programmeren” • Flappy Bird (open in de browser)
LESVERLOOP INTRODUCTIE (Ongeveer 5 minuten) Laat leerlingen hun hand opsteken als ze weten wat programmeren is. Wie kan dit in de klas uitleggen en wie kan dit aanvullen. Vraag: Wie weet er wat programmeren is? Wie heeft er al van programmeren gehoord?
CONCEPT UITLEG (Ongeveer 15 minuten) [DIA 1] WAT IS JE FAVORIETE COMPUTERSPEL? Vraag de leerlingen of ze ooit een computerspel gespeeld hebben. Bespreek de regels van deze spellen en benadruk dat elk spel een set regels of instructies heeft. Vraag: Welke computerspellen spelen jullie het liefst? Welke regels heeft dat spel? Hoe krijg je punten om verder te kunnen? Hoe ga je naar het volgende level? Hebben jullie je wel eens afgevraagd hoe computerspellen werken? [DIA 2] FLAPPY BIRD Gebruik een voorbeeld (bijvoorbeeld Flappy Bird) om duidelijk te maken dat elk spel werkt volgens een set instructies die de regels in het spel bepalen. Je vindt het spel op www.freeflappybird.org. Bekijk het spel samen met de leerlingen. Welke basisregels van dit spel kunnen de leerlingen bedenken? Schrijf ze op het bord. Vraag: Welke regels zitten er in Flappy Bird? Hoe kom je in Flappy Bird aan punten? De regels in Flappy Bird zijn de volgende: 1. Als je het scherm aanraakt, gaat de vogel omhoog. 2. Als de vogel een pijp aanraakt, is het game over. 3. Als de vogel de vloer of het plafond raakt, is het game over. 4. Als de vogel tussen de pijpen door vliegt, krijg je punten en kun je verder.
3
LES 1: WAT IS PROGRAMMEREN [DIA 3] WAT IS PROGRAMMEREN? Leg uit dat programmeren de manier is waarop mensen de computer opdrachten geven om iets uit te voeren. Vertel: Flappy Bird is dus niet alleen een spel, maar ook een computerprogramma. Een computerprogramma is een set instructies en regels die een computer uitvoert. Programmeren is de manier waarop mensen deze opdrachten maken; hoe we de computer vertellen wat hij moet doen. [DIA 4] PROGRAMMEERTALEN Computers praten niet in het Nederlands of in het Spaans. Als je met computers wilt communiceren, moet je een computertaal gebruiken. Leg uit dat je deze verschillende computertalen programmeertalen noemt. Vertel: Om een computer opdrachten te kunnen geven, moet je met de computer communiceren in ‘computertaal’. Net als er verschillende talen zijn (Engels, Frans, Spaans) zijn er ook veel verschillende programmeertalen en dus ook verschillende manieren om met computers te communiceren. Maar hoe verschillend of complex al deze programmeertalen ook zijn, uiteindelijk vertellen ze allemaal wat de computer moet doen. De meest populaire programmeertalen van dit moment zijn Javascript, Python, C en Ruby. Facebook is met PHP gebouwd, C heb je nodig voor iPhone apps en veel populaire apps zijn met Ruby on Rails gemaakt. [DIA 5,6] WE ZIJN OMRINGD DOOR CODE Welke voorbeelden van computersprogramma’s in het dagelijks leven kunnen de leerlingen bedenken. Vertel: Computerspellen en apps zijn voor de hand liggende voorbeelden van programma’s in de wereld om ons heen. Maar je vindt ook code in de meeste elektronische apparaten die je dagelijks gebruikt. Zoals mobiele telefoons, iPads, vliegtuigen… zelfs in de magnetron! Al deze apparaten hebben interne programma’s die ervoor zorgen dat je ze op een makkelijke manier kunt bedienen. Vraag: Welke apparaten gebruik je zelf die een computerprogramma hebben? [DIA 7] BOMBERBOT OM PROGRAMMEREN TE BEGRIJPEN In Bomberbot gaan leerlingen een robot (Bomberbot) opdrachten geven om zo levels op te lossen. De bedoeling is dat ze dat in zo min mogelijk stappen en zo efficient mogelijk doen. De opdrachten leren de leerlingen om met een visuele programmeertaal (symbolen) instructies te geven. In de eerste levels leren ze hoe je een Bomberbot opdrachten geeft om te bewegen: 4
LES 1: WAT IS PROGRAMMEREN naar links, naar rechts, omhoog en naar beneden. Als de leerlingen wat verder zijn in het spel, komen er steeds complexere opdrachten en instructies bij die ze Bomberbot kunnen laten uitvoeren. Maar eerst gaan we kijken hoe het werkt op de computer.
UNPLUGGED ACTIVITY: MENSELIJKE BOMBERBOT #1 (Ongeveer 10 minuten) Kies een leerling die net doet alsof hij of zij de Bomberbot is. Laat deze leerling voor de klas staan en definieer een doel voor de Bomberbot. Bijvoorbeeld: ‘Doe het licht aan’ of ‘Loop naar de boekenkast’ of ‘Ga naar het tafeltje van Pietje’. Je kunt er ook voor kiezen zelf de Bomberbot te zijn en de instructies van de leerling op te volgen. Laat de leerlingen één voor één instructies geven en zorg ervoor dat deze precies worden uitgevoerd. Bijvoorbeeld: ‘Loop 5 stappen vooruit’, ‘Loop 10 stappen naar links’ (let op! Moet de Bomberbot eerst draaien? of loopt hij zijwaarts naar links?), ‘Loop 5 stappen naar achter’ (let op! Moet de Bomberbot eerst omdraaien? Of loopt hij achteruit?) Als een instructie niet klopt en de Bomberbot iets doet wat niet kan (of niet werkt), laat de Bomberbot dan ‘bevriezen’ en bespreek wat er mis ging. Vertel: Bomberbot kan niet zelf nadenken en doet precies wat hem wordt opgedragen. De instructies zijn het programma, de Bomberbot is de computer, diegene die de opdrachten geeft is de programmeur. Herhaal indien nodig deze oefening met een andere leerling. [DIA 8] MISSIE (Ongeveer 15 minuten) Laat de leerlingen (indien nodig) naar school.bomberbot.com/login gaan en een nieuwe gebruiker aanmaken. (Gebruik de unieke klasID om de leerlingen te koppelen aan het dashboard.) Ze kunnen nu hun eigen Bomberbot aanmaken waarmee ze de levels binnen elke missie kunnen gaan spelen. In de tab ‘missies’ kunnen de leerlingen op de eerste missie klikken. Vertel: Het doel van de eerste levels is om de Bomberbot de ster te laten bereiken. We gebruiken de symbolen om Bomberbot te vertellen wat hij moet doen. Zodra de robijn is geïntroduceerd, komt er een tweede doel bij: Bomberbot dient de robijn(en) stuk te slaan. Hiervoor moet je een set opdrachten invoeren, een sequentie. Een sequentie is een set instructies die de Bomberbot uitvoert. Om een robijn te vernietigen en op de plek van de robijn uit te komen moet de Bomberbot eerst de robijn stuk slaan met de hamer en vervolgens een 5
LES 1: WAT IS PROGRAMMEREN stap zetten om op de plek van de robijn uit te komen. De sequentie hiervoor is dus: ‘hamer’ + ‘stap’ (naar boven, links, rechts, naar beneden) [DIA 9] RONDJE KLAS (Ongeveer 10 minuten) Laat de kinderen nadenken over de instructies die de Bomberbot nodig heeft en de problemen die ze tegen kwamen. Herhaal: Bomberbot leest geen woorden. Bomberbot leest symbolen; visuele instructies. Welke instructies begrijpt Bomberbot? Vraag: Welke problemen kwam je tegen? Hoe heb je deze opgelost? Leg nog een keer uit dat de manier waarop de leerlingen hun Bomberbot opdrachten geven, heel erg lijkt op hoe programmeren werkt. Het principe is hetzelfde als programmeren. Uiteraard is echt programmeren uiteindelijk wel ingewikkelder, omdat er dan nog een heleboel extra regels en andere gebeurtenissen zijn waarmee je rekening moet houden. Als de Bomberbot de verkeerde kant op gaat is dit niet omdat de Bomberbot iets verkeerd doet, maar omdat wij hem de verkeerde instructies hebben gegeven. Computers denken niet na, ze doen alleen wat wij ze hebben opgedragen te doen.
HUISWERK Laat de leerlingen hun log-in en wachtwoord opschrijven en op een veilige plek bewaren. Ze kunnen deze gegevens gebruiken om ook thuis op het platform in te loggen zodat ze alle levels in Missie 1 kunnen afronden. (Laat de leerlingen nog niet de levels in de volgende Missie spelen) Optioneel: Laat de leerlingen een lijst maken met instructies om een bepaald doel te bereiken, bijvoorbeeld om ‘Menselijke Bomberbot’ met een medeleerling of een broertje of zusje te laten spelen. Elke instructie mag maar één stap of beweging zijn.
6