fredag 29 augusti 2014

Konsten att logga in

Idag var tanken att börja med introduktionen till programmering för två halvklasser i årskurs 5. 80 minuter per klass är i sammanhanget egentligen fantastiskt då jag har möjlighet att få med eleverna en bra bit på vägen på den tiden. Problematik uppstod dock ganska snabbt då det var första gången som en majoritet av dem loggade in på deras konton.

Välkommen... Skrivbordet förbereds...

Detta med att få inloggningen att fungera är troligtvis en av de delar jag upplever som bland det mest frustrerande när det gäller att kunna undervisa med hjälp av datorer. Det tar inte bara ett bra tag för datorerna att starta, det är väldigt ofta något lösenord eller något användarnamn som inte fungerar som det ska. Jag räknar med att detta är problem som vi mer eller mindre har kunnat lösa efter den första gången men det är ändå en olustig känsla att en lektion på 80 minuter mer eller mindre gått åt, att ge eleverna möjlighet att logga in på datorerna.

@ och caps lock

Två andra saker jag ofta uppmärksammar i samband med arbetet med att ge eleverna tillgång till sina konton, är att elever idag väldigt ofta tenderar att skriva versaler (stora bokstäver) med hjälp av "caps lock" och att de genvägar på tangentbordet som jag lärde mig genom "trial - and - error"(som exempelvis hur man skriver @), är något som jag som lärare måste arbeta med. Detta är något jag kommer att återkomma till flera gånger i denna blogg och har enligt min mening mycket att göra med att den digitala tekniken idag är så användarvänlig att vi inte behöver reflektera över hur den fungerar. I detta finns det givetvis oerhört många vinster men även en viss problematik som det inte går att bortse från och som jag som sagt kommer att återkomma till.

Vinsten idag blev att jag fick eleverna att börja använda drive och att alla nu kan använda datorerna själva. Det blev dock inte särskilt programmerande utan det är något jag själv får arbeta med nu under helgen. Slutligen fick jag ett väldigt glädjande besked om att jag kommer att läsa en kurs i programmeringsteknik på distans på Kungliga tekniska högskolan nu under hösten.

onsdag 27 augusti 2014

Lektion 1a: Ett eller noll

Läsårets första lektion i programmering höll jag för en klass sexor i måndags. Upplägget utgår från att eleverna i årskurs 6 har programmering varannan vecka. Optimalt hade varit att ha det i halvklass men på grund av schematekniska skäl fick det bli på det här viset.  Fördelen med att ha en klass varannan vecka är att jag kan spegla lektionen, samtidigt som jag har möjlighet att förbättra de saker som eventuellt går fel på det första tillfället. 

Arbetsmiljön
Lokalen som vi använder oss av är en provisorisk datorsal som jag som IKT - utvecklare har ansvar för. Det är långtifrån en optimal sal att arbeta med datorer i, speciellt då salen har den där karaktäristiska värmen som datorsalar tenderar att ha. Datorerna vi använder är bärbara HP - datorer som är 4 - 5 år gamla och som inte har batteri som fungerar. Detta medför att det i salen finns väldigt mycket provisoriskt kablage som inte är särskilt bra för arbetsmiljön. Min förhoppning ligger i att vi blivit lovade Chromebooks vilket jag tror kommer underlätta möjligheterna för eleverna att lära sig programmera i större utsträckning. 

Läromedel
Inledningsvis använder vi oss av det program som finns på http://learn.code.org/ som är en sida skapad av dataingenjörer från Google, Microsoft, Facebook och Twitter. Det intryck jag har fått från sidan är att den är en väldigt bra ingång för att börja med programmering tillsammans med eleverna. På sidan finns det "färdiga" genomgångar, som ger en bra resurser att undervisa i programmering både utan och med dator. Det är också lätt att få en översyn kring hur det går för eleverna, då jag som lärare kan skapa konto för alla elever där jag ser hur de ligger till i de olika övningarna. 

Begrepp
Under vårt första pass började jag med att diskutera ett antal olika begrepp som hör till programmering. Detta är viktigt för att eleverna ska kunna samtala med varandra på samma sätt som de samtalar i de andra ämnena. När jag har försäkrat mig om att det finns en viss förståelse kring vad begreppen innebär är det de jag återkommande använder när jag undervisar. Följande begrepp diskuterade vi under det första passet:
  • automatisera - något som händer automatiskt (vi använde liknelser från människroppen)
  • datavetenskap - vetenskap om allt som hör till data (se nedan)
  • dataingenjör - en ingenjör som arbetar med att lösa problem som hör ihop med data
  • data - information
  • dator - maskin som använder sig av data
  • miljö - allt omkring oss men även något som kan skapas med hjälp av data
  • gränssnitt - hjälper oss att arbeta med data (t.ex. pekskärm)
  • öppen kod - program och kod som är öppen för alla att använda
  • programmering - ett verktyg (språk) som gör att vi kan bestämma vad vi vill att datorerna ska göra med datan
  • simulering - här väljer jag att ta spelen FIFA, The Sims och Battlefield som exempel på simuleringar, dvs. ett sätt att föra över delar av verkligheten till data
Jag låter eleverna diskutera vad begreppen kan betyda innan jag lyfter upp det i helklass. I diskussionen i helklass ser jag till att det finns väldigt konkreta och tydliga exempel kring hur begreppen används och vilken betydelse de har. Under den första lektionen fick jag föra diskussionen i ganska hög grad men min tanke är att vi ska återkomma till dessa (och fler) begrepp längre fram där eleverna kommer att ta ett större ansvar. 

Binärt
Den andra delen av lektionen bestod av att vi diskuterade hur vi använder datorer (surfplattor, mobiltelefoner, etc.) idag, samt hur de egentligen fungerar. Eleverna är på ett vis väldigt vana användare av digital teknik men de har ofta inte en djupare förståelse kring hur det fungerar eller vilka möjligheter som tekniken ger utanför de sociala medierna. I denna del tar jag upp hur datorerna behandlar information och förklarar väldigt allmänt hur det binära talsystemet fungerar och vilken koppling det har till datorer och programmering. Ett bra exempel här är att låta en elev ställa sig och tända och släcka klassrummets lampor och förklara att när de är motsvarar det 1 och när de är  av motsvarar det 0. Detta är ett moment som är väldigt svårt för eleverna men genom att koppla det till elektrisk ström och varför datorer inte förstår saker på det sätt som vi gör, så får eleverna en viss känsla av hur det egentligen fungerar.

Efter min genomgång kring det binära systemet ger jag varje elev ett papper där de ser den binära koden för varje bokstav (versal) i det engelska alfabetet. A motsvaras exempelvis av 0100 0001. Varje nolla (0) och etta (1) är en bit och 8 stycken bits är en byte. Där får jag kopplingen till något som är greppbart för eleverna då de är bekanta med hur mycket som ryms på deras datorer eller mobiltelefoner. Genom att förklara att 1 kB (kilobyte) är 1 000 stycken A eller att 1 MB (megabyte) är 1 miljon stycken A* (se fotnot nedan), får eleverna en mindre abstrakt bild över hur mycket data (dvs. information) som vi låter våra datorer behandla.  

Övning 1: Tänka binärt och arbeta digitalt

Många av eleverna har svårt att förstå detta och under lektionen ställde jag mig själv frågan om detta egentligen var något vi behövde ägna någon längre tid åt. Då delade jag ut små lappar med 8 tomma rutor där de skulle skriva valfri bokstav (A - Z) binärt (dvs. med bits). Eleverna fick välja mellan att färglägga rutorna (en färg för 1 och tomt för 0) eller skriva ner det binära värdet i varje ruta (dvs. 1 eller 0). Det var här jag insåg att genomgången ändå gav resultat då jag lät eleverna arbeta precis som datorer. De såg en bokstav, omvandlade det till ett binärt värde och fick sedan i helklass omvandla det till en bokstav igen (de andra eleverna fick gissa). Övningen avslutades med att jag skrev ett namn helt binärt och visade hur datorn tittade på talraden genom att dela upp den i delar med 8 bitar i varje (dvs. en byte). 

Övning 2: Flappy Bird
Slutligen fick eleverna äntligen starta upp datorerna där de fick "programmera" en version av spelet Flappy Bird på http://learn.code.org/flappy/1. Eleverna fick hjälpa varandra så mycket som de ville, då jag snabbt insåg att det var en något för svår övning att börja med utan en grundligare genomgång. När de var klara med alla tio övningar i programmeringen av Flappy Bird fick de själva välja vad de ville göra på datorerna.

Sammanfattning

Första lektionen i programmering gav mersmak och goda insikter om hur jag ska fortsätta med projektet. Det som fungerade bäst var diskussionen kring begreppen och i viss mån övningen där eleverna fick arbeta som datorer. En bättre genomgång av programmeringsövningen hade behövts, vilket jag kommer att ha med mig när jag genomför detta nästa gång på fredag med två klasser i årskurs 5. 

Daniel Pamp

2014 - 08 - 27

*Jag är medveten om att när det gäller beräkning av kilobyte och megabyte så finns det det två olika sätt att räkna och de har i viss mån olika betydelse. Jag väljer dock att inte gå in på detta tillsammans med eleverna utan försöker hålla det så korrekt som möjligt utan att röra till det för mycket för dem. Läs mer på: 
http://sv.wikipedia.org/wiki/Kilobyte och http://sv.wikipedia.org/wiki/Megabyte




tisdag 26 augusti 2014

Om mig och den här bloggen

Jag är lärare på en mellanstadieskola i Malmö stad och har börjat undervisa i programmering i årskurs 5 och 6 på min skola. Tanken bakom skapandet av den här bloggen är att hjälpa andra komma igång med programmering, samt utbyta tankar och idéer kring hur vi kan göra programmering begripligt i undervisningen. 

Vem är jag?

Jag heter Daniel Pamp och är utbildad gymnasielärare i samhällskunskap och historia. Min första anställning fick jag för tre år sedan som lärare i årskurs 6 och sedan dess har jag fortsatt att undervisa på mellanstadiet. Under de här åren har jag fått röra mig allt mer mot NO - ämnena och matematiken vilket också har medfört att jag fått större möjligheter att undervisa i just programmering. Just nu går jag på lärarlyftet i NO och teknik för årskurs 4 - 6 på lärarhögskolan i Malmö. samt deltar i matematiklyftet som Skolverket genomför över hela landet. 

Erfarenheter kring programmering

Uttrycket hellre än bra är väl något som kan sägas summera min första kontakt med programmeringen. Jag började i högstadiet med att köpa en bok som sa sig kunna lära mig programmeringsspråket C++ på tre veckor, det var svårare än jag hade tänkt mig och jag har ännu inte klarat av de tre veckorna. Intresset för programmering bestod och jag var inte och nuddade vi det när jag gjorde hemsidor (varav min sida om Pokémon gav mig min första inkomst inom IT - branschen). Det är dock först nu som jag verkligen kommit in i programmering på riktigt och med det tänker jag också hitta ett sätt att undervisa elever i grundskolan i kodandets förlovade värld. 

Varför en blogg?

Bloggen är till för att dela med mig av erfarenheter kring hur jag undervisa i programmering och min förhoppning är att andra ska kunna ta del av detta och själv testa. Jag har haft programmering som elevens val men faktiskt lyckats få in det som ett återkommande moment för eleverna i årskurs 5 och 6. Min förhoppning är att jag ska kunna visa upp både lyckade och mindre lyckade försök kring hur jag undervisar i detta ämne. 

Hoppas ni vill följa med och delta i utvecklingen av programmering som ett framtida skolämne.

Daniel Pamp
2014 - 08 - 26