Mänsklig robot

20-30 min

Den här leken handlar om att ge en "mänsklig robot" instruktioner för att steg för steg lösa en uppgift.

Hur pratar man med en robot så dom förstår oss? En dator eller en robot kan verka smart, men den behöver vår hjälp för att förstå sin omvärld och veta hur den ska göra för att lösa uppgifter. Därför bryter man ned uppgifter i mindre delar och ger roboten tydliga instruktioner i steg-för-steg. Det är viktigt att instruktionerna är  exakta, fullständiga och i rätt ordningsföljd, annars blir det lätt fel.

Få en robot att sätta sig

I den här övningen programmerar du en lärare eller en kompis som får vara din "Mänskliga Robot" att utföra enklare uppgifter steg-för-steg, exempelvis att sätta sig på en stol, skaka hand med någon eller att smöra en smörgås.

Exempel:
Du vill lära roboten att sätta sig på en stol framför ett bord. Om du bara säger: “Sätt dig på stolen!”, så gör den ingenting då den inte förstår. Du måste bryta ned uppgiften i mindre delar och ge instruktioner steg-för-steg. Exempelvis såhär:

1. Dra ut stolen från bordet.
2. Ställ dig mellan stolen och bordet.
3. Sätt dig på stolen.
4. Dra in stolen mot bordet.

Instruktionerna ovan är i rätt ordning, men behöver nog bli mer exakta och fullständiga (hela) för att en robot ska kunna utföra uppgiften ordentligt. Hur långt ska roboten dra ut stolen från bordet? (Förslag: "Dra ut stolen 50 cm från bordet."). Hur ska roboten sätta sig? (Förslag: "Sätt dig på rumpan på stolen".)

Prova dig fram och lycka till med din robotprogrammering!

Videon är hämtad från Youtube - "Jam Sandwich Algorithm - Primary Computing Lesson Example", av "Digital Dixie", starttid 1.28 min.

Instruktion till handledare

Det här är en rolig lek som passar olika åldrar och förkunskaper, bra för att komma igång med programmering generellt och ge konceptuell förståelse för instruktioner. Svårighetsgraden kan anpassas till nivå av förkunskaper och ålder på deltagare.

Syftet med leken är att få en förståelse för hur en dator eller en robot förstår oss människor och hur de "pratar" samt behovet av att instruktioner är exakta, fullständiga och i rätt ordning när man programmerar.

Leken övar förståelsen av datorns "språk" och kommunikation mellan människa - dator. Leken övar även kommunikation, samarbete och datalogiskt tänkande, att bryta ned problem i mindre delar, se mönster och formulera instruktioner för lösningen steg-för-steg.

Här nedan finner du videoexempel på hur leken kan utföras och hur man kan agera mänsklig robot med en barngrupp. Uppdraget till roboten är att smöra en smörgås. Filmen är på engelska.

Tips!

Det är bra om svårighetsnivån börjar på en enkel och lekfull nivå och att alla deltagare ges möjlighet att lyckas. Låt gärna roboten vara lite busig i början, tolka mellan raderna och gör överdrivna "fel" för att underlätta och stödja barnens förståelse för hur "roboten" instrueras. Exempelvis att ta jätte-kliv eller myrsteg om instruktion att "gå framåt" (roboten vet ej hur långt ett steg är). Öka successivt kraven på exakthet i givna instruktioner, anpassa efter ålder och lekens syfte.

Förberedelse

Övningen innebär att deltagarna i smågrupper ska planera instruktioner för en Mänsklig Robot att utföra en bestämd uppgift. Grupperna planerar sina instruktioner på papper och läser sen gruppvis upp dem högt och steg-för-steg medan roboten utför dem enligt instruktionen. Alla grupper får ge sin lösning och testköra sin lösning med roboten.

  1. Välj en uppgift för Mänskliga Roboten att utföra (förslag nedan)

  2. Planera för eventuell rekvisita och ta fram material

Exempel på uppgifter för roboten att utföra:

  • rita en rektangel eller annan enkel form på vita tavlan

  • sätta sig på en stol vid ett bord

  • skaka hand med en bestämd deltagare

  • röra sig genom rummet och sätta sig på en bestämd stol eller öppna dörren

  • smöra en smörgås (Kladdvarning!)

Material

  • Pennor

  • Papper

  • Eventuell rekvisita för Mänskliga Robotens uppdrag

Introduktion av uppgift (5 min)

Presentera leken i helgrupp, att du är en Mänsklig Robot som deltagarna ska styra genom att ge instruktioner. Förklara behovet av instruktioner som är exakta, fullständiga och i rätt ordningsföljd, exemplifiera gärna kort vad det innebär genom att låta barnen testköra Mänskliga Roboten att utföra en kort uppgift. (Se film ovan för inspiration.)

Uppgift (15 min)

  1. Dela in deltagarna i små grupper om ca 4 barn eller arbeta 2 och 2.

  2. Presentera uppgiften grupperna ska skapa instruktioner för åt roboten att utföra. Förklara att du är en robot som inte vet hur den ska göra.

  3. Låt grupperna planera sina instruktioner utan att kika på varandras lösningar under ca 5 minuter och skriva ned dem rad för rad på ett papper.

  4. Låt grupperna högt läsa upp sina instruktioner för roboten, en instruktion i taget, som repeterar dem högt och utför dem steg-för-steg som de presenterats. (Alla grupper läser upp sin kod efter varandra.)

  5. Blev något inte som tänkt? Låt grupperna ge förslag på hur instruktionerna kan förbättras tills roboten lyckas med uppgiften!

Avrundning

Lyckas alla grupper lösa uppgiften på ett tillfredställande sätt? Hittade grupperna alternativa lösningar eller hade alla samma lösning? Vilka fel eller "buggar" fanns i koden och hur skulle man kunna lösa dem? Avrunda gärna med en kort diskussion om vad som var svårt och fråga deltagarna om de känner till exempel på saker som är programmerat, exempelvis självkörande bilar eller robotgräsklippare - hur skulle deras instruktioner behöva vara?

Nämn med fördel ord och begrepp förknippat med programmering och kod, som att felsöka koden och leta efter buggar i koden som kan rättas till.

Variationer och ökad svårighetsgrad

Låta grupperna byta instruktionerna mellan varandra och felsöka i koden.

  • Låt en grupp läsa instruktioner tills det blir "fel" och då får nästa grupp försöka med sin variant. Gå vidare tills någon grupp instruterat rätt hela vägen för roboten.

  • När alla har genomfört första uppgiften kan man med fördel ge mer komplicerade problem att lösa eller låta grupperna skriva program för varandra att utföra.

  • Kan koden skrivas enklare eller annorlunda? Ge uppgiften att förenkla i instruktionerna genom att använda exempelvis "upprepa X gånger",  "upprepa för alltid" eller "gå framåt tills du möter hinder."

  • Låt roboten utföra något kladdigt, exempelvis smöra en smörgås, äta en tårta, hälla upp vatten och dricka. Skoj, men med kladdvarning!