Visar alla blogginlägg med kategorin:
Programmering

Vilket språk ska man lära sig?

Prog-languages

Det finns många olika programmeringsspråk, kanske närmare två tusen. Alla används inte längre och många är varianter av större språk, ungefär som dialekter. Gemensamt är att språken har en strikt syntax som måste följas. I vissa språk är indrag i början på kodraden viktig, i andra inte. Tecken som ”krullparentenser” {} (även kallade måsvingar) och semikolon kan ha olika funktioner i olika språk. I Python kan man använda antingen ”dubbelfnuttar” (”) eller ”enkelfnuttar” (’) för att markera en sträng, medan det i andra språk bara fungerar med det ena. En annan skillnad mellan språken är hur data sorteras. Olika språk är också mer eller mindre kompatibla med varandra. Eftersom skrivare, paddor och datorer kan vara programmerade med olika språk, är det en fördel om de lätt kan kommunicera med varandra.

De språk som används mest just nu är Java, C, C++, Objective-C, C#, JavaScript, PHP, Python och Swift.

Som lärare på grundskolan behöver du inte bemästra konsten att programmera. Det finns ingen rimlighet i den tanken, att alla lärare ska utbildas i programmering. Det viktigaste är att lärare har koll på vilka verktyg som finns för att skapa med hjälp av programmering och de grundläggande funktionerna. Genom att nosa lite på vad programmering innebär kan det bli lättare att förstå hur den digitala världen fungerar.

Hello World?

C är det äldsta av de språk som används nu. De andra språken bygger mer eller mindre på den struktur som Dennis Ritchie, skaparen av C, satte i början av 70-talet. 1978 kom boken The C Programming Language, av Ritchie och Brian Kernighan. Det var i den boken det numer klassiska ”Hello world!” myntades. Som första exempel för att komma igång med programmering i C var en kodsnutt för att skriva just ”Hello world” och efter det har det blivit en standardfras som används som introduktion till alla möjliga programmeringsmiljöer.

Olika språk är bra för olika saker. JavaScript, PHP och Python används för att bygga funktioner på nätet. De andra språken används mer för större system och databaser.

HTML

HTML är inte ett programmeringspråk, även om det är kod som skrivs. Det kallas för märkspråk (engelska: markup language) eller sidbeskrivningsspråk. En viktig skillnad mot programmeringsspråk är att i ett märkspråk finns det inte funktioner eller villkorssatser. I HTML beskriver vi hur en webbsida ska se ut med rubriker och blinkande figurer, men om vi vill ha en funktion där man till exempel kan anmäla sig till något, måste vi använda Python eller PHP eller JavaScript.

HTML kan man använda för att lära sig att koda -men alltså inte för att programmera. Fördelen med HTML är att det är lätt att lära sig. Det är tydligt vad den skrivna koden gör eftersom det syns på skärmen. Det är alltså ett bra sätt att visualisera hur skriven kod påverkar vad vi ser på skärmen, men det går inte att lära sig programmera i HTML.

För mig tog det där ett tag att fatta skillnaden i början, kod som kod liksom? Jag hade svårt att lära mig skilja på begreppen programmera och koda. Programmera är alltså mycket mer än att skriva kod. Det handlar om hela processen från det att det finns ett problem att lösa, hur det ska brytas ner för att datorn ska förstå hur det ska lösas, hitta bästa lösningarna, skriva kod, testa, förbättra, skriva ny kod, förbättra, testa, testa igen osv.

Blockprogrammering

Blockprogrammering som Scratch och varianter av Blockly (code.org) anses lättare att börja med, men personligen har jag svårt att se kopplingen mellan blocken och den skrivna kod som vanligtvis används när datorer programmeras. Det blir en abstraktionsnivå för mycket för mig. Med det menar jag inte att det inte är en bra start. Uppenbarligen fungerar det för många världen runt, men om du har testat och finner programmering obegripligt fortfarande, kan det vara att du är funtad som jag, och inte klarar abstraktionslagret. Då rekommenderar jag mitt favoritverktyg, Kojo. Det finns på kogics.net/webkojo  Allra bäst blir det kanske om vi kan jobba parallellt med flera verktyg samtidigt, eller i alla fall visa den textbaserade koden som ligger bakom blocket. Den funktionen verkar de ha plockat bort i de nyare versionerna av moduler i code.org, vilket jag verkligen inte förstår. Jag tycker att det är lysande att kunna se hur blocken ser ut i JavaScript.

Skärmavbild 2017-02-05 kl. 20.17.39

I lärarhandledningen till Programmera mera har jag gjort ett arbetsblad där man kan jämföra loopar i Blockly, Scratch och Kojo.

//Karin

Dags att söka till högskolan!

https://www.flickr.com/photos/karenbaijens/ By Karen Baijens

I morgon, tisdag 18 april, är sista dagen för att ansöka till kurser på högkola och universitet. Jag blir alltid lika sugen varje termin och jag vill gå massor av kurser. Förra terminen såg jag fram emot att få läsa in behörighet i teknikämnet, men kursen jag hade blivit antagen till, blev inställd på grund av för få deltagare.

Än så länge finns ingen kurs i programmering speciellt för lärare. Jag hoppas verkligen att det kommer inom kort. I väntan på det kan jag rekommendera en introduktionskurs till programmering. Jag gick denna trepoängskurs på KTH. Kursen är framtagen för att vara förberedande för studenter som ska läsa programmering och ger en bra grund i vad det handlar om. Nu är det fem år sedan jag gick kursen, men jag har rekommenderat den till många som varit lika nöjda.

Vid en genomgång av kursutbudet på antagning.se fastnade jag för dessa kurser som samtliga är på 7,5 poäng, distans och utan krav på annat än grundläggande behörighet:

Programming in C# på Malmö högskola

Introduktion till programmering och C# på Luleå Tekniska Universitet

Grundläggande programmering i C# på Högskolan Kristianstad

Programmering i Java på Högskolan Kristianstad

Programmering i C på Högskolan Kristianstad

Strukturerad programmering med C++ på Linnéuniversitetet 7,5 poäng, distans och inga förkunskaper behövs.

Jag tycker inte det spelar så väldigt stor roll vilket språk man väljer att lära sig som första språk. I introduktionskursen från KTH används Python, som har blivit det vanligaste språket i grundskolor runt om i världen. Tyvärr kryllar det inte av Pythonkurser på våra högskolor och universitet som synes. Jag tror ändå att det kan vara mycket givande att gå någon av kurserna listade ovan. Jag kan inte garantera innehållet i dem, men jag hoppas att våra högskolor och universitet håller någorlunda hög standard.

//Karin

Sju tips för att sprida programmering på skolan

Ofta är det en eller två lärare på en skola, som kommer igång med programmering men har svårt att sprida sina kunskaper på skolan. Mitt starkaste tips är att använda eleverna som resurser.

  • Elever håller i workshops för lärare
  • Elever håller i lektioner för andra klasser
  • Gymnasieelever håller lektioner på grundskolan
  • Elever stöttar lärare i andra klasser
  • Lärare ”praoar” hos kollegor och lär sig
  • Utbilda grupp av elever som blir ambassadörer, två i varje klass lär sig robotar.
  • Arbetslaget delar upp kompetensområden och hjälps åt ämnesövergripande. Inte lämna över till en enda person.

Lyssna gärna på det fina radioprogrammet Kjellkoden. I avsnittet Alla kan koda berättar Ådalskolan i Kramfors hur de jobbar med programmering på skolan och hur de sprider kunskaperna mellan lärare och elever.

IMG_6372  IMG_3324kap. 10. lego mindstorms

Att lära gamla hundar sitta

dog-102955_1280

Just nu strömmar det in oroliga åsikter från höger och vänster, angående den nya digitala agendan för skolan. Oron som kommer från folk utanför skolan struntar jag fullständigt i. Jag tänker inte ens läsa ledare som kritiserar regeringens beslut. Det är inte värt energin.

Oron som kommer inifrån skolan lyssnar jag däremot gärna till. Här är min empati stor. Jag hade blivit galen om jag hade fått order om att lära mig programmering, mitt i min vardag där jag redan kämpade för att få till min undervisning. Jag förstår tröttheten. Jag förstår motviljan.

Låt oss ta det lugnt. Låt oss vara tillåtande i tonen gentemot motsträviga kollegor.

Nu har vi ett beslut. Från höstterminen 2018 finns det ingen valfrihet längre. Låt oss se till att lärarna som nu har fått ytterligare en ny uppgift att ta sig an, känner sig lugna och trygga med att det kommer att gå bra. Det är viktigare att det här bli bra på längre sikt och att lärarna orkar och känner sig sugna på att ta sig an utmaningen.

/Karin

Digital kompetens bortom verktyg och appar

cat-244060_1280

I efterdyningarna av regeringens beslut om att stärka digital kompetens i styrdokumenten har jag hamnat i många debatter i sociala medier. Mellan raderna läser jag in olika typer av kritik, som i mångt och mycket bottnar i oro. Vi måste bli tydligare i att förklara vad digital kompetens är och varför det är viktigt.  Det digitala är inte något ytligt krimskrams som lärare använder för att skoja till lektionerna lite. Jag berörde det i inlägget om Varför programmering här.

Digital kompetens handlar inte om att hantera appar.  Kanske oförmågan att se komplexiteten i digitaliseringen kommer sig av okunnighet. Om man inte har insyn i hur komplicerad juridiken är, kring kränkingar på nätet, PUL eller upphovsrätt, då förstår jag att man inte ser det som något angeläget att lära ut. Eller om man aldrig har reflekterat över hur datalagringsdirektiv och spärrningen av vissa hemsidor kan få för konsekvenser för medborgare, ja då känns det kanske inte så relevant.

Det absolut viktigaste av den digitala kompetensen är demokratiaspekterna som vi måste sträva efter att komma åt. Det finns allvarliga sidor av att vi lever stora delar av livet på nätet. Om vi synar dessa sidor i sömmarna, kanske det känns mer relevant att regeringen stärker vikten av digital kompetens.

Det handlar inte om appar. Det handlar inte om att göra roliga presentationer i iMovie. Det handlar inte ens om att eleverna ska lära sig programmera. Det handlar om att förstå den värld som vi lever i, oavsett om den tar sig digitala eller fysiska uttryck.

På regeringens uppdrag har Totalförsvarets forskningsinstitut tagit fram en kartläggning om Hatbudskap och våldsbejakande extremism i digitala miljöer  som presenterades i januari 2017. Sedan tidigare jobbar Statens medieråd med material riktat till ungdomar angående medie- och kommunikationskunskap, just för att skolan ska kunna jobba mer långsiktigt för att förebygga radikalisering av unga, åt olika falanger.

Att vi 2017 talar om alternativa fakta, är ett resultat av att vi ignorerat komplexiteten i digitaliseringen för länge, menar jag. Det är dags att vi läser på lite. Digitaliseringen kommer inte att pausa under tiden. Jag förstår att det känns pressat och jobbigt, men vad har vi för val? Hur ska vi annars komma till rätta med problemen som digitaliseringen orsakar, om vi inte försöker lära oss förstå den? Vad är alternativen? Jag ser ingen annan väg än genom mer kunskap, för oss alla.

/Karin

Nu är det klart, programmering kommer in på schemat.

ballonger

Idag kom det äntligen. Regeringen har antagit Skolverkets för hur programmering kommer in i läroplanen. Ändringarna ska tillämpas senast från och med den 1 juli 2018. Huvudmännen kommer att kunna välja när de ska börja tillämpa ändringarna inom ett ettårigt tidsspann från och med den 1 juli 2017.

Här kan ni läsa pressmeddelandet från regeringen.

Programmera mera

Programmera mera/UR

Förutom att jobba på Utbildningsförvaltningen några timmar i veckan, är jag också på UR och jobbar för fullt med en andra säsong av barnprogrammet Programmera mera. Säsong 1 producerade vi förra året och det sändes på Barnkanalen under hösten. Troligtvis kommer det att repriseras nu under våren också.

Första säsongen hade vi årskurs 3 som målgrupp, men jag vet att det har använts från förskola upp till årskurs 5. Programmet består av 10 avsnitt på 15 minuter vardera. Man kan se alla, eller välja ut något som passar. Det finns en liten, liten progression i programmet, men det är meningen att man ska kunna se vilket avsnitt som helst och i den ordning man vill. Det finns även fem avsnitt som är gjorda på teckenspråk.

Till programmen har jag skrivit en lärarhandledning som jag hoppas kan vara givande läsning även om ens elevgrupp inte passar för programmet. De flesta övningarna går att anpassa uppåt och neråt i åldrarna och jag går även igenom grundläggande begrepp som är bra att lära sig.

Dessutom finns det ytterligare lärarmaterial i form av 10 filmer som heter Lektionstips. Där beskriver jag olika begrepp och hur man kan jobba med dem inom olika ämnen.

Hälsningar, Karin

Vill du vara med på Stadshushacket?

stadshushack

28 mars 2017 är det dags för Stadshushacket – ett superhackathon med hundratals femteklassare i Blå Hallen. Och vi behöver dig från Stockholm Stad som vill hjälpa till! Stadshushacket i Blå Hallen är en aktivitet som planerats på uppdrag av Programmeringskommissionen och Programmering Stockholm och det blir ett roligt och lyxigt exempel på att Stockholm satsar på programmering.

Vi bjuder in en femteklass från varje stadsdel som får komma till Stadshuset tillsammans med lärare och fritidspersonal och testa på programmering tillsammans med yrkesverksamma programmerare under festliga former denna eftermiddag. Vi har ett lärarspår i underbara Gyllene Salen där lärare och pedagoger får prova på olika roliga sätt att komma igång med programmering i skolan. Till lärarspåret blir det först-till-kvarn-anmälan som kommer ut inom kort.

I det här projektet samarbetar Utbildningsförvaltningen med Kodcentrum som ordnar kodstugor ute på våra skolor och har en mängd volontärer som hjälper till med arrangemanget.

Vill du vara värd på Stadshushacket?

Nu behöver vi en mängd värdar för att eventet ska vara tryggt och roligt. I formuläret nedan kan du anmäla ditt intresse av att vara med som värd.

Som värd får du: 

  • vara med och skapa historia när hundratals 5:e klassare kodar i Stadshuset
  • arbeta i underbara Blå Hallen tisdag 28/3 11.30-16.00
  • komma på ett trevligt förmöte 22/3 8.00-9.00, Kungliga Myntet, Utbildningsförvaltningen, Hantverkargatan 2F
  • lunch och fika
  • en käck t-shirt

Värdskapet innebär bland annat att… 

  • vara på plats i Stadshuset 11.30-16.00 och hjälpa till med förberedelser och delta på plats
  • hjälpa workshopledarna till rätt ställe (tydliga instruktioner kommer finnas)
  • vara värd till klasserna som kommer (14 klasser, en från varje stadsdel)
  • välkomna deltagarna när de kommer 13.00 och visa in dem in i Blå Hallen
  • stå i trappan upp till Gyllene Salen (dit endast deltagare på Lärarspåret har tillträde)
  • hjälpa elever som kommit på villovägar och inte hittar toalett eller liknande

Programmet den 28/3

13.00 Hej och välkomna

13.15-14.15 Pass 1

14.15-14.45 Fika

14.45-15.45 Pass 2

15.45-16.00 Tack och hej!

Plats: Stadshuset

När: Tisdag 28 mars 11.30-16.00

Anmäl dig via denna länk: 

https://goo.gl/forms/KjFQ77FRIZCBNrPJ3

Frågor? Kontakta annika.hedas-falk@stockholm.se eller 076-12 408 14

Vi ser fram emot att skapa historia med er!

/Annika

Didaktorn: Digitalkunskap

Dagens blogginlägg blir i form av en podcast. I samband med Bokmässan i höstas, träffade jag Natanael Derwinger och spelade in ett avsnitt av podcasten Didaktorn. Här följer 17 minuter där jag förklarar bakgrunden till mina tankar om programmering och den digitala dimensionen av läroplanen.

/Karin

Didaktorn: Digitalkunskap

didaktorn

Att förstå hur världen fungerar

atomer och bitar

”Titta mamma, jag badar bland vattenmolekylerna”, det sa min dotter när hon var tre år och de hade haft experiment på förskolan. De hade smält is och kokat vatten för att se hur vattenmolekyler kan ta olika form. Jag blev så lycklig. Min dotter hade lärt sig hur allt omkring oss är uppbyggt av atomer och molekyler och vi har haft många samtal om molekylerna sedan dess.

I torsdags radade jag upp fyra sexåringar med två ficklampor i varje hand. Genom att vi tände och släckte ficklamporna skickade vi meddelanden till föräldrarna som fick tolka vad vi skrev utifrån en ASCII-tabell. Jag inbillar mig inte att sexåringarna gick därifrån med en fullständig förståelse för hur data kan skickas runt hela jorden på några sekunder och bli till film, text eller bilder, men jag tänker att jag någonstans i bakhuvudet har placerat ett frö till förståelsen. Föräldrarna tackade så mycket för förklaringen och verkade mycket glada att de äntligen hade fattat något som de inte hade begripit tidigare.

Det handlar om att förstå hur världen fungerar. Genom att läras sig att en dator bara förstår ettor och nollor, alltså på eller av, är det lättare att förstå att det hela tiden måste reduceras till just ett eller noll, när data ska tolkas. En programmerad lösning på ett problem behöver en definitiv gräns. Om vi väljer att installera ett filter på datorn, så har någon programmerat det filtret till att acceptera viss data och blocka annan. Var går gränsen? Om sidor innehållande vissa ord blockas, blir det till exempel svårt att hitta fakta om droger, porr eller vad som nu ska förbjudas. Hemsidan teacherhack , som innehåller tips på hur man kan jobba med digitalt fokus i skolan, gick inte att nå från Stockholms stads datorer ett tag (vet inte hur det är nu) på grund av namnet.

För sex år sedan visste jag inte mycket alls om datorer. I dag är jag mycket mer kompetent att avgöra vad som är säkert och inte, vilka faror som är verkliga och vilka som är inbillade. Jag kan ha åsikter om politik som rör vår datasäkerhet och jag kan fundera över hur jag tycker att storföretagen ska hantera min data. Jag är verkligen inte expert på datorer. Jag har inte läst någon högskoleutbildning i datavetenskap, men jag känner mig mycket tryggare i den digitala världen. Att ha kunskap eller inte ha kunskap, det är frågan. Vad tycker du?

/Karin