lördag 26 oktober 2013

Hur börjar man med programmering på låg- och mellanstadiet?

Det finns idag många olika utbildningsmiljöer som är framtagna för att lära barn programmera. Scratch som är framtaget av MIT Media Lab är nog det mest använda programmet världen över. Själv valde jag att börja med Kojo, helt enkelt för att det var det program jag hade lättast att fatta själv.

Kojo har en låg tröskel för att komma igång, samtidigt som det inte har någon begränsning i vad man kan göra, eftersom det använder ett riktigt programmeringsspråk, Scala.

En annan fördel med att börja med Kojo är att det är rätt tråkigt och ospännande i sin layout. Eleverna får inte för stora förväntningar på vad som ska skapas. Utmaningen ligger i att få en sköldpadda att rita upp det mönster man önskar. I det visuellt mer tilltalande Kodu, ville eleverna skapa coolare spel direkt och det blev större frustration när det visade sig svårare än de trodde. 

Som introduktion till första lektionen är det bra att förklara hur datorer programmeras. Mitt första syfte när jag började i våras, var att lära eleverna att allt vi ser på våra skärmar bara är resultatet av mängder med rader av kod. Ett enda svep med fingret på touchskärmen genererar aktivitet "backstage" som vi inte ser. Genom att själv få skriva in några rader för att göra en kvadrat, får eleverna en känsla för hur mycket arbete som döljer sig bakom det vi använder varje dag.

Här är andra bra mantran att trumma in:
-Datorn gör bara vad DU säger åt den att göra. 
-Datorn gör EXAKT vad du säger åt den att göra. Den kan inte tänka själv.
-Datorn går därför att förstå sig på. Den är logisk. Inte magisk.
-Datorn läser kod uppifrån och ner. Den kan inte hoppa bakåt, om du inte säger åt den att göra det. Därför måste kommandon komma i rätt ordning.
-Datorn förstår inte vad du menar om du stavar fel eller sätter ett kommatecken på fel ställe. 

Min första lektion som jag hade använde jag mig av delar av Björn Regnells presentation som finns på lth.se/programmera 

Här har jag gjort en skärmdump som presenterar fönstret som man får upp i Kojo:


fredag 25 oktober 2013

DIY - i skolan?

För en tid sedan tipsade Emil Jansson om https://diy.org/ som även finns som app.

Nu på morgonen har jag tagit mig tid att utforska närmare vad det är för något och kände att jag tände på alla cylindrar. Det är listor på uppdrag som man kan välja och vraka bland bäst man vill. Allt går ut på att lära sig något nytt och sedan göra något kreativt av det.

Det finns 99 olika områden man kan förkovra sig inom. Från "Angler" (som i fiskare) till "Zoologist".


Inom varje område finns olika antal utmaningar. Om jag till exempel vill bli detektiv, har jag följande uppdrag att slutföra:


Instruktionerna ser väldigt välgjorda ut och det verkar vara hög nivå på kunskapen bakom uppdragen. Jag är imponerad rakt igenom. Även registreringen är föredömlig. Man får välja mellan ett antal avatarer och man får välja mellan ett antal användarnamn. Jag heter till exempel Chirp Dries. Barn under 13 år måste registrera med förälders mailadress och föräldern måste godkänna för att kontot ska bli offentligt. Och ja, jag var tvungen att ljuga om min ålder för att kunna skapa ett konto. Jag skäms! Det här är för barn upp till 18 år. Vi vuxna får hitta någon annan sida att förkovra oss på, (finns säkert en googling iväg).

Åh vad jag vill jobba med det här i skolan. Släppa lös ungarna och se vad de skapar. Ibland önskar jag verkligen att jag jobbade heltid och hade mer tid med eleverna så att jag hann med mer. 





Visst får vi programmera enligt lgr11!

De senaste veckorna har jag ägnat mycket tid åt media. Det har nästan inte gått en dag utan att jag blivit kontaktad av någon journalist. Det är fantastiskt kul och jag pratar gärna med alla som hjälper till att sprida mina tankar.

Efter inslaget i TV4 kände jag att jag ville säkerställa att min undervisning håller måttet enligt Skolverket. Min rektor kontaktade dem och snart hade vår förfrågan om "granskning" övergått till ett möte där vi träffades och pratade om programmeringens vara eller icke vara, i läroplanen. Det var ett väldigt roligt möte. I tre timmar satt jag med fyra representanter som på olika sätt är involverade i matte/NO/teknik-ämnena. Jag fick mycket utrymme till att presentera mina tankar och idéer genom att visa mina böcker som jag hämtat teorier från, mina egna illustrationer, mina lektionsupplägg och allt däremellan. Det kändes otroligt lyxigt att få möjlighet att verkligen förklara hur jag tänker. Ofta har man ju inte tid. Alla intervjuer jag gjort den senaste tiden har bara blivit fragment som i sin tur brutits ner till ännu mindre fragment för att passa i formatet i tidningen eller inslaget.

Resultatet av mötet var helt odelat positivt. Min undervisning följer absolut alla intentioner i lgr11. De kunde inte ens förstå att jag kände mig osäker på det. Även om det inte står i tydliga ordalag att man kan använda programmering som medel, så tyckte de att det var ett utmärkt sätt att nå kunskapskraven och uppfylla de syften som finns i såväl kapitlet om övergripande kunskapsmål och det som står i teknikämnet. -Lättnad!

Sedan hade vi många och långa och spännande diskussioner om hur vi bör gå vidare för att sprida idéerna och öka kompetensen bland Sveriges lärare. På den punkten lär vi stå still lite till. Känns som en svår nöt att knäcka. Skönt ändå att vi nu väckt tanken och påbörjat resan mot en läroplan som är bättre anpassad för elever i ett digitalt samhälle.

http://www.nyteknik.se/nyheter/it_telekom/datorer/article3775817.ece

http://www.svd.se/opinion/brannpunkt/programmering-ar-framtidens-sprak_8566318.svd

http://www.tv4.se/nyhetsmorgon/klipp/programmering-och-kodning-p%C3%A5-skolschemat-2464557

https://www.iis.se/blogg/programmering-i-skolan-ping-9/

http://www.svt.se/nyheter/sverige/krav-pa-att-elever-lar-sig-programmera

http://www.svt.se/barnkanalen/lilla-aktuellt-skola/

söndag 6 oktober 2013

Mina elevers förslag till dig som vill börja med Kojo:



prova sig fram försök att göra roligare kod
Börja göra en cirkel
försök att göra kortare och enklare koder
(1)Att kolla på internet!
(2)testa att göra en Fyrkant
(3)testa att göra en cirkel
skriva sudda i starten alltid.
Börja med att lära dig de enklaste sakerna T.ex. hur man går fram och bak.
hur man gör en fyrkant.
Hur man fyller t.ex. en ruta med färg.
Att man inte ska stressa för mycket.
Att det tar tid att lära sig.
Man kan alltid fråga en kompis om hjälp.
hur man gör en cirkel.


hur man gör en fyrkant.


hur man går fram.
läsa "lathundar" eller fråga en kompis/lärare kanske kolla internet, youtube eller google!
def, cirkel, parenteser

1. Att börja med att lära den enklare koder som t.ex. cirkel.
2. Lära personen grunden av programmering.
3. vet inte
Prova sig fram
Hur man går fram!!
Gör en cirkel!!
Hur man gör en bakgrund!!
Att datorn använder pixlar, ett steg för paddan är 25 pixlar. Så om du vill att den ska gå 2 steg skriv INTE fram(2) utan fram(50)!


Skriv sudda i början av dina script så att den nollställer det paddan ritat ut i föregående körning.


Använd definitioner om du använder samma figur många gånger i samma script
Att tänka på att de är nybörjare och inte förstår koderna om man bara skriver åt dem, istället för att låta de gissa.

Du kan (nästan) alltid ta hjälp av sökmotorer.
Tänk på att det är viktigt med stora och små bokstäver.
Du kan använda svenska som språk i Kojo!



börja alltid med sudda
läs i instruktionerna
ha roligt

Att skriva enkla kommandon i början.
Inte göra det för svårt.
Börja med typ cirkel(100)
skriv sudda först.
sen ska du skriva sakta(100)
var tydlig.
Att alltid byta rad när det är en ny kod

att man ska börja med att lära sig att göra dom olika formerna och sudda och hoppaTill.
sudda
hoppaTill
cirkel

sudda
sakta(100)

Gör aldrig stor bokstav. Använd parentes.
googla
Att man ska skriva sudda i början.


Att hen kan skriva fram;fram;fram
istället för
fram
fram
fram


Sen skulle jag visa hur man hoppar till ett annat ställe (hoppaTill(- 200 , 300)


Sen skulle jag visa hur man gör en cirkel: cirkel(50)
skriva sudda först.
man måsta ha tålamod.
man brukar använda( ) när man skriver hur stort/långt - tex fram(20) - kort fram(200) långt.

inte stressa, kolla på ett papper som det står på vad man ska göra. hålla fokus
börja alltid att skriva sudda


använd en lathund


börja lätt


korta kommandon
jag tycker hen ska kolla på en hur-man-gör video på youtube så hen slipper komma ihåg en massa dåliga tips
jag tycker att isåfall du ska använda en lathund eller titta videos på youtube eller gå till kod.com
1 markera sin kod med //
2 läsa genom den ordentligt
3 börja med lätta koder t.ex. cirkel
1. skriv alltid sudda först


2. du måste kunna hoppaTill


3. måste kunna se vad man kan se vilken koordinat
börja med sudda
sluta med osynlig
koden ska vara kort
ta ett papper och kolla där det andra sättet, att fråga en fröken eller att fråga en kompis
1.Lära sig hur man vänder håll på sköldpaddan, t.ex. höger,vänster och söder.
2.Inte skriva för många kommandon, andvända upprepa istället
3. Börja med dom enkla sakerna t.ex. fram(30), bakgrund(röd) och sakta(100)
att hen inte behöver skriva fram tusen gånger att hen bara kan skriva fram(4).


och upprepa(5)


cirkel(4)


sakta(100)
:Att man säger olika kommandon
:man visar hur man andvänder def
:och visar var man skriver koden

att sudda i början


att använda upprepa


att göra en cirkel
försöka lära hen grundstegen


upprepa


hur man börjar koden
UPPREPA och lära sig hoppa. Bakgrund också bra att ha.


Du kan börja med enkla koder som fyll(rosa), färg(blå), cirkel(100).
Att koderna inte ska vara så långa.
Och bli inte frustrerad om koderna inte funkar det är nog bara ett stavfel som frem(20)


Att ha sudda i början
fram(100) inte fram fram fram fram


hoppaTill()


cirkel()



Jag kan bara fram höger och vänster.
Att hen alltid ska börja med sudda, och använda def, och använda anteckningar, så att hen vet vilken del av koden som är vad.
att göra egna komandon
ändra färg
och hoppaTill
Lära sig koderna och veta hur de fungerar och veta vad man ska göra.
att inte skriva för många koder.
att man måste skriva rätt, annars blir det fel.
att man ska försöka att inte skriva så lång kod.


gör rätt!
sudda i början


skriv inte jättemycket på en gång, testa din kod med jämna mellanrum, då blir det lättare att upptäcka fel


använd "sakta(100)"
att göra koden så kort som möjligt


att använda rutnätet som man får fram om man högerklickar i ritfältet.


att börja med att göra något lätt och sedan göra svårare och svårare.
att skriva rätt kod.
börja med en lätt sak som en cirkel eller att gå fram.
skriva sudda först.
läsa på "fuskpappret" i början.


att fram(100) går den fram. vänster går den vänster. och höger går den höger
Om man ska skriva två ord ihop måste andra ordet ha stor bokstav t ex pennaUpp.
Om du ska få paddan att göra en cirkel ska du skriva cirkel(20) talet i parenteserna beror på hur stor cirkeln ska vara.
Om du vill att sköldpaddan ska gå utan att den ritar, skriv då pennaUpp om du vill ha ner pennan igen kan du skriva pennaNer
Börja alltid med att skriva sudda.


Försök göra korta koder.



Börja alltid med att skriva sudda.


Försök att göra korta koder.


Skriv osynlig i slutet så ser du det du gjort bättre.

skriva sudda i början


så du kommer ihåg //text


kunna skriva fram() Cirkel() norr söder osv