Ämne - Programmering

Ämne - Programmering

Ämnet programmering behandlar programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik, praktisk datoriserad problemlösning och användaranpassad konfiguration av programvara. Det behandlar också hur man skapar, utvecklar och anpassar programvaror samt tillämpar datalogisk teori.

Ämnets syfte

Undervisningen i ämnet programmering ska syfta till att eleverna utvecklar kunskaper om principerna bakom datorprogram samt färdigheter i programmering i ett eller flera programmeringsspråk. Eleverna ska ges möjlighet att utveckla kunskaper om programmeringens grunder, färdigheter i att genomföra programmeringsprocessens olika delar samt förmåga att analysera, designa, implementera, testa, resultatbedöma och vidareutveckla program. Undervisningen ska bidra till att eleverna utvecklar kunskaper om de mest använda programmeringsspråken och deras tillämpningar och användningsområden samt om traditioner och nya trender i utvecklingen av programmeringsspråk. Dessutom ska undervisningen behandla datorns användning i samhället och ge eleverna möjlighet att utveckla kunskaper om datorns möjligheter och begränsningar.

I undervisningen ska eleverna ges möjlighet att arbeta i projekt och att enskilt eller i grupp utföra programmeringsuppgifter av varierande komplexitet och inom olika tillämpningsområden. Programmeringsuppgifterna ska omfatta såväl egen programmering som lösning på programmeringstekniska problem och programutveckling med en given källkod som grund.

Undervisningen i ämnet programmering ska ge eleverna förutsättningar att utveckla följande:

  1. Kunskaper om datorstyrda industriella system och om industriell datorkommunikation.
  2. Förmåga att formulera och planera programmeringsuppgifter med pseudokod och diagramteknik.
  3. Förståelse av och färdigheter i att använda datalogiska begrepp och algoritmer.
  4. Kunskaper om programmeringsspråk samt förmåga att skriva, läsa, strukturera, analysera, dokumentera och kommentera källkod i ett eller flera programmeringsspråk.
  5. Kunskaper om gränssnitt mot användare, filer, filsystem, operativsystem, databaser och internet.
  6. Kunskaper om objektorienterad programmering i teori och praktik.
  7. Förmåga att finna, diskutera, åtgärda och förhindra syntaxfel, programkörningsfel och programmeringslogiska fel.
  8. Kunskaper om samspelet mellan program, körtidsmiljö, operativsystem och hårdvara.

Kurser i ämnet

  • Programmering 1, 100 poäng.
  • Programmering 2, 100 poäng, som bygger på kursen programmering 1.
  • Industriell programmering, 100 poäng, som bygger på kursen programmering 1.
  • Datalogi, 100 poäng. Kursen får bara anordnas i vidareutbildning i form av ett fjärde tekniskt år i gymnasieskolan.

Kurser

Programmering 1, 100 poäng

Kurskod: PRRPRR01

Kursen programmering 1 omfattar punkterna 2—8 under rubriken Ämnets syfte, med särskild betoning på punkterna 2—4 och 7—8.

Centralt innehåll

Undervisningen i kursen ska behandla följande centrala innehåll:

  • Sekventiell programmering i det eller de valda programmeringsspråken. Språkurvalet kan göras från såväl programspråk och skriptspråk som kompilerande och tolkande språk. Ett av de valda språken ska stödja objektorientering på ett påtagligt sätt.
  • Programmeringsspråkets eller språkens grundläggande datatyper samt fördefinierade strukturer, regler och syntax.
  • Traditioner och trender i utvecklingen av programmeringsspråk.
  • Problemlösning och problemstrukturering.
  • Kontrollstrukturer, till exempel sekvens, selektion och iteration skrivna i ett implementerat programflöde.
  • Grunderna för klasser, objekt, egenskaper och metoder.
  • Variablers och konstanters synlighet och livslängd.
  • Enkla algoritmer, till exempel för sökning eller sortering.
  • Implementeringar av datastrukturer, till exempel array, lista eller trädstruktur.
  • Felsökning av källkod och undantagshantering.
  • De vanligaste programmeringsspråkens krav på körtidsmiljöer och operativsystem samt deras aktuella användningsområden.

Kunskapskrav

Betyget E

Eleven formulerar och planerar i samråd med handledare programmeringsuppgifter med pseudokod eller aktivitetsdiagram. I planeringen väljer eleven med viss säkerhet kontrollstrukturer, metoder, variabler, datastrukturer och algoritmer som är adekvata för uppgiften. Eleven implementerar någon sökningsalgoritm, sorteringsalgoritm eller annan algoritm i samråd med handledare.

I sin programmering skriver eleven, med konsekvent kodningsstil och tydlig namngivning, korrekt, strukturerad och enkelt kommenterad källkod med tillfredsställande resultat. Dessutom väljer eleven med viss säkerhet ett uttryckssätt som är anpassat för att på ett tillfredsställande sätt interagera med den avsedda användaren. Elevens färdiga program eller skript är utförda med tillfredsställande resultat i ett eller flera programmeringsspråk och innehåller sekventiell programmering och grundläggande objektorienterad programmering som är stabil och robust i program av enkel karaktär.

Eleven anpassar med viss säkerhet sin planering av programmeringsuppgiften och utför felsökning av enkla syntaxfel. Innan programmeringsuppgiften avslutas utvärderar eleven med enkla omdömen programmets prestanda och ändamålsenlighet i någon situation och i något sammanhang. Eleven kommunicerar om programmeringsuppgiften och dess utvärdering och använder då med viss säkerhet datalogiska begrepp.

När eleven samråder med handledare bedömer hon eller han med viss säkerhet den egna förmågan och situationens krav.

Betyget D

Betyget D innebär att kunskapskraven för E och till övervägande del för C är uppfyllda.

Betyget C

Eleven formulerar och planerar efter samråd med handledare programmeringsuppgifter med pseudokod eller aktivitetsdiagram. I planeringen väljer eleven med viss säkerhet kontrollstrukturer, metoder, variabler, datastrukturer och algoritmer som är adekvata för uppgiften. Eleven implementerar någon sökningsalgoritm, sorteringsalgoritm eller annan algoritm efter samråd med handledare.

I sin programmering skriver eleven, med konsekvent kodningsstil och tydlig namngivning, korrekt, strukturerad och noggrant kommenterad källkod med tillfredsställande resultat. Dessutom väljer eleven med viss säkerhet ett uttryckssätt som är anpassat för att på ett tillfredsställande sätt interagera med den avsedda användaren. Elevens färdiga program eller skript är utförda med tillfredsställande resultat i ett eller flera programmeringsspråk och innehåller sekventiell programmering och grundläggande objektorienterad programmering som är stabil och robust.

Eleven anpassar med viss säkerhet sin planering av programmeringsuppgiften och utför på ett systematiskt sätt felsökning av syntaxfel, körtidsfel och programmeringslogiska fel. Innan programmeringsuppgiften avslutas utvärderar eleven med nyanserade omdömen programmets prestanda och ändamålsenlighet i några situationer och sammanhang. Eleven kommunicerar om programmeringsuppgiften och dess utvärdering och använder då med viss säkerhet datalogiska begrepp.

När eleven samråder med handledare bedömer hon eller han med viss säkerhet den egna förmågan och situationens krav.

Betyget B

Betyget B innebär att kunskapskraven för C och till övervägande del för A är uppfyllda.

Betyget A

Eleven formulerar och planerar efter samråd med handledare programmeringsuppgifter med pseudokod eller aktivitetsdiagram. I planeringen väljer eleven med säkerhet kontrollstrukturer, metoder, variabler, datastrukturer och algoritmer som är adekvata för uppgiften samt motiverar utförligt sina val. Eleven implementerar några sökningsalgoritmer, sorteringsalgoritmer eller andra algoritmer efter samråd med handledare.

I sin programmering skriver eleven, med konsekvent kodningsstil och tydlig namngivning, en korrekt, strukturerad och noggrant och utförligt kommenterad källkod med gott resultat. Dessutom väljer eleven med säkerhet ett uttryckssätt som är anpassat för att på ett gott sätt interagera med den avsedda användaren. Elevens färdiga program eller skript är utförda med gott resultat i ett eller flera programmeringsspråk och innehåller sekventiell programmering och grundläggande objektorienterad programmering som är stabil och robust i program av komplex karaktär.

Eleven anpassar med säkerhet sin planering av programmeringsuppgiften och utför på ett systematiskt och effektivt sätt felsökning av syntaxfel, körtidsfel och programmeringslogiska fel. Innan programmeringsuppgiften avslutas utvärderar eleven med nyanserade omdömen och med förslag på förbättringar programmets prestanda och ändamålsenlighet i flera situationer och sammanhang. Eleven kommunicerar om programmeringsuppgiften och dess utvärdering och använder då med säkerhet datalogiska begrepp.

När eleven samråder med handledare bedömer hon eller han med säkerhet den egna förmågan och situationens krav.

Programmering 2, 100 poäng

Kurskod: PRRPRR02

Kursen programmering 2 omfattar punkterna 2—8 under rubriken Ämnets syfte, med särskild betoning på punkterna 5 och 6.

Centralt innehåll

Undervisningen i kursen ska behandla följande centrala innehåll:

  • Kodning av program för att läsa, bedöma, lagra, producera, redovisa och utbyta information samt för att kommunicera och utföra tjänster via internet.
  • Traditioner och nya trender i utvecklingen av programmeringsspråk.
  • Analys, nedbrytning och modellering av programmeringstekniska problem med klassdiagram.
  • Skapande av klasser och objekt i avancerad objektorienterad programmering samt klassers konstruktorer och arv.
  • Användning och förändring av objekt som ingår i egna och andras klasser och standardbibliotek.
  • Variablers och metoders synlighet och livslängd.
  • Polymorfism och typsäkerhet.
  • Generiska klasser och metoder.
  • De vanligaste klasserna i ett grafiskt användargränssnitt.
  • Gränssnitt mot internet.
  • Gränssnitt mot profiler och filsystem.
  • Gränssnitt mot databaser.

Kunskapskrav

Betyget E

Eleven formulerar och planerar programmeringsuppgifter med enkla klassdiagram. I planeringen väljer eleven med viss säkerhet standardbibliotek, egna och andras klasser, konstruktorer, objekt och gränssnitt som är adekvata för uppgiften.

I sin programmering skriver eleven, med konsekvent kodningsstil och tydlig namngivning, korrekt, strukturerad och enkelt kommenterad källkod med tillfredsställande resultat. Dessutom väljer eleven med viss säkerhet ett uttryckssätt och ett grafiskt gränssnitt som är anpassat för att på ett tillfredsställande sätt interagera med den avsedda användaren. Elevens färdiga program är utförda med tillfredsställande resultat i ett eller flera programmeringsspråk och innehåller objektorienterad programmering som är stabil och robust i program av enkel karaktär.

Eleven anpassar med viss säkerhet sin planering av programmeringsuppgiften, uppmärksammar problem med typsäkerhet och utför felsökning av enkla syntaxfel. Innan programmeringsuppgiften avslutas utvärderar eleven med enkla omdömen programmets prestanda och ändamålsenlighet i någon situation och i något sammanhang. Eleven kommunicerar om programmeringsuppgiften och dess utvärdering och använder då med viss säkerhet datalogiska begrepp.

Betyget D

Betyget D innebär att kunskapskraven för E och till övervägande del för C är uppfyllda.

Betyget C

Eleven formulerar och planerar programmeringsuppgifter med enkla klassdiagram. I planeringen väljer eleven med viss säkerhet standardbibliotek, egna och andras klasser, konstruktorer, objekt och gränssnitt som är adekvata för uppgiften.

I sin programmering skriver eleven, med konsekvent kodningsstil och tydlig namngivning, korrekt, strukturerad och noggrant kommenterad källkod med tillfredsställande resultat. Dessutom väljer eleven med viss säkerhet ett uttryckssätt och ett grafiskt gränssnitt som är anpassat för att på ett tillfredsställande sätt interagera med den avsedda användaren. Elevens färdiga program är utförda med tillfredsställande resultat i ett eller flera programmeringsspråk och innehåller objektorienterad programmering som är stabil och robust.

Eleven anpassar med viss säkerhet sin planering av programmeringsuppgiften, uppmärksammar problem med typsäkerhet och utför på ett systematiskt sätt felsökning av syntaxfel, körtidsfel och programmeringslogiska fel. Innan programmeringsuppgiften avslutas utvärderar eleven med nyanserade omdömen programmets prestanda och ändamålsenlighet i några situationer och sammanhang. Eleven kommunicerar om programmeringsuppgiften och dess utvärdering och använder då med viss säkerhet datalogiska begrepp.

Betyget B

Betyget B innebär att kunskapskraven för C och till övervägande del för A är uppfyllda.

Betyget A

Eleven formulerar och planerar programmeringsuppgifter med enkla klassdiagram. I planeringen väljer eleven med säkerhet standardbibliotek, egna och andras klasser, konstruktorer, objekt och gränssnitt som är adekvata för uppgiften samt motiverar utförligt sina val.

I sin programmering skriver eleven, med konsekvent kodningsstil och tydlig namngivning, en korrekt, strukturerad och noggrant och utförligt kommenterad källkod med gott resultat. Dessutom väljer eleven med säkerhet ett uttryckssätt och ett grafiskt gränssnitt som är anpassat för att på ett gott sätt interagera med den avsedda användaren. Elevens färdiga program är utförda med gott resultat i ett eller flera programmeringsspråk och innehåller objektorienterad programmering som är stabil och robust i program av komplex karaktär.

Eleven anpassar med säkerhet sin planering av programmeringsuppgiften, anpassar polymorfi, uppmärksammar problem med typsäkerhet och utför på ett systematiskt och effektivt sätt felsökning av syntaxfel, körtidsfel och programmeringslogiska fel. Innan programmeringsuppgiften avslutas utvärderar eleven med nyanserade omdömen och med förslag på förbättringar programmets prestanda och ändamålsenlighet i flera situationer och sammanhang. Eleven kommunicerar om programmeringsuppgiften och dess utvärdering och använder då med säkerhet datalogiska begrepp.

Industriell programmering, 100 poäng

Kurskod: PRRIND0

Kursen industriell programmering omfattar punkterna 1, 3—4 och 7—8 under rubriken Ämnets syfte.

Centralt innehåll

Undervisningen i kursen ska behandla följande centrala innehåll:

  • Datorstyrda industriella produktionssystems uppbyggnad och funktion.
  • Protokoll för industriell datorkommunikation.
  • Grundläggande ekonomiska och kvalitetstekniska villkor för datorstyrda industriella produktionssystem.
  • Tillämpning av boolesk algebra vid utveckling av logiska villkor.
  • Användning av kontrollstrukturer inom industriell programmering.
  • Ett eller flera programmeringsspråk lämpade för programmering av maskiner, industriella styrsystem och industrirobotar.
  • Robotprogrammering i virtuella miljöer.
  • Hantering av programstöd för datorstyrd tillverkning.
  • Programstyrning och kommunikation i datoriserade produktionssystem.
  • Analys, förebyggande och åtgärdande av programmeringsfel.
  • Säkerhet inom datorstyrda industriella produktionssystem utifrån gällande normer.

Kunskapskrav

Betyget E

Eleven redogör översiktligt för hur datorstyrda industriella tillverkningssystem byggs upp och fungerar. Eleven redogör också översiktligt för några protokoll för industriell datorkommunikation. Dessutom redogör eleven översiktligt för hur industriella produktionssystem styrs av ekonomiska villkor och kvalitetstekniska krav.

Eleven formulerar logiska villkor och tillämpar enkla kontrollstrukturer inom industriell programmering. Eleven programmerar med viss säkerhet, med ett eller flera språk, maskiner, industriella styrsystem och industrirobotar. Eleven programmerar också med tillfredsställande resultat robotar i virtuella miljöer och använder med viss säkerhet programstöd för datorstyrd tillverkning. Dessutom planerar och programmerar eleven i samråd med handledare programstyrning och kommunikation i datoriserade produktionssystem samt gör en enkel dokumentation och värderar sitt resultat med enkla omdömen.

I arbetet felsöker och åtgärdar eleven med viss säkerhet enkla programmeringsfel. Eleven arbetar säkert utifrån gällande normer för industriella produktionssystem.

När eleven samråder med handledare bedömer hon eller han med viss säkerhet den egna förmågan och situationens krav.

Betyget D

Betyget D innebär att kunskapskraven för E och till övervägande del för C är uppfyllda.

Betyget C

Eleven redogör utförligt för hur datorstyrda industriella tillverkningssystem byggs upp och fungerar. Eleven redogör också utförligt för några protokoll för industriell datorkommunikation. Dessutom redogör eleven utförligt för hur industriella produktionssystem styrs av ekonomiska villkor och kvalitetstekniska krav.

Eleven formulerar logiska villkor och tillämpar kontrollstrukturer inom industriell programmering. Eleven programmerar med viss säkerhet, med ett eller flera språk, maskiner, industriella styrsystem och industrirobotar. Eleven programmerar också med tillfredsställande resultat robotar i virtuella miljöer och använder med viss säkerhet programstöd för datorstyrd tillverkning. Dessutom planerar och programmerar eleven efter samråd med handledare programstyrning och kommunikation i datoriserade produktionssystem samt gör en noggrann dokumentation och värderar sitt resultat med nyanserade omdömen.

I arbetet felsöker och åtgärdar eleven med viss säkerhet programmeringsfel. Eleven arbetar säkert utifrån gällande normer för industriella produktionssystem.

När eleven samråder med handledare bedömer hon eller han med viss säkerhet den egna förmågan och situationens krav.

Betyget B

Betyget B innebär att kunskapskraven för C och till övervägande del för A är uppfyllda.

Betyget A

Eleven redogör utförligt och nyanserat för hur datorstyrda industriella tillverkningssystem byggs upp och fungerar. Eleven redogör också utförligt för några protokoll för industriell datorkommunikation. Dessutom redogör eleven utförligt för hur industriella produktionssystem styrs av ekonomiska villkor och kvalitetstekniska krav.

Eleven formulerar logiska villkor och tillämpar komplexa kontrollstrukturer inom industriell programmering. Eleven programmerar med säkerhet, med ett eller flera språk, maskiner, industriella styrsystem och industrirobotar. Eleven programmerar också med gott resultat robotar i virtuella miljöer och använder med säkerhet programstöd för datorstyrd tillverkning. Dessutom planerar och programmerar eleven efter samråd med handledare programstyrning och kommunikation i datoriserade produktionssystem samt gör en noggrann och utförlig dokumentation och värderar sitt resultat med nyanserade omdömen. Eleven ger förslag på hur arbetet kan förbättras.

I arbetet felsöker och åtgärdar eleven med säkerhet komplexa programmeringsfel. Eleven arbetar säkert utifrån gällande normer för industriella produktionssystem.

När eleven samråder med handledare bedömer hon eller han med säkerhet den egna förmågan och situationens krav.

Datalogi, 100 poäng

Kurskod: PRRDAT0

Kursen datalogi omfattar punkterna 2—8 under rubriken Ämnets syfte, med särskild betoning på punkterna 3, 4, 6 och 8.

Centralt innehåll

Undervisningen i kursen ska behandla följande centrala innehåll:

  • Olika programmeringsspråks historik och inbördes släktskap.
  • Olika programmeringsparadigms historik och användningsområden.
  • De vanligaste programmeringsspråkens aktuella användningsområden.
  • Traditioner och nya trender i utvecklingen av programmeringsspråk.
  • Kompilerade och interpreterade språk.
  • Statisk och dynamisk typning.
  • Datastrukturer. Val och implementering av strukturer.
  • Algoritmer, användningsområden samt komplexitet.
  • Rekursion och svansrekursion.
  • Designmönster och mjukvaruarkitektur.
  • Abstrakta modeller, till exempel tillståndsmaskin.

Kunskapskrav

Betyget E

Eleven redogör översiktligt för olika programmeringsparadigms historik och användningsområden.

Eleven planerar i samråd med handledare programmeringsuppgifter, och väljer med viss säkerhet lämpliga programmeringsspråk. I planeringen väljer eleven med viss säkerhet datastrukturer och algoritmer som är adekvata för uppgiften. Eleven implementerar någon datastruktur och i samråd med handledare också någon standardalgoritm, samt löser någon uppgift genom att utnyttja rekursion. Eleven gör en enkel analys av en eller flera algoritmers komplexitet. Eleven strukturerar sitt arbete i samråd med handledare enligt en fungerande modell. Elevens färdiga program eller skript är utförda med tillfredsställande resultat i flera programmeringsspråk från olika programmeringsparadigm i program av enkel karaktär.

Eleven anpassar med viss säkerhet sin planering av programmeringsuppgiften och utför felsökning av enkla logiska fel och syntaxfel. Innan programmeringsuppgiften avslutas utvärderar eleven med enkla omdömen programmets prestanda och ändamålsenlighet i någon situation och i något sammanhang. Eleven kommunicerar om programmeringsuppgiften och dess utvärdering och använder då med viss säkerhet datalogiska begrepp.

När eleven samråder med handledare bedömer hon eller han med viss säkerhet den egna förmågan och situationens krav.

Betyget D

Betyget D innebär att kunskapskraven för E och till övervägande del för C är uppfyllda.

Betyget C

Eleven redogör utförligt för olika programmeringsparadigms historik och användningsområden.

Eleven planerar efter samråd med handledare programmeringsuppgifter, och väljer med viss säkerhet lämpliga programmeringsspråk. I planeringen väljer eleven efter samråd med handledare datastrukturer och algoritmer som är adekvata för uppgiften. Eleven implementerar någon datastruktur och efter samråd med handledare också någon standardalgoritm, samt löser någon uppgift genom att utnyttja rekursion. Eleven gör en analys av en eller flera algoritmers komplexitet. Eleven strukturerar sitt arbete med viss säkerhet enligt en fungerande modell. Elevens färdiga program eller skript är utförda med tillfredsställande resultat i flera programmeringsspråk från olika programmeringsparadigm.

Eleven anpassar med viss säkerhet sin planering av programmeringsuppgifter och utför på ett systematiskt sätt felsökning av logiska fel och syntaxfel. Innan programmeringsuppgiften avslutas utvärderar eleven med nyanserade omdömen programmets prestanda och ändamålsenlighet i några situationer och sammanhang. Eleven kommunicerar om programmeringsuppgiften och dess utvärdering och använder då med viss säkerhet datalogiska begrepp.

När eleven samråder med handledare bedömer hon eller han med viss säkerhet den egna förmågan och situationens krav.

Betyget B

Betyget B innebär att kunskapskraven för C och till övervägande del för A är uppfyllda.

Betyget A

Eleven redogör utförligt och nyanserat för olika programmeringsparadigms historik och användningsområden.

Eleven planerar efter samråd med handledare programmeringsuppgifter, och väljer med säkerhet lämpliga programmeringsspråk. I planeringen väljer eleven efter samråd med handledare datastrukturer och algoritmer som är adekvata för uppgiften. Eleven implementerar några datastrukturer och efter samråd med handledare också några standardalgoritmer, samt löser några uppgifter genom att utnyttja rekursion. Eleven gör en avancerad analys av en eller flera algoritmers komplexitet. Eleven strukturerar sitt arbete med säkerhet enligt en fungerande modell. Elevens färdiga program eller skript är utförda med goda resultat i flera programmeringsspråk från olika programmeringsparadigm i program av komplex karaktär.

Eleven anpassar med säkerhet sin planering av programmeringsuppgifter och utför på ett systematiskt och effektivt sätt felsökning av logiska fel och syntaxfel. Innan programmeringsuppgifter avslutas utvärderar eleven med nyanserade omdömen och med förslag på förbättringar programmens prestanda och ändamålsenlighet i flera situationer och sammanhang. Eleven kommunicerar om programmeringsuppgiften och dess utvärdering och använder då med säkerhet datalogiska begrepp.

När eleven samråder med handledare bedömer hon eller han med säkerhet den egna förmågan och situationens krav.