Visar alla blogginlägg med nyckelordet:
Programmera mera

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

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