Spelend leren programmeren? Tony Opsomer -

Vergelijkbare documenten
Problemen herformuleren Leerlingen drukken de probleemstelling uit in eigen woorden.

Wat is Arduino? Arduino = microprocessor (Atmel)

ROBOBOEK MODULE DRONES BOTS4SEN. Settings Use this screen to disable the music or sound effects or change their volume.

1 verschillende onderdelen en deelsystemen in een technisch systeem onderzoeken: de functies en de relaties ertussen toelichten;

PHYSICAL COMPUTING INTRODUCTIE. versie:

Stroomschema s maken op papier

Inhoud. Blz. 3. Blz. 4. Blz. 5. Blz. 7. Blz. 8. Blz. 9. Blz. 10. Opdracht 1 - Brainstormen. Opdracht 2 - Je eigen controller. informatie - makey makey

techniek Motor en as LEGO O P D R A C H T Maak het programma van rechtsboven na, op het open stuk van het scherm.

Stroomschema s maken in Word

3/3/2013 By Ing. R. Ellis 1

het Officiële Boek Help je kinderen leren programmeren! Marina Umaschi Bers en Mitchel Resnick

Programmeren van drones

In deze workshop gaan de kinderen een eigen spel moeten maken in de omgeving van Scratch. Het spel moet voldoen aan een aantal criteria.

Scratch Rekenen & programmeren

In deze activiteit krijgen leerlingen de uitdaging om een schuilplaats voor de hommelkoningin te zoeken aan de hand van de Beebot.

SaNdWiCh RoBoT. Wat leren leerlingen van deze les?

Scratch les 1 Rekenen

Programmeren met lego mindstorms.

Nota. Generieke leerresultaten van FIIW. 1 Genese van het document

Je kunt de mbot ook draadloos programmeren via Bluetooth of met 2.4G Wireless. Bekijk de instructies op mbot draadloos.

Over Betuwe College. Lego Mindstorm project

Samenvatting. Context. Doelstellingen. Vaardigheden computationeel denken. Katholiek onderwijs. Gemeenschapsonderwijs

De lesgever laat een voorbeeldspel zien en vertelt dat de kinderen dit gaan maken.

Vakinhoudelijke uitwerking Keuzevak Applicatieontwikkeling van het profiel MVI vmbo beroepsgericht

AAN DE SLAG. IN BEWEGING probleemoplossende activiteiten. Opdrachtfiches voor leerlingen I 4de leerjaar I Techniek & Wetenschap

Werkboek MecLab stations. DE TRANSPORTBAND

In Vlaanderen bestaat er nog geen leerlijn programmeren! Hierdoor baseren wij ons op de leerlijn die men in Nederland toepast voor basisscholen.

LEERKRACHT HANDLEIDING

Algoritmiek. 8 uur college, zelfwerkzaamheid. Doel. Hoe te realiseren

MINDSTORM LEGO ROBOTS

DE ASTRO PI PROGRAMMEREN VOOR MISSION ZERO

INHOUDSTAFEL... 2 VOORWOORD... 3 INLEIDING... 4 GEBRUIK VAN MOTOREN... 8 DE HERHAALFUNCTIE... 9 SAMENVATTENDE OEFENING... 10

Blue-Bot ONDERWIJSGIDS

PROGRAMMEREN KLASSE STUDENT EEN INITIATIEF VAN. Lesmap. Programmeren. Door KlasseStudent

Onderwerp. Voorkennis. VVKBaO

HOUT EN BOUW. Activerende werkvormen? De leraar doet er toe.

Project 7 Pratende plant Docent Project 7 - Pratende Plant Docent

MINDSTORM LEGO ROBOTS

Scratch - Programmeren voor Kids

Nascholing Algoritmisch Denken. Martin Bruggink Renske Smetsers

Animeer je naam. Animeer de letters door ze te programmeren in Scratch. Voeg ook geluid en muziek toe.

DE ENERGIEKOFFER EN ONDERZOEKSVRAGEN VERZINNEN

Wetenschappelijk Rekenen

Informaticawetenschappen in. het leerplichtonderwijs Waarom?

Vergrijzing en robots!

Overzicht rapportmodule

DIGITAL STORY TELLING. Breng een verhaal tot leven. Maak aan de hand van foto s en informatie een dynamisch filmpje.

Keuzedeel Programmeren van microcontrollers (K0730, 240 uur)

Handleiding leerkrachten. Eigen strip maken. Kerndoelen: Taal en ict 1x per week 4 tot 5 weken

Gebruikershandleiding

Fable Robotica Lesgids

Raspberry Pi VOOR KIDS. Richard Wentk

Doelen 22/11/2017. Een harmonische ontwikkeling van elk kind. 1. Dieper zicht krijgen op het ontwikkelveld mediakundige ontwikkeling

IN BEWEGING. STEM-wetenschapper. STEM opdracht: Digitaal hulpmiddel

taal taal Handleiding.indd :16:04

Programma 2015 / 2016

Workshop FLL. Leer robots programmeren. Marieke Peelen Lennart de Graaf Daryo Verouden -

Een Goede Lezing. Hans L. Bodlaender

The knight s tour. Het paard in schaken beweegt als volgt: Steeds 1 vakje in een richting en 2 in een andere richting, of omgekeerd.

Dit verhaal. Een Goede Lezing. Overzicht. Algemene voorbereiding

DLR Domeinspecifieke Leerresultaten (DLR) van de Master in Industriële Wetenschappen: Elektronica ICT

Software Test Plan. Yannick Verschueren

Maak je eigen app met Thunkable!

Samenvatting. Context. Doelstellingen. Vaardigheden computationeel denken. Katholiek onderwijs. Gemeenschapsonderwijs

HANDLEIDING LEGO WEDO

1. Aanleiding Kader voor een geïntegreerde STEM-didactiek: 4. Ontwikkelwerk

Open Source Hardware. en de maakbare wereld

ontwerpdocumentatie doelgroep

PHYSICAL COMPUTING INTRODUCTIE²

Rock Band. Introductie. Scratch. In dit project leer je hoe je jouw eigen muziek instrumenten programmeert! Activity Checklist.

Algoritmisch Denken: Dodo s Bit Parity

Brief LES. tegelijk GR EN. Groep 7 en 8

(T)huiswerkbeleid onze visie van huiswerk naar thuiswerk, een groot verschil

Lesonderwerp: De spelregels schrijven voor een zelfverzonnen spel.

.onderzoeken dat de draairichting van de tandwielen in tegengestelde richting verloopt. (ET2.3)

Mijn doelen voor dit jaar

Scratch in drie uur. Hallo, mijn naam is Minti Mint! Ik ga je uitleggen hoe je je eigen computerspel kunt maken. We gaan een racespel maken!

Stap 1: Willekeurige kleuren

Kennismaken met en inoefenen van het geven van commando s. De leerlingen volbrengen een opdracht door het geven van commando s.

Elke groep van 3 leerlingen heeft een 9 setje speelkaarten nodig: 2 t/m 10, bijvoorbeeld alle schoppen, of alle harten kaarten.

Informaticawetenschappen: basis voor digitale geletterdheid. Informaticawetenschappen: basis voor digitale geletterdheid

Fable bedienen met een keyboard

Tentamen Objectgeorienteerd Programmeren TI februari Afdeling ST Faculteit EWI TU Delft

Stappenplan: Rekengesprek

HALLO! WIJ ZIJN KITE!

Ontwerp een robot die helpt bij rampen

Voordat je begint, lees je eerst deze bladzijden. Daarna weet je precies hoe je dit boek gebruikt.

INSPIRATIEBOEK EDISON V.2

Het verhaal met de Ozobot

Programmeren. Inleiding

Cursus Programmeren en Dataverwerking.

Communicatie met de SOLKpatiënt

Doelgroep. Lesdoelen. Materialen. Experimenteren met Biochemie / Bioplastic

Een tandje bijsteken / Onderzoeken riem- en kettingoverbrenging

Transcriptie:

Spelend leren programmeren? 2016 Tony Opsomer - tony.opsomer@vives.be

Korte inhoud Waarom leren programmeren? Betekenis techn. werking leren begrijpen? Nut van algoritmisch denken? Leren programmeren in de praktijk Wat zegt onderzoek? Problemen bij overgang blok tekst Vaststellingen uit de praktijk Physical computing Even zelf proberen

Waarom leren programmeren? Maatschappij digitaliseert Alle jongeren moeten technologische evolutie kunnen volgen maw technologie leren gebruiken + werking leren begrijpen/gevolgen leren inschatten Voldoende jongeren moeten technologische evolutie kunnen sturen maw nieuwe technologie kunnen creëren (Samaey & Van Remortel, 2014)

Korte inhoud Waarom leren programmeren? Betekenis techn. werking leren begrijpen? Nut van algoritmisch denken? Leren programmeren in de praktijk Wat zegt onderzoek? Problemen bij overgang blok tekst Vaststellingen uit de praktijk Physical computing Even zelf proberen

Betekenis techn. werking leren begrijpen? Computationeel denken (check ook: http://csunplugged.org/) Maw het vermogen om problemen op te lossen en oplossingen zo te formuleren dat computers ingezet kunnen worden voor de uitvoering ervan Vrij vertaald: algoritmisch leren denken (probleemdefinitie -> analyse -> algoritme -> programma -> controle -> documenteren) + inzicht in de werking van computers en netwerken (Wing, 2006)

Korte inhoud Waarom leren programmeren? Betekenis techn. werking leren begrijpen? Nut van algoritmisch denken? Leren programmeren in de praktijk Wat zegt onderzoek? Problemen bij overgang blok tekst Vaststellingen uit de praktijk Physical computing Even zelf proberen

Nut van algoritmisch denken? Reeds op jonge leeftijd leren programmeren kan een betekenisvol positief (transfer)effect hebben op de algemene denk- en probleemoplossingsvaardigheden van jongeren, op voorwaarde dat het onderwijs voldoende lang duurt én dat er tijdens de programmeerlessen ook aandacht besteed wordt aan de articulatie en generalisatie van de betreffende vaardigheden (De Corte & Verschaffel, 1986)

Korte inhoud Waarom leren programmeren? Betekenis techn. werking leren begrijpen? Nut van algoritmisch denken? Leren programmeren in de praktijk Wat zegt onderzoek? Problemen bij overgang blok tekst Vaststellingen uit de praktijk Physical computing Even zelf proberen

Leren programmeren in de praktijk Twee methodes van aanpak: Blokgebaseerd Tekstgebaseerd

Leren programmeren in de praktijk

Korte inhoud Waarom leren programmeren? Betekenis techn. werking leren begrijpen? Nut van algoritmisch denken? Leren programmeren in de praktijk Wat zegt onderzoek? Problemen bij overgang blok tekst Vaststellingen uit de praktijk Physical computing Even zelf proberen

Wat zegt onderzoek? (1/2) Het gebruik van blokgebaseerde omgevingen leidt tot hogere motivatie dan het gebruik van tekstgebaseerde omgevingen (Booth & Stumpf, 2013) Overgang van blok- naar tekstgebaseerd programmeren gaat gepaard met lichte prestatiewinst, hogere motivatie en het sneller doorgronden van (Armoni et al, 2015)

Wat zegt onderzoek? (2/2) De overgang van blok- naar tekstgebaseerd programmeren leidt tot problemen (meer info). Bovendien komen blokgebaseerde omgevingen te vaak over als niet echt wat de motivatie negatief beïnvloedt (Powers et al, 2007)

Korte inhoud Waarom leren programmeren? Betekenis techn. werking leren begrijpen? Nut van algoritmisch denken? Leren programmeren in de praktijk Wat zegt onderzoek? Problemen bij overgang blok tekst Vaststellingen uit de praktijk Physical computing Even zelf proberen

Problemen bij overgang blok tekst (Kölling, Brown, Altadmri, 2015) Leesbaarheid van code Onthouden van commando s & syntax Het aantal beschikbare commando s & gegevenstypes stijgt Noteren van expressies wordt moeilijker Spelling wordt belangrijk: Typen is niet eenvoudig voor jonge kinderen Hoofdlettergevoeligheid binnen bepaalde tekstomgevingen Correct noteren van scopes bij programmeerstructuren Foutboodschappen worden complexer Beheer layout (= inspringen van code) wordt soms belangrijk OOP wordt (soms) opeens geïntroduceerd

Korte inhoud Waarom leren programmeren? Betekenis techn. werking leren begrijpen? Nut van algoritmisch denken? Leren programmeren in de praktijk Wat zegt onderzoek? Problemen bij overgang blok tekst Vaststellingen uit de praktijk Physical computing Even zelf proberen

Vaststellingen uit de praktijk (1/3) Sommige lkr/organisaties analyseren programmeeroefeningen te weinig en laten lln te veel via trial-and-error werken In begin lkr-gestuurd analyseren van eenvoudige problemen Geleidelijk moeilijker & lln (deel)problemen zelfstandig laten oplossen Lln niet dadelijk aan pc laten beginnen maar eerst redenering (eventueel in groepjes van 2) op papier zetten (bvb. NS-diagram, ) Lln of groepje checken via speeddating hun redenering met die van een of meer andere lln/groepjes Laat lln na x minuten doorschuiven naar een andere pc en verder werken met code van een ander (weliswaar met eigen redenering)

Vaststellingen uit de praktijk (2/3) Anderzijds mag een lln ook fouten maken in zijn/haar analyse zolang de lln de fouten zelf ontdekt en zijn/haar analyse & code aanpast. Bij fouten hebben veel lln de neiging de lkr erbij te halen om de oplossing te vragen Maak ook af en toe fouten als lkr -> betrek de lln in de foutenanalyse Waar zitten we vast? Beschrijf het probleem? Welke delen van de code werken wél/niet? Tips: http://philbagge.blogspot.co.uk/2015/02/eight-steps-topromote-problem-solving.html

Vaststellingen uit de praktijk (3/3) Wanneer is algoritme X beter dan algoritme Y (voor eenzelfde probleem)? Lln komen immers elk met eigen oplossingen Hoe evalueer je een algoritme objectief? Check op juistheid, efficiënte werking en aanpasbaarheid Moeilijk te objectiveren: misschien helpt Dr. Scratch?? http://drscratch.programamos.es/

Vaststellingen uit de praktijk (3/3)

Korte inhoud Waarom leren programmeren? Betekenis techn. werking leren begrijpen? Nut van algoritmisch denken? Leren programmeren in de praktijk Wat zegt onderzoek? Problemen bij overgang blok tekst Vaststellingen uit de praktijk Physical computing Even zelf proberen

Physical computing (1/2) Physical computing, in the broadest sense, means building interactive physical systems by the use of software and hardware that can sense and respond to the analog world. In practical use, the term most often describes projects that use sensors and microcontrollers to translate analog input to a software system, and/or control electro-mechanical devices such as motors, servos, lighting or other hardware. (https://en.wikipedia.org/wiki/physical_computing)

Physical computing (2/2) Physical computing verhoogt de motivatie, maakt programmeren tastbaar, helpt in het verwoorden van de foutenanalyse, enz. Physical computing past binnen STEM en kan gerealiseerd worden via zowel blok- als tekstgebaseerde omgevingen. Kanttekeningen: integratie in de lespraktijk blijkt vrij duur -> hoekenwerk? hardware/software werkt niet altijd even stabiel robuustheid hardware / batterijcapaciteit soms onvoldoende voor lesgebruik

Korte inhoud Waarom leren programmeren? Betekenis techn. werking leren begrijpen? Nut van algoritmisch denken? Leren programmeren in de praktijk Wat zegt onderzoek? Problemen bij overgang blok tekst Vaststellingen uit de praktijk Physical computing Even zelf proberen

Even zelf proberen Hoek 1: PC + Scratch (gratis, Windows/Mac/online) + Webcam Laat de kat miauwen als ze veel beweging ziet of veel geluid hoort Hoek 2: PC + Scratch (gratis, Windows/Mac/online) + Picoboard Laat de kat een vierkant tekenen na een druk op de knop. De snelheid wordt bepaald door de stand van de schuifweerstand Hoek 3: ipad + Tickle (gratis, ios) + Sphero Laat de bal een vierkant rollen en op het einde een andere kleur aannemen via een druk op de knop Hoek 4: ipad + Tynker (gratis, Androïd/iOS) + Parrot rolling spider Laat de drone opstijgen, een vierkant vliegen en landen via 3 knoppen

Even zelf proberen 4 bundels: BUNDEL 1A: introductie grafisch programmeren via programmeerbaar speelgoed & Picoboard BUNDEL 1B: verder bouwen op programmeerstructuren in een grafische omgeving maar met een iets complexer probleem en gebruik maken van een micro + webcam BUNDEL 2: vanuit een gelijkaardige probleemstelling kennismaken met de uitwerking ervan in diverse physical computing omgevingen (zowel grafische als tekstueel geprogrammeerd) BUNDEL 3: zelf aan de slag (grafische + tekstueel) met een selectie van physical computing omgevingen