Programmeringskunnande
Programmeringskunnande är en färdighet som alla har nytta av. Det handlar inte bara om att koda. I kompetensen ingår mångsidiga tankefärdigheter och förståelse av den digitala, programmerade världen och hur den fungerar, samt vad som kan uppnås genom att programmera.
Programmeringskunnande är…
- …datalogiskt tänkande
- …undersökande arbete och produktion
- …kunskap om programmerade miljöer och verksamhet i dem
Delhelheten programmeringskunnande är indelad i tre huvudområden: 1) datalogiskt tänkande, 2) undersökande arbete och produktion, och 3) programmerade miljöer och verksamhet i dem. Huvudområdena och beskrivningarna som är strukturerade under dem bygger på en översyn av grunderna för planen för småbarnsfostran (2018), förskoleundervisning (2014) samt grunderna för läroplanen för den grundläggande utbildning (2014). I grundtexterna framstår programmeringskunnande som en bred kompetens inom alla lärområden, mångvetenskapliga helheter och ämnen.
Programmeringskunnande
Inom småbarnspedagogiken
Med små barn bekantar man sig med teknologisk miljö och övar på de färdigheter och grundläggande kunskaper som behövs i programmering: Man iakttar och namnger vardagsteknologi och -utrustning samt funderar över deras ändamål och funktion. Barnen uppmuntras att förundras över och ställa frågor om företeelser i miljön samt hitta svar och lösningar på dem. Man namnger och förklarar fenomenen tillsammans. Man tränar på färdigheterna i logiskt tänkande, så som klassificering och jämförelse. Man övar på att berätta om sina egna tankar och observationer samt att fungera tillsammans enligt givna instruktioner.
I småbarnspedagogiken får barnen erfarenheter av teknologi och övar programmeringsfärdigheter genom lek, spel och att pröva tillsammans samt genom att planera och bygga egna produkter.
Inom förskoleundervisningen
Tillsammans med barnen bekantar man sig med datorer och iakttar teknologi som styrs av datorer i vardagsmiljön. Man funderar på och tar tillsammans reda på hur de fungerar. Man övar på att klassificera och ordna företeelser enligt specifika grunder samt förklarar de val som gjorts tillsammans. Man begrundar, strukturerar och utforskar vardagens fenomen och problem. Man bekantar sig med olika verksamhetsinstruktioner och prövar lekfullt att följa och ge sådana.
I förskoleundervisningen får barnen erfarenheter av kreativ aktivitet och kreativt uttryck med hjälp av teknologi. De planerar och bygger egen utrustning, egna robotar och spelmiljöer samt beskriver deras funktionsprinciper. Barnen uppmuntras till att presentera egna idéer och att lyssna på andra och dela uppgifter i samarbetssituationer.
Eleven i årskurs 1–2
Man observerar informationsteknik i barnens erfarenhetsvärld och bekantar sig med robotik. Man övar på att beskriva funktionsprinciperna för informationsteknisk utrustning. Man övar på att känna igen mönster som upprepas och regelbundenheter samt att ordna information enligt villkor. Man berättar om egna observationer och val med hjälp av begrepp och konkreta verktyg. Man bryter ner vardagliga problem i delar och testar olika lösningsalternativ. Man gör upp lekfulla verksamhetsinstruktioner som också kan testas med programmerbar utrustning samt övar på att känna igen felsituationer.
I årskurserna 1-2 används arbetssätt och utrustning som har att göra med programmering kreativt, lekfullt och experimetiellt i samband med behandlingen av de olika läroämnens innehåll. Man övar på att turas om i uppgiftsrollerna och att presentera och dela sina idéer med andra. Man gör sina egna berättelser genom att animera eller programmera.
Eleven i årskurs 3–6
Man observerar programmering och robotik i samhället samt funderar kring användningssätt och betydelse av teknologiska tillämpningar i elevernas liv. Man diskuterar riktat innehåll samt hur eleverna själva agerar i digitala miljöer.
För att lösa olika problem används olika metoder och lösningsmodeller, vilka man även prövar skapa själv. Man utvärderar lösningarna genom att använda kriterier. Man bearbetar och presenterar informationen med hjälp av begrepp och symboler. Man skapar instruktioner och algoritmer genom att utnyttja grundstrukturerna i programmering samt letar efter och korrigerar fel i instruktionerna. Man programmerar i en grafisk programmeringsmiljö.
I årskurserna 3-6 övar man på att arbeta ihärdigt och interaktivt för att nå gemensamt uppsatta mål. Mätningar, sensorer, automation, robotik samt olika animerings- och programmeringsplattformer används för kreativt uttryck och egna produktioner.
Eleven i årskurs 7–9
Man bekantar sig med tillämpningar av algoritmer, automation och robotik på olika delområden i livet. Man diskuterar möjligheter, risker och etiska synvinklar för programmerad teknologi. Man behandlar riktade innehåll och personanpassade tjänster. Man funderar över den sociala och sammhälleliga betydelsen av programmering och information som samlats in i digitala miljöer.
Man analyserar och visualiserar problem och bedömer möjliga lösningar utifrån olika kriterier. Generaliseringar, mönster, notationssätt och logiska operatörer används i behandlingen och presentationen av informationen. Man tolkar programkoder och skapar egna program där man på ett ändamålsenligt sätt använder grundläggande programmeringsstrukturer. Man planerar och programmerar program i olika miljöer.
I årskurserna 7-9 används algoritmiskt tänkande och programmering i olika läroämnen och i samband med mångvetenskapliga lärprojekt. Man planerar och förverkligar programmerade produkter, som löser problem i läroämnen eller i det verkliga livet.
Huvudbegrepp
Programmering (eng. programming) = Programmering innebär att ge instruktioner, analysera problem, utvärdera eventuella lösningar, skriva programkod och att testa den programmerade applikationen och de fel som uppstår i den. Programmering är datavetenskapligt eller algoritmiskt tänkande i praktiken.
Program (eng. program) = en stor algoritm som genomför en bestämd nyttig funktion. Till exempel: mobilapplikationer, ordbehandlingsprogram i datorn och alla enkla eller komplicerade program du gör själv.
Programvara = en mängd program samt information, förfaranden och instruktioner som gör det möjligt att utföra olika uppgifter i ett datorsystem.
Kodning (eng. coding)= programmeringsfasen där man skapar den egentliga programkoden. Nuförtiden används ordet kodning som synonym till programmering i talat språk. Exempelvis att utforma variabler, slingor och villkorssatser så att programmet utför de önskade funktionerna.
Kod (eng. code, program code) = en algoritm eller ett program producerats med ett visst programmeringsspråk som en dator kan köra. Exempelvis en programdel som räknar antalet timmar som tillbringats i skolan då programdelen matas med de dagliga timmarna eller elevens schema.
Algoritm (eng. algorithm) = En rad instruktioner som leder till att ett problem löses eller att något objekt ändrar sin form. Ett exempel: ett matrecept
Programmeringsspråk (eng. programming language) = textbaserat eller visuellt språk med vilket algoritmer eller program kodas till en form datorn kan förstå.
Mer begrepp
Villkorssats = programmet förgrenas enligt olika alternativ beroende på det valda villkoret. En bestämd del av programmet utförs om det givna villkoret uppfylls. Ett exempel: Om det regnar, ta på dig regnkläder.
IoT (Internet of Things) = anslutning av olika föremål till internet. Enheter kan förmedla eller ta emot information till och från varandra via internet. Exempelvis kan en trådlös väderstation förmedla information till en skärm inomhus och via internet till en molntjänst från vilken användaren kan granska informationen.
Iterativ utveckling = ett utvecklingssätt där en produkt utvecklas i faser och varje del publiceras separat. Delarna kan utvecklas efter behov. Ett exempel: Ett brädspel som har planerats i klassen. Spelet publiceras inte som en helt färdig produkt, utan varje del (t.ex. spelbrädet, spelbrickorna, reglerna) presenteras så att andra som kan kommentera dem. Vid behov utvecklas delarna vidare.
Variabel (eng. variable) = datalager i programmering. Till exempel ett mobilspel som frågar efter spelarens namn i början. Efter detta placerar spelet spelarens namn i skärmens övre hörn. För att spara namnet behövs en variabel.
Programmeringsmiljö = ett program eller en plattform med vilket/vilken program kan skapas.
Grafisk programmeringsmiljö = miljön där koden skapas med visuella elementen. Ett exempel: Scratch.
Textbaserad programmeringsmiljö = texteditor, med vilken koden produceras. Ett exempel: Notepad++.
Programmeringsfel (bugg) = ett fel i koden, vilket leder till programmet inte fungerar eller att det fungerar på felaktigt sätt.
Inbyggt system (eng. embedded system) = en anordning eller utrustning avsedd för ett bestämt ändamål och som har en inbyggd dator. Till exempel: TV, tvättmaskin, digital termometer.
Artificiell intelligens = maskinens eller programmets förmåga att imitera mänskliga funktioner. Exempelvis ett program som rekommenderar nya videor enligt din tidigare historik.
Upprepningssats (slinga eller loop) = upprepningsstruktur i programmering. En del av programmet som upprepas flera gånger.
Felkorrigering (debugging) = lokalisering av fel i koden som orsakat att programmet inte fungerar på rätt sätt.
Flödesplan = diagram som presenterar algoritm- eller processfaser med pilar och olika typer av former.
URL (Uniform Resource Locator) = den unika koden (adressen) för en webbplats. Ett exempel: www.uudetlukutaidot.fi