Programmera mera

Under ett antal veckor har åk 5 och 6 läst teknik i samhället och programmering. Programmering är något jag verkligen tycker är roligt att arbeta med och har försökt hitta en bra struktur och nivå för. Jag har tidigare år när jag undervisat om det använt code.org, bee-bot och scratch, men har ibland upplevt att många elever, trots stor glädje och engagemang, inte fått den förståelse för programmering som jag önskat. Visst har de lärt sig olika knep och skapat spel, men jag upplever att det har slukat mer tid än vad de fått ut kunskap i slutänden. Därför ville jag testa ett nytt sätt den här gången.

För att bygga upp en förståelse för hur kod skrivs började vi med att programmera oss själva genom att hitta på tecken för olika rörelse som sedan sattes ihop till en liten dans. Sedan fick de programmera mig att gå fram och skriva rast på tavlan. Målet var att skapa förståelse för att koden måste vara så kort som möjligt, lätt att tolka, men också att den måste innehålla allt som ska göras.

 

Vi läste i vår teknikbok där det beskrivs hur koden skulle behöva se ut om en robot skulle baka en sockerkaka. Vi förstår att vi måste öppna ugnsluckan innan kakan sätts i ugnen, trots att det inte står, när vi programmerar kommer bara det vi skriver utföras när koden tolkas. Att skriva en instruktion så tydlig att den inte kan misstolkas, men utan att instruktionen blir för lång med onödiga moment är verkligen en konst. Vi la mycket tid på diskussioner och försökte efterhand föra in mer kodspråk, vrid 90°, vrid – 90°. Vi tittade tillbaka på vår programmering av när jag skulle skriva rast på tavlan. Hade den fungerat? Den började med ställ dig vid dörren. Men klassrummet har ju tre dörrar. Programmeringen utgick från dörren intill skolan där jag brukar komma in från. Om jag utgick från en annan dörr, skulle den fungera då? Kunde vi säkra koden så att den fungerade varifrån som helst i klassrummet. Hur gör man i spel när man vill programmera en gubbe att gå till en specifik position?  Alla dessa övningar utan datorn tror jag gjorde stor skillnad när eleverna sedan skulle börja programmera ett enkelt spel i scratch där vi lärde oss om styrning, loopar, villkor och variabler genom spelet hajfeber. Vi byggde det en del i taget och arbetade problemlösande. När eleverna följer en tutorial på scratch eller på youtube fungerar den redan och alla steg kommer i ordning. Jag ville att de skulle uppleva misstagen de sedan skulle stöta på. Därför började vi med att tillsammans skapa ett spel jag kallar hajfeber. Vi programmerade hajen att flytta höger och sedan vänster. När hajen då backade åt vänster insåg eleverna att vi måste ha ett peka i riktning -90° precis som när de programmerade mig att skriva rast på tavlan. Så fortsatte vi del för del. Alla instruktioner för de olika delarna publicerades på siten (se förra blogginlägget) efterhand.

Slutprovet blev sedan att bygga ett eget spel där de visade att de behärskade det de lärt sig. Detta har jag tidigare upplevt som den jobbigaste biten då alla hela tiden vill ha hjälp och jag då inte upplevt att de hade lärt sig vad jag hoppats. De skulle göra ett enkelt spel där:

– en figur kunde styras av den som spelade
– något(figur eller bakgrund) rörde sig utan att spelaren styrde det
– loop användes på något ställe
– villkor användes på något ställe
– de själv skapat en variabel
Dessutom skulle spelet ha ett tydligt slut.

När det var dags att bygga sitt eget spel kunde jag lugnt hänvisa till materialet på siten. För de elever som hade lite eller ingen tidigare erfarenhet av programmering upplevde jag att detta var ett bra stöd. Deras spel blev ganska lika det vi byggt tillsammans. De bytte ut figurer och bakgrund, men spelet byggde på samma idé, ofta med tillägget att de la till ljud eller kostymbyten.  En annan stor grupp gjorde ett spel som först var likt det vi skapat tillsammans, men byggde ut det med en eller flera banor med ökad svårighetsgrad i form av fler hinder eller ökad hastighet. Många ville också skapa liv-variabel för att mer efterlikna spel de själva spelar. Sedan var där några spel som verkligen stack ut. Elever som direkt hade en spelidé och var beredda på att lägga många timmar av sin fritid. Dessa hade många och långa konversationer med mig via snap, mail och när vi möttes mellan lektioner i korridoren. De hittade inte lösningar på alla sina problem och fick i vissa delar nöja sig med något lättare som fungerade. Det roliga med den här gruppen var att de började hjälpa mig med hur de tyckte jag skulle ändra i mitt hajfeber: “Här har du använt onödigt många kommandon… Om du gör styrningen som förflyttning i x-led kommer det inte att hacka så som gå 10 steg gör…” Trots att de snabbt blev mycket duktigare än jag är kunde vi prata om deras spel och jag lärde mig mycket nytt. Det brukar jag inte hinna innan jag la ut instruktioner som jag nu gjorde på siten. Under dessa samtal lyssnade också flera andra och snabbt visste man vem man skulle gå till om det behövdes felsökas i ens kod eller ville få in en häftig effekt. Ett par elever jobbade helt i det tysta, bad aldrig om hjälp, det hände mest grejer i deras spel på eftermiddagstid och deras spel hade i vissa fall väldigt avancerade lösningar och långa programmeringar och dessa elever hade dessutom bytt till engelska kommandon.  Detta fick mig att fundera på om de kopierat någon annan. Just programmering är ett område där jag ofta upplever att många elever kan långt mer än jag vilket gör att jag behövde utveckla metoder för att se vad de verkligen kunde och vad de plagierat.

För att säkerställa att de inte bara kopierade någon annans spel gjorde jag skärmklipp från allas koder som de fick som beskriva funktionen med.  Jag hade det som fredagsutvärdering att de fick ett dokument delat till sig med några frågor om vad som varit svårast att lösa under veckan, en programmering jag skapat som de skulle tolka samt tre bitar från deras egen kod av olika svårighetsgrad. Sedan fick de välja minst en av sina egna och beskriva vad den gjorde i programmet. Detta var ett tydligt sätt att se hur väl de förstått och vad de bara byggt efter instruktion. Efter det bytte några spel och skapade ett mindre komplicerat spel med kommandon på svenska. Men visst blev en hel del syskon och föräldrar inblandade i spelen och mycket av funktionerna hittade de på youtube. Där det finns mycket bra instruktionsvideor till hur olika spel kan konstrueras. Jag ser inte detta som negativt, de skedde på elevernas fritid och de lärde sig saker jag inte kunde. När de sedan var dags att redovisa sitt spel märktes det ändå snabbt vad som var kunskap de själva besatt. Redovisningen bestod av att alla fick två spelare till sitt spel som fyllde i en two stars and a wish på spelet. När jag utvärderade min undervisning efter avslutat område kunde jag konstatera att trots att färre lektioner lagts på enskild programmering höll elevernas spel högre kvalitet än tidigare år, var mer varierande i upplägg och framförallt, de var mer självständigt skapade.

Att diskutera:

  • Hur skapar du förståelse för kod?
  • Hur undervisar man i programmering så att eleverna lär sig effektivt och utan att det “slukat” mer tid än det gett kunskap?
Share Button
Om författaren

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *