Når elevane blir meir kjend med dei grunnleggjande prinsippa og omgrepa innan programmering, kan man plukke frem gamle eller nye analoge programmeringsøvingar og sjå på dei på nytt, med nye auge. Forhåpentlegvis blir det nå enklare for elevane å beskrive/forklare kva som skjer i dei analoge øvingane. Man kan òg bruke vanlege ringleiker, lage flytskjema og analysere omverda med utgangspunkt i programmeringsbegreper.
Kva er likskapen mellom flytskjemaet til høyre og et program?
Kan dykk lage eit flytskjema eller forklare stein-saks-papir med programmeringsspråk?
Korleis kan slå-på-ring beskrivast med programmeringsomgrep?
Start med å snakke om kva VILKÅR er – noko som er som er myyyyyykje brukt i programmering. Eit vilkår kallast nokon gonger for ei HVIS-setning, fordi man i programmet seier HVIS "noko skjer" SÅ skal "noko anna skje".
Be elevane dele forslag på ting dei tenker kan være programmert på denne måten.
Eksempler på dette kan være:
HVIS røslesensoren merker bevegelse SÅ opner døra til butikken seg.
HVIS ljosnivået ute blir lågare enn eit visst nivå SÅ skal gatelysene slå seg på.
HVIS spillfiguren din i MarioKart køyrer over en banan SÅ snurrar bilen rundt tre gonger og mister fart.
HVIS du tastar riktig kode på tastaturet SÅ opner låsen til rommet seg.
I denne ringleken skal barna operere som ein liten "maskin" som sender signal rundt til andre deler av maskinen. Her må man reagere på det dei andre i ringen gjer, og kan sjølv påverke korleis signalet rører seg.
This is a fun, interactive exercise to introduce conditionals and event handlers as computer processing. Read through the entire activity and adjust as needed for your class and classroom.
Print & cut into strips with one conditional on each strip
Note that some of the same conditionals can be given to multiple students, while other conditionals are to be given to just one student.
Except for the first ‘BEGIN’ conditional, hand out the conditionals PRINT SIDE DOWN.
Besides the ‘BEGIN’ and ‘STOP’ conditional, give at least two other conditionals to each student. A lesson from this is that it is challenging for a student to keep track of a lot of different conditionals, though not so for a computer! : )
Some of the same conditionals can be given to multiple students, while other conditionals are to be given to just one student.
Technically these conditionals are all event handlers because the students are simply waiting for a specific event to trigger them into action.
Unless instructed otherwise, students do not speak or make noise during this activity.
Add AND, OR, AND/OR statements to the conditionals.
Create nested IF’s
Let students create the IF’s
Relate this activity to a system and have the students create the conditionals that would end in a product of some kind or the completion of some task.
Give these 2 conditionals to all students.
These 2 conditionals will be triggered only once.
These conditionals start and stop this activity.
Give the first ‘BEGIN’ conditional to the students PRINT SIDE UP.
IF the teacher writes the word ‘BEGIN’ on the whiteboard,
THEN flip over the conditionals in front of you and follow the directions.
IF you see the word ‘STOP’ on the whiteboard,
THEN sit back, cross your arms, and look at the teacher (smile!).
=================================================================
Give these 6 conditionals to multiple students.
These 6 conditionals may be triggered more than once.
Walk around the classroom during the activity to trigger some of these conditionals.
IF the teacher says the word ‘popcorn’,
THEN stand up and say ‘Pop!’ once and sit back down.
IF any student stands up for any reason,
THEN clap 3 times.
IF anyone writes on the whiteboard with a GREEN marker,
THEN get up and touch something GREEN in the room and sit back down.
IF anyone walks past you while you are seated,
THEN snap your fingers 3 times.
IF someone snaps their fingers AND you have the letter ‘e’ in your first name,
THEN select a book from the bookcase and sit back down.
IF anyone writes anything on the whiteboard,
THEN get up and turn around in place one full turn and sit back down.
=================================================================
Give one student each of the following 7 conditionals.
These 7 conditionals will be triggered only once and set in motion the spelling of STOP on the whiteboard.
IF the teacher picks up a book,
THEN get up and write the letter S on the whiteboard and sit back down.
IF someone writes the letter S on the whiteboard,
THEN go open and close the classroom door and sit back down.
IF someone opens and closes the classroom door,
THEN get up and write the letter T (after the letter S) on the whiteboard.
IF someone writes the letter T on the whiteboard,
THEN get up and turn the lights on and off and sit back down.
IF someone turns on and off the lights,
THEN get up and write the letter O (after the letter T) on the whiteboard.
IF someone writes the letter O on the whiteboard,
THEN get up and sharpen a pencil.
IF someone sharpens a pencil,
THEN get up and write the letter P (after the letter O) on the whiteboard.
Elevene kan jobbe to og to, rygg mot rygg, der den ene forklarer hva den andre skal gjøre skritt for skritt uten å avsløre helheten.
Kan gjøres med enkle tegninger eller Tangram-figurer. Legg til constraints som passer det dykk jobber med. F.eks. kun lov å bruke geometriske figrar og standardiserte/ustandardiserte måleeininger som instruksjon.
Mål med øvinga:
Elevane skal programmere ein kompis, som i denne oppgåva skal være «robot». For å få til dette må elevane lage ein algoritme med hjelp av pilar. Oppgåva er kompleks og må delast opp i mindre ledd/sekvensar for å løyse eit problem.
Tid:
35 - 45 minutt
Utstyr:
11 stk. A4-ark med siffera/tala frå 0 til 10:
Skriv ut store sifferkort til banen på golvet.
8 stk. programmeringskort til kvar gruppe..
Eit ark som viser «banen» i miniutgåve til kvar gruppe.
Ein spillebrikke (eit viskeler eller ein stein kan òg nyttast).
Gjennomføring:
Sjå her: https://www.vitensenter.no/superbit/laerer/forarbeid/kompisprogrammering/
Ein variant av kompisprogrammering er at man er einige om "banen, eller, saman med elevane lager ein hinderløype i klasserommet med bord stoler o.l. Læraren skal starte på ein bestemt plass i den eine enden av klasserommet og komme seg til den andre sida (evt. rundt bordet/gjennom løypa, ettersom kva som passer best). Ein kan gjerne starte med å be om eit program frå elevane, men man dersom dei seier "gå fram", så går læraren fram for evig. Då blir ein raskt einige om at ein treng nøyaktige, steg-for-steg beskjeder (dette utgjer ein algoritme). F.eks. kan ein verte einige om at læraren forsøker å ta skritt med ein fast skrittlengde, og kan vri seg 90 grader til høgre og venstre.
I staden for ferdige kodekort, kan elevane lage sine egne kodekort av små lappar eller skrive en sekvens av kommandoar på et kart eller som ein liste. Elevar med meir erfaring kan òg oppfordrast til å nytte LØKKER der det gjer koden enklare/meir effektiv.
Dersom man ynskjer å gjere ein tilsvarande øving der man nytter micro:biten, kan dette være ein god anledning til å la elevar smake på det å bruke lister/tabellar i programmeringa.
I programmet til høgre kan man redigere en tabell med tal som samsvarar med fire ulike rørsler:
Eit steg fram (pil nord).
Eit steg tilbake (pil sør).
Snu 90 grader til venstre.
Snu 90 grader til høgre.
Elevane treng ikkje redigere det som skjer til høyre i programmet (nedfor når knapp A trykkast), men kan berre legge inn tall i tabellen for å lage ein sekvens med kommandoar som lærar må følge. Bruk pluss- og minusteiknet (nedst i det oransje feltet) for å leggje til eller fjerne oppføringar i tabellen.
I stadet for ein tabell med tal kan man òg bruke ein teksttabell og bokstaver/ord for kvar bevegelse. Da må man passe på å bruke samanlikningsboksar som ser på tekst, markert med (" ") i staden for tal.