Programmering er et sentralt fag for å utvikle algoritmisk tenkning og forståelse av digital teknologi gjennom praktisk arbeid med å utvikle og skape programmerbare teknologiske løsninger på ulike problem. Den globale utviklingen og behov i samfunnet og næringslivet krever løsningsorienterte prosesser, evne til å se sammenhenger mellom fagområder og evne til å lære å lære.
Alle fag skal bidra til å realisere verdigrunnlaget for opplæringen. Valgfaget programmering skal bidra til at elevene kan utvikle og vise skaperglede, engasjement og utforskertrang i samspill med andre. Faget skal også bidra til at elevene utvikler evne til å løse kjente og ukjente problemer innen teknologi og deres evne til å skape nye eller forbedre eksisterende produkter. Faget legger til rette for at elevene kan utvikle evne til kritisk tenkning og etisk bevissthet innenfor bruk av teknologi gjennom refleksjon rundt egne og andres produkter og prosesser. Refleksjon rundt personvern og delingskultur er også sentralt i faget.
Valgfaget programmering henter elementer fra matematikk, naturfag og kunst og håndverk/duodji.
Algoritmisk tenkning
Kjerneelementet algoritmisk tenkning i programmering handler om å ta utgangspunkt i gitte regler og ut fra disse analysere og planlegge hvordan programmerbar teknologi kan løse problemer eller deler av problemer innenfor forskjellige fagområder.
Koding
Kjerneelementet koding innebærer at elevene skal forstå og bruke grunnleggende prinsipper i programmering. Elevene skal også utvikle et funksjonelt digitalt produkt og forstå hvordan interaksjon med fysiske objekter foregår.
Programvareutvikling
Kjerneelementet programvareutvikling innebærer at elevene skal jobbe praktisk med planlegging, utvikling og videreutvikling av et brukervennlig digitalt produkt gjennom testing, feilsøking og tilpasning.
Kompetansemål og vurdering
Mål for opplæringen er at eleven skal kunne
gjøre rede for hvordan datamaskiner og dataprogram fungerer, og forklare egne og andres koder
bruke flere programmeringsspråk, deriblant minst ett som er tekstbasert
bruke grunnleggende prinsipper i programmering, slik som variabler, løkker, vilkår og funksjoner, og reflektere over bruken av disse
analysere problemer, gjøre dem om til delproblemer og gjøre rede for hvordan noen av delproblemene kan løses med programmering
planlegge og skape et digitalt produkt og vurdere dette med tanke på brukervennlighet
utvikle og feilsøke dataprogram som løser definerte problemer, inkludert kontrollering eller simulering av fysiske objekter
Underveisvurdering
bruker og gjør rede for kode.
jobber praktisk og utforskende med å planlegge, utføre og presentere selvstendig arbeid i utviklingen av digitale produkt.
Standpunktvurdering
Standpunktkarakteren skal være et uttrykk for den samlede kompetansen eleven har i valgfaget programmering ved avslutningen av opplæringen.
Læreren skal sette karakter i valgfaget programmering basert på kompetansen eleven har vist i problemløsning og planlegging, utvikling, koding og feilsøking av digitale produkt.