onsdag 10 september 2014

Makey Makey

Har fått stanna hemma från skolan två dagar på grund av förkylning och upplever alltid det som svårare att komma tillbaka mitt i en vecka. Tyvärr innebar det att jag missade programmeringen för eleverna i årskurs 6 i måndags och att det blir först på fredag som vi kommer kunna arbeta med det igen (då med eleverna i årskurs 5 och de elever som valt programmering som elevens val).

Jag berättade tidigare om min beställning av Makey Makey och då den kom i måndags fick jag möjlighet att testa den med eleverna idag. Det var en fantastisk upplevelse att se hur eleverna fick koppla ihop det abstrakta iprogrammeringen med det fysiska i att använda de möjligheter som Makey Makey möjliggör. Min tanke nu är att skapa övergripande projekt i programmering och teknik där eleverna ska få skapa sina program i Scratch för att sedan skapa en teknisk lösning på ett problem. Just nu funderar jag mycket på att de ska få skapa ett användargränssnitt för människor med rörelsehinder, ska se om jag kan få upp en struktur på det och givetvis lägga upp processen här på bloggen.

Några exempel på vad det går att göra med en Makey Makey:





fredag 5 september 2014

Elevernas val

Intresset för programmering som elevens val blev klart större än förväntad då jag nu har en grupp på 24 stycken elever som valt att spendera varje fredag eftermiddag med att fördjupa sig i programmering. 24 elever är ingen ovanlig storlek på en klass men när det gäller att programmera upplever jag att det antingen behövs mer än en lärare som befinner sig i klassrummet alternativt att alla datorer fungerar som det är tänkt att de ska göra. Tyvärr hade jag varken eller idag utan fick improvisera något.

Programmera elever

Till att börja med gick jag igenom vad jag förväntade mig av eleverna och vad de kunde förvänta sig av mig. Jag introducerade dem till tävlingen de är anmälda till i november och vi testade sedan tre olika övningsuppgifter som är tagna från tävlingen. De var väldigt lätta och bestod till största delen av mycket grundläggande logik (t.ex. i vilken ordning ska klossarna läggas för att bygga samma torn som på bilden). När de var klara med uppgifterna som de fick arbeta med gruppvis visade jag ett exempel på skriven kod som såg ut enligt följande:

if (om) lampan tänd:
            elev står up

och sedan:

if (om) lampan släckt:
            elev sitter ner

Jag använde dessa två små "koder" och tog hjälp av en av eleverna kring hur det fungerar med just att skriva kod och vilket resultatet blev. Vi diskuterade hur vi kunde utveckla koden och eleverna kom med följande förslag:

repeat(2)
      if (om) lampan tänd:
                   elev står up
      if (om) lampan släckt:
                   elev sitter ner

Koden i sig ser inte för vacker ut men det handlar mer om en tanke eller idé kring hur det fungerar. Vi diskuterade vad de olika delarna av koden betyder och när förståelsen infann sig för de flesta av eleverna lät jag dem börja arbeta med Scratch. Scratch är något jag kommer att återkomma till då det är en sida med en del fördelar (men även nackdelar) när det gäller att introducera programmering i skolan.

Vad jag lärde mig idag:


  • Fungerande teknik är alltid att föredra, speciellt om det är många elever som ska använda den samtidigt.
  • I och med att jag fortfarande letar efter en fungerande struktur är det bra om det finns mer än en lärare i klassrummet som kan bistå som resurs. Fungerar tekniken är behovet inte fullt lika stort.
  • Att använda fysiska exempel på hur programmering fungerar är ovärderligt. Det finns också vinter att skriva ut uppgifter på papper för att få eleverna att tänka utanför den miljö som de befinner sig i när de använder datorn.   

     

torsdag 4 september 2014

Projektet börjar

Dagarna har gått åt till att planera den fördjupning som kommer att ske för de elever som valt programmering som elevens val. Kopiatorn har gått varm när jag skrivit ut övningsuppgifter och material som jag tänker använda som grund för att utveckla elevernas förståelse kring informatik och logik. Jag kommer att lägga upp exempel på detta här under de kommande dagarna.

Imorgon har jag den andra halvan av eleverna i årskurs 5 vilket innebär att det är tid som kommer att gå åt att se till att alla kommer in på sina konton. Jag kommer därför att under den närmsta tiden fokusera på att skriva om den utveckling som sker i årskurs 6 och de elever som valt programmering som elevens val då de har kommit en bit längre.

Min plan den närmsta tiden ser ut enligt följande för eleverna som valt programmering som elevens val:


  • Introducera eleverna till programmering och se till att de förstår grunderna
  • Arbeta med övningsuppgifter och material "offline"
  • Börja med Python
För samtliga elever (dvs. alla elever i årskurs 5 och 6) är det följande som gäller:

  • Fortsätta med "kursplanen" som finns på learn.code.org
Detta beräknas ta hela terminen då jag har klasserna varannan vecka. Det innebär att det blir först till våren de kommer sätta sig in i Python ordentligt. 

Hur gör jag då med de elever som programmerar på elevens val?

Här gäller det att jag kan balansera deras arbete på elevens val med det de gör under lektionerna i programmering. Min vision är att de ska kunna hjälpa till med undervisningen för samtliga i Python och på så sätt även kunna utveckla sina förmåga att kommunicera och "prata" programmering. 

Jag kommer även att begränsa arbetet med uppgifter "offline" på elevens val till en tredjedel av passet och låta eleverna animera i Scratch den resterande delen. Scratch är något av en favorit för eleverna men jag vill som jag tidigare har skrivit, lyfta upp programmeringen ett par nivåer. 

Slutligen har jag beställt en "Makey Makey" från USA. Jag spånar redan på projekt jag kan genomföra tillsammans med eleverna med hjälp av en sådan. Drömmen hade varit en till varje elev men är övertygad om att vi kommer kunna göra väldigt mycket med min egen till att börja med.


måndag 1 september 2014

En långsam men lovande start

Idag hade jag genomgång med min andra halva av sexor som ännu inte fått möjlighet att bekanta sig med programmeringen. Det var en väldigt trevande start, inte minst då datorerna har passerat sitt bäst före - datum (datorer som stängs av genom att strömsladden dras ut tenderar att ha ett relativt kort bäste före - datum). Det är alltid lika frustrerande att behöva vänta en halvtimme från det att datorerna startas upp till det att eleverna är inloggade. Till denna frustration tillkom den stress som det icke - fungerande wifi - nätverket bidrog till under lektionens första tredjedel.

Grepp om begrepp

Som tur var kunde jag använda den första delen till att arbeta med begreppen som vi kommer att använda oss av i programmering, samt förklara mer om hur datorer fungerar, vad binärt talsystem är och vilken betydelse komponenter som exempelvis processorn i datorn har. När det gäller att undervisa programmering är jag övertygad om att det är minst lika viktigt att eleverna får en förståelse kring hur hårdvaran fungerar såväl som mjukvaran. Betydelsen av sammanhang för eleverna kan aldrig underskattas.

Jag upplevde själv genomgången av begreppen och i viss mån hur allt hänger samman, som stundtals något för abstrakt, men som jag ändå anser slutade relativt konkret på slutet. Det kommer dock krävas att jag återkommer till begreppen flera gånger för att vara säker på att eleverna förstår vad det handlar om. Viktigt här är att låta eleverna anteckna, då det skrivna ordet hjälper dem att första och minnas. Efter genomgången fick eleverna gå in på learn.code.org/flappy/1 och testa att programmera sin egen version av "Flappy bird" med hjälp av den blockteknik som finns på learn.code.org. Denna övning är mest som en enkel introduktion till hur själva blocktekniken fungerar och jag undvek att förklara för eleverna hur allt fungerar steg för steg. Det sparar jag istället till de kurser som finns på learn.code.org och som jag kommer att påbörja tillsammans med mina elever på måndag.

Fördjupning som elevens val

På tal om kurser så kommer jag att parallellt hålla en kurs för de tjugo elever som valt programmering som elevens val. Denna kurs kommer jag att se som en fördjupning av den programmering som alla elever har och mitt mål kommer att vara att eleverna ska delta i tävlingen på www.bebras.se. Jag planerar fortfarande hur jag ska lägga upp det; men troligtvis kommer vi använda oss av liknande strategier som används i matematiklyftet där vi tittar på enskilda problem och försöker hitta så många olika lösningar som möjligt på problemen och diskuterar oss sedan fram till den lösning som skulle kunna anses vara bäst. Min tanke är att lyfta upp våra diskussioner här på bloggen så att andra får möjlighet att delta i vårt arbete med att förstå och lära oss logiken i programmering.