Ämnet programmering, datastrukturer och algoritmer behandlar hur mjukvaror skapas, anpassas och utvecklas samt programmeringens roll i informationstekniska sammanhang som datorsimulering och praktisk datoriserad problemlösning. Ämnet behandlar även hur algoritmer påverkar maskiner, utrustning och beslutsfattande. Ämnet får bara anordnas i vidareutbildning i form av ett fjärde tekniskt år i gymnasieskolan.

Kategorier

Vissa ämne

Undervisningen i ämnet programmering, datastrukturer och algoritmer ska syfta till att eleverna utvecklar specialiserade kunskaper om och färdigheter i programmering. Eleverna ska ges möjlighet att utveckla förmåga att anpassa programmering efter avsedd användare av det färdiga programmet. Genom undervisningen ska eleverna ges möjlighet att utveckla förmåga att tillämpa, skapa och välja designmönster, algoritmer och datastrukturer med hänsyn till såväl önskad funktionalitet som prestanda och säkerhet. Undervisningen ska även ge eleverna möjlighet att utveckla förmåga att skapa feltoleranta program och att lösa programmeringstekniska problem.

Undervisningen ska bidra till att eleverna utvecklar kunskaper om vanligt förekommande programspråk och programmeringsparadigm. Eleverna ska även ges möjlighet att utveckla förmåga att använda datakällor för datautbyte.

I undervisningen ska eleverna ges möjlighet att arbeta i verklighetsnära projekt. Eleverna ska enskilt eller i grupp ges möjlighet att utföra programmeringsuppgifter av varierande komplexitet och inom olika tillämpningsområden. Undervisningen ska lämna utrymme för diskussion om och reflektion över säkerhetsmässiga och etiska frågor samt olika handlingsalternativ inom programmering.

Undervisningen i ämnet programmering, datastrukturer och algoritmer ska ge eleverna förutsättningar att utveckla följande:
  • Kunskaper om programmeringsparadigm och programspråk.
  • Förmåga att välja och använda designmönster, algoritmer och datastrukturer.
  • Förmåga att skapa program med ett givet syfte och för en avsedd användare eller uppdragsgivare.
  • Förmåga att använda datakällor för datautbyte samt identifiera, åtgärda och förhindra fel vid programmering och exekvering.

Betygskriterier

Betyget E

Eleven för övergripande resonemang om egenskaper hos olika programmeringsparadigm och programspråk samt om deras för- och nackdelar.

Eleven väljer och använder med säkerhet designmönster, algoritmer och datastrukturer.

Eleven skapar fungerande program med ett givet syfte och för en avsedd användare eller uppdragsgivare.

Eleven använder med säkerhet datakällor för datautbyte samt identifierar, åtgärdar och förhindrar fel vid programmering och exekvering på ett fungerande sätt.

Betyget D

Elevens kunskaper bedöms sammantaget vara mellan C och E.

Betyget C

Eleven för utvecklade resonemang om egenskaper hos olika programmeringsparadigm och programspråk samt om deras för- och nackdelar.

Eleven väljer och använder med god säkerhet designmönster, algoritmer och datastrukturer.

Eleven skapar ändamålsenliga program med ett givet syfte och för en avsedd användare eller uppdragsgivare.

Eleven använder med god säkerhet datakällor för datautbyte samt identifierar, åtgärdar och förhindrar fel vid programmering och exekvering på ett väl fungerande sätt.

Betyget B

Elevens kunskaper bedöms sammantaget vara mellan A och C.

Betyget A

Eleven för välutvecklade och nyanserade resonemang om egenskaper hos olika programmeringsparadigm och programspråk samt om deras för- och nackdelar.

Eleven väljer och använder med mycket god säkerhet designmönster, algoritmer och datastrukturer.

Eleven skapar ändamålsenliga och effektiva program med ett givet syfte och för en avsedd användare eller uppdragsgivare.

Eleven använder med mycket god säkerhet datakällor för datautbyte samt identifierar, åtgärdar och förhindrar fel vid programmering och exekvering på ett mycket väl fungerande sätt.