Øvelse uten datamaskin
Mine robotvenner
Mine robotvenner
Denne teksten er en oversettelse av en originaltekst fra “ThinkerSmith”, og er lisensiert ift. retningslinjene nederst på siden.
Denne øvelsen introduserer elevene for prinsippene bak programmering, og illustrerer behovet for funksjoner.
Ved å bruke et forhåndsdefinert «Robotordforråd» skal elevene guide hverandre for å gjennomføre en oppgave, uten å diskutere den først. Dette lærer elevene sammenhengen mellom symboler og handlinger, samt verdifull innsikt i feilsøking
Elevene skal
Beregnet forberedelsestid: 10 min.
Introduksjon: Start med å spørre klassen om noen har hørt om roboter. Om noen har sett eller tatt på en robot? Kan en sånn maskin «høre» deg snakke? Forstår den «faktisk» det som blir sagt? Og svaret på dette er «ikke på samme måte som en person gjør».
Roboter trenger en serie med «instruksjoner». Spesifikke ting de har blitt satt til å gjøre. For å kunne gjennomføre en oppgave, må en robot ha en rekke med instruksjoner (som oftest kalt algoritmer) for å fungere. I dag skal vi lære hva som trengs for å få dette til.
Vis frem en kopi av Symbol-arket (eller skriv de på tavlen). Fortell at det kun er lov til å bruke seks symbolene i denne oppgaven. I denne utfordringen skal elevene instruere sin «robot» til å stable en spesifikk stabel med kopper med å kun bruke disse pilene.
(Om elevene spør om regler som ikke er nevnt over, kan du enten lage en ny en basert på egen erfaring, eller få de til å bestemme den regelen seg i mellom)
Det er svært nyttig å gå over en av eksemplene med samlet klasse først. Det er en stabel i pakken som bare inneholder tre kopper. Hold det opp foran klassen og gjennomgå eksempeløvelsen. En mulig løsning vill se sånn ut.
Plasser stabelen der hvor alle kan se den. Spør klassen om noen kan fortelle hva du skal gjøre. Det riktige svaret er «Løft opp koppen». Det er viktig at hver kopp som løftes, blir holdt høyt over de andre koppene i stabelen.
Når koppen holdes høyt i luften, spør hva som nå skal gjøres med koppen. Klassen må påminnes et par ganger om at et steg framover er bare halve koppens lengde.
Midtveis
Etter at den første koppen er satt på plass, gå til tavlen eller overhead-prosjektoren. Og utfordre klassen til å skrive de symbolene på tavlen som vil gi riktig resultat når programmet kjøres, slik at det kan kjøres senere.
Avslutning
Når bevegelsesmønsteret er nedskrevet og hele klassen kan se det, kan du demonstrere selv, eller få en elev til å «kjøre programmet». Si navnet på pil retningene høyt, mens koppene beveges på plass. For eksempel, pilene i bildet over.
Plukk opp koppen. Ett skritt frem. Ett skritt frem. Sett ned koppen. Et skritt tilbake. Et skritt tilbake. Etc.
Del gruppen inn i forhold til det som er nevnt tidligere i teksten. Poenget er å ha nok programmerere i gruppen til at alle får en sjanse og ikke føler seg utelatt.
Velg en «robot» i hver gruppe, som skal vente i «robotbiblioteket». Velg en plassering langt nok vekk fra gruppene til at roboten ikke kan få med seg hvilken type stabel gruppen har fått utlevert. «Robotene» kan bruke ventetiden på å øve på å stable kopper, eller se på reglene.
Hver gruppe bør bare ha et «Koppestablingskort» om gangen. De kan da begynne å finne algoritmen for dette. Hvor mange kopper trengs det? Hvor mange bevegelser må til for å gjennomføre det første steget? Det neste steget? Er noen kopper opp ned? Hvordan kan «roboten» snu koppen?
Når de har funnet ut av disse spørsmålene, skal programmererne skrive ned symbolene til å lage en kode på det blanke arket. Koden bør dobbeltsjekkes, for å se om den gir mening. Før man henter «roboten»
Nå som «roboten» er tilbake, skal alle være stille. Gruppene skal unngå å vise bevegelser eller bruke ord for å hjelpe «roboten». «Roboten» skal bare følge pilene. Om de oppdager en feil, kan de stoppe programmet. Få «roboten» til å returnere til «robot biblioteket». Fiks feilene og hent «roboten» igjen.
Hver gang en gruppe fullfører en øvelse, bør de velge en ny «robot» og gruppen bør aller helst få et nytt bildekort, helst vanskeligere enn det første.
Dette fortsetter til alle i gruppen har vært «robot» en gang, man går tom for tid, eller kortene er vanskelig nok til å starte en diskusjon om funksjoner.
Om gruppene er for effektive med å løse oppgaven, og det er nesten tomt for kort: La de prøve å lage sine egne stabel-eksempler.
Om det nok ekstra tid, så er dette en fantastisk mulighet til å introdusere hvor nyttige funksjoner er.
Samle klassen og vis dem dette bildet.
Du vill mest sannsynlig høre surmuling, fnising og dette er umulig. Spør klassen hva problemet er og hvorfor er denne stabelen så problematisk?
Denne stabelen virker veldig vanskelig til å begynne med, fordi hver nye kopp vill legge til to ekstra piler på «pil foran». Før eller siden vill instruksjonen se slik ut
Mange av gangene vill elevene begynne å forkorte instruksjonen, som å skrive et tall bak den første pilen.
Under hovedoppgaven anbefales ikke dette, men gi ros for at de tenkte selv og har oppdaget et behov for funksjoner.
Nevn at en pil etterfulgt av nummer er en smart måte å indikere at en bevegelse skal gjøres flere ganger. Med å tillate dette, lager man egentlig bare et nytt symbol som kan brukes for å unngå unødvendig repetisjon. Dette er hovedtanken bak funksjoner.
Utfordre klassen til å finne den største stabelen med repeterende kode for hver kopp-plassering. Som instruktør, du kan velge en gruppering som gir mening. Men de kommer nok til å bli noe á la det som er nevnt tidligere
Dette symbolet er en god begynnelse, men det kan forenkles ytterligere. Om vi plasserer symbolene med klokken (starter på toppen), og lager en ny figur som ser slik ut:
Ovenfor har vi et pilsymbol som noenlunde minner om det meste av ordforrådet, men vi har også introdusert en måte å inkludere mer informasjon om hvor mange ganger vi vill at det skal brukes piler framover og bakover. I datavitenskapens verden blir denne ekstra informasjonen kalt parametere. Disse parametrene kan brukes for å tilpasse funksjoner som allerede er nyttige.
Nå som klassen har nye symboler, kan de prøve å løse en av de mer krevende stablene. Gruppene kan samarbeide om det ikke er nok kopper i en gruppe.
Symbol-ark
Koppestablearket, Ekesemplen på koppestabling
Trapeser
Rettigheter og copyright