Holdet S3x Pro (2025/26) - Undervisningsbeskrivelse

Undervisningsbeskrivelse

Stamoplysninger til brug ved prøver til gymnasiale uddannelser
Termin(er) 2024/25 - 2025/26
Institution ZBC
Fag og niveau Programmering B
Lærer(e)
Hold S2023x Pro (S2x Pro, S3x Pro)

Oversigt over gennemførte undervisningsforløb
Titel 1 Introduktion
Titel 2 Projekt 1 - Algoritmisk kunst
Titel 3 Datastrukturer (sammensatte datatyper)
Titel 4 Astro Pi
Titel 5 Projekt 2 - PyGame
Titel 6 Studieretningscase med Matematik (SRC)
Titel 7 Intro til Rust & repetition
Titel 8 Projekt Skak
Titel 9 Hukommelse
Titel 10 Projekt Droner
Titel 11 Generalisering og polymorfi
Titel 12 Projekt Bot
Titel 13 Eksamensprojekt

Beskrivelse af de enkelte undervisningsforløb (1 skema for hvert forløb)
Titel 1 Introduktion

Introduktion til programmering i Python.

Fokus på:

- Funktioner
- Forgreninger
- Løkker

Faglige mål:
- læse enkle programmer og redegøre for deres funktionsmåde og anvendelsesmuligheder
- rette og tilpasse enkle programmer
- anvende eksisterende programdele og biblioteksmoduler i arbejdet med at programmere et fungerende system

Kernestof:
- programmeringssprog og elementer i programmeringssprogets opbygning såsom data- og kontrolstrukturer
- programdele og biblioteksmoduler

Omfang:
10% - Systime, Programmering & Green Tea Press, Think Python 2e
Indhold
Kernestof:
Omfang Estimeret: 13,00 moduler
Dækker over: 15 moduler
Særlige fokuspunkter
  • Faglige
  • Lytte
  • Læse
  • Søge information
  • Skrive
  • Almene (tværfaglige)
  • Overskue og strukturere
  • Personlige
  • Selvstændighed
  • IT
Væsentligste arbejdsformer
  • Individuelt arbejde
  • Lærerstyret undervisning

Titel 2 Projekt 1 - Algoritmisk kunst

Projekt om algoritmisk kunst

Overordnet mål: Fremstille forskellige kunstværker med brug af forskellige metoder (såsom løkker, rekursion, animation)

Under projektet introduceres nye begreber løbende.

Individuelt arbejde eller små grupper: 1-3 personer.
Projektet afsluttes med mundtlig præsentation.

Faglige mål
̶ anvende eksisterende programdele og biblioteksmoduler i arbejdet med at programmere et fungerende system
̶ demonstrere systematik i programmeringsprocessen
̶ løse en enkel problemstilling gennem udviklingen af et program bl.a. i samspil med andre fag
̶ anvende grundlæggende konstruktioner i et programmeringssprog

Kernestof
̶ programmeringssprog og elementer i programmeringssprogets opbygning såsom data- og kontrolstrukturer
̶ programdele og biblioteksmoduler
̶ arbejdsgange og systematik i programmeringsprocessen

Omfang:
10% - Systime, Programmering & Green Tea Press, Think Python 2e
Indhold
Kernestof:
Omfang Estimeret: 15,00 moduler
Dækker over: 19 moduler
Særlige fokuspunkter
  • Faglige
  • Lytte
  • Læse
  • Søge information
  • Projektarbejde
  • Formidling
  • Almene (tværfaglige)
  • Overskue og strukturere
  • Personlige
  • Selvstændighed
  • Kreativitet
  • Sociale
  • Samarbejdsevne
  • IT
Væsentligste arbejdsformer
  • Projektarbejde

Titel 3 Datastrukturer (sammensatte datatyper)

Forløb med sammensatte datatyper i Python: List, Dictionary, Tuple.

Kernestof:
programmeringssprog og elementer i programmers opbygning, herunder variabler, typer, udtryk, kontrolstrukturer, parametrisering/abstraktionsmekanismer, rekursion, polymorfi og algoritmemønstre

Omfang:
5% - Systime, Programmering & Green Tea Press, Think Python 2e
Indhold
Kernestof:
Omfang Estimeret: 6,00 moduler
Dækker over: 7 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer

Titel 4 Astro Pi

Deltagelse i ESA astro pi hvor der skal programmeres en Raspberry Pi til at måle størrelser vha. SenseHat modul, behandle denne data og gemme resultater i en datafil.

Faglige mål:
- bruge programmering til at undersøge et emne eller problemområde
- behandle problemstillinger i samspil med andre fag

Kernestof:
- programmeringssprog og elementer i programmers opbygning, herunder variabler, typer, udtryk, kontrolstrukturer, parametrisering/abstraktionsmekanismer, rekursion, polymorfi og algoritmemønstre
- arkitekturen for programmers interaktion med omgivelserne med henblik på hændelsesstyret interaktion og interaktion mellem systemer
- generiske programdele og biblioteksmoduler

Omfang:
10% - Systime, Programmering & Green Tea Press, Think Python 2e
Indhold
Kernestof:
Omfang Estimeret: 14,00 moduler
Dækker over: 13 moduler
Særlige fokuspunkter
  • Faglige
  • Søge information
  • IT - filhåndtering (input/output) og måling med sensorer
Væsentligste arbejdsformer
  • Gruppearbejde
  • Projektarbejde

Titel 5 Projekt 2 - PyGame

I dette projekt programmeres et simpelt spil vha. PyGame. Man kan arbejde ud fra et af flere projektforslag eller lave sit eget forslag. Der udleveres simple eksempler der kan bruges som skabelon og/eller til inspiration.

Programmet skal opbygges vha. trinvis forbedring og der skal skrives kommentarer til koden. Sørg for at holde koden overskuelig og logisk struktureret. Der vil løbende blive introduceret nye begreber under projektforløbet som så vidt muligt skal inddrages i projektet. Fokuspunkter: Sammensatte datatyper, anvendelse af klasser fra pygame og hændelsesbaseret programmering.

Under projektet trænes dokumentation af sin programmering og udformning af synopsis.

Gruppearbejde: 2-3 personer.
Projektet danner basis for mundtlig årsprøve.
Synopsis er på 5-8 sider.
Arbejdsprocessen skal dokumenteres i logbog.

Faglige mål:
̶ læse enkle programmer og redegøre for deres funktionsmåde og anvendelsesmuligheder
̶  anvende eksisterende programdele og biblioteksmoduler i arbejdet med at programmere et fungerende system
̶ anvende grundlæggende konstruktioner i et programmeringssprog
̶ demonstrere viden om fagets identitet og metoder.

Kernestof:
̶ programmeringssprog og elementer i programmeringssprogets opbygning såsom data- og kontrolstrukturer
̶ programdele og biblioteksmoduler
̶ arbejdsgange og systematik i programmeringsprocessen
̶ abstrakte programmeringsbeskrivelser og dokumentation.

Omfang:
10% - Systime, Programmering & Green Tea Press, Think Python 2e
Indhold
Kernestof:

Skriftligt arbejde:
Titel Afleveringsdato
Synopsis til programmeringsprojekt 13-04-2025
Omfang Estimeret: 25,00 moduler
Dækker over: 24 moduler
Særlige fokuspunkter
  • Faglige
  • Søge information - API dokumentation (pygame)
  • Skrive - Formidling vha. Synopsis
  • IT - Sammensatte datatyper (List, dictionary, Tuple, Set)
Væsentligste arbejdsformer
  • Gruppearbejde
  • Projektarbejde

Titel 6 Studieretningscase med Matematik (SRC)

I programmeringsdelen af SRC fokuseres der på klasser i Python og hvordan disse kan bruges til at lave funktionsobjekter.

Faglige mål:
- bruge programmering til at undersøge et emne eller problemområde, med henblik på – via programmets funktion - at skabe ny indsigt eller til at løse et problem
- behandle problemstillinger i samspil med andre fag
- redegøre for simple specifikationsmodeller og realisere disse i simple velstrukturerede programmer samt teste disse
- demonstrere viden om fagets identitet og metoder

Kernestof:
- programmeringssprog og elementer i programmers opbygning, herunder variabler, typer, udtryk, kontrolstrukturer, parametrisering/abstraktionsmekanismer, rekursion
- arbejdsgange og systematik i programmeringsprocessen, herunder test og fejlfinding
- abstrakte programmeringsbeskrivelser og dokumentation.

Omfang:
10% - Systime, Programmering & Green Tea Press, Think Python 2e
Indhold
Omfang Estimeret: 15,00 moduler
Dækker over: 0 moduler
Særlige fokuspunkter
  • Faglige - Funktionsobjekter
  • Læse
  • Søge information
  • Skrive
  • Projektarbejde
  • Formidling
  • Selvrefleksion
  • Almene (tværfaglige)
  • Overskue og strukturere
  • Personlige
  • Selvstændighed
  • Ansvarlighed
  • IT
Væsentligste arbejdsformer
  • Projektarbejde

Titel 7 Intro til Rust & repetition

Syntaks, kommentarer, variabler, funktioner, sammensatte datatyper, løkker og forgreninger.

Kernestof:
- programmeringssprog og elementer i programmers opbygning, herunder variabler, typer, udtryk, kontrolstrukturer, parametrisering/abstraktionsmekanismer, rekursion, polymorfi og algoritmemønstre

Omfang:
5% - Systime, Programmering, "The Rust Programming Language" & egne noter
Indhold
Kernestof:
Omfang Estimeret: 6,00 moduler
Dækker over: 9 moduler
Særlige fokuspunkter
  • Faglige
  • Lytte
  • Læse
  • Skrive
  • IT
Væsentligste arbejdsformer
  • Individuelt arbejde
  • Lærerstyret undervisning

Titel 8 Projekt Skak

Fremstilling af skakprogram med generering af træk. Herunder teori om kontrolstrukturer, grådige algoritmer, minimax, fejlfinding, fejlhåndtering, abstraktion, indkapsling, klassediagram med relationer og programmeringsparadigmer.

Faglige mål:
- anvende avancerede konstruktioner i et programmeringssprog
- redegøre for arkitekturen af programmer på forskellige abstraktionsniveauer, herunder relationen mellem brug og funktion
- rette, tilpasse og udvide avancerede programmer
- arbejde inkrementelt og systematisk i programmeringsprocessen

Kernestof:
- arkitekturen for programmers interaktion med omgivelserne med henblik på hændelsesstyret interaktion og interaktion mellem systemer
- generiske programdele og biblioteksmoduler
- arbejdsgange og systematik i programmeringsprocessen, herunder test og fejlfinding

Omfang:
10% - Systime, Programmering, "The Rust Programming Language" & egne noter
Indhold
Kernestof:

Skriftligt arbejde:
Titel Afleveringsdato
Kopi af logbog d. 9/9 09-09-2025
Projekt Skak 12-10-2025
Omfang Estimeret: 20,00 moduler
Dækker over: 14 moduler
Særlige fokuspunkter
  • Faglige
  • IT
Væsentligste arbejdsformer
  • Projektarbejde

Titel 9 Hukommelse

Allokering af hukommelse, referencer og pointers.

Faglige mål:
- anvende avancerede konstruktioner i et programmeringssprog

Kernestof:
- programmeringssprog og elementer i programmers opbygning, herunder variabler, typer, udtryk, kontrolstrukturer, parametrisering/abstraktionsmekanismer, rekursion, polymorfi og algoritmemønstre

Omfang:
5% - Rust bog & egne noter
Indhold
Kernestof:
Omfang Estimeret: 4,00 moduler
Dækker over: 3 moduler
Særlige fokuspunkter
  • Faglige
  • IT
Væsentligste arbejdsformer
  • Individuelt arbejde
  • Lærerstyret undervisning

Titel 10 Projekt Droner

Projektforløb hvor der udvikles et computerprogram at sende kommandoer til en lille indendørs drone og modtage svar, telemetri data samt videosignal.

Behandlede begreber:
- Netværkskommunikation (UDP)
- Anonyme funktioner
- Tråde (samtidig programmering)
- Kommunikation mellem programmer (grænseflader)
- Biblioteksmoduler

Faglige mål:
- demonstrere viden om fagets identitet og metoder
- arbejde inkrementelt og systematisk i programmeringsprocessen
- anvende avancerede konstruktioner i et programmeringssprog

Kernestof:
- arkitekturen for programmers interaktion med omgivelserne med henblik på hændelsesstyret interaktion og interaktion mellem systemer
- generiske programdele og biblioteksmoduler
- arbejdsgange og systematik i programmeringsprocessen, herunder test og fejlfinding

Omfang:
10% - Systime, Programmering & egne noter
Indhold
Kernestof:

Skriftligt arbejde:
Titel Afleveringsdato
Projekt Drone 07-12-2025
Omfang Estimeret: 20,00 moduler
Dækker over: 13 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer

Titel 11 Generalisering og polymorfi

Generalisering bl.a. vha. parametrisering. Polymorfi under kompilering (static dispatch) ved overlæsning og generisk funktion. Polymorfi under kørsel (dynamic dispatch) vha. referencer.

Faglige mål:
- bruge programmering til at undersøge et emne eller problemområde, med henblik på – via programmets funktion - at skabe ny indsigt eller til at løse et problem
- redegøre for simple specifikationsmodeller og realisere disse i simple velstrukturerede programmer samt teste disse

Kernestof:
- programmeringssprog og elementer i programmers opbygning, herunder variabler, typer, udtryk, kontrolstrukturer, parametrisering/abstraktionsmekanismer, rekursion, polymorfi og algoritmemønstre

Omfang:
10% - Systime, Programmering & egne noter
Indhold
Kernestof:
Omfang Estimeret: 4,00 moduler
Dækker over: 3 moduler
Særlige fokuspunkter
  • Faglige
  • Lytte
  • Læse
  • Søge information
  • Selvrefleksion
  • Almene (tværfaglige)
  • Analytiske evner
  • Overskue og strukturere
  • IT
Væsentligste arbejdsformer
  • Individuelt arbejde
  • Lærerstyret undervisning

Titel 12 Projekt Bot

Selvstændigt projektarbejde som optakt til eksamensprojekt. Der udvikles et program der kan automatisere selvvalgte opgaver. Der skal anvendes polymorfi.

Faglige mål:
- bruge programmering til at løse et problem
- anvende avancerede konstruktioner i et programmeringssprog
- redegøre for arkitekturen af programmer på forskellige abstraktionsniveauer
- redegøre for simple specifikationsmodeller og realisere disse i simple velstrukturerede programmer
samt teste disse
- rette, tilpasse og udvide avancerede programmer
- demonstrere viden om fagets identitet og metoder
- arbejde inkrementelt og systematisk i programmeringsprocessen.

Kernestof:
- programmeringssprog og elementer i programmers opbygning, herunder variabler, typer, udtryk,
kontrolstrukturer, parametrisering / abstraktionsmekanismer, rekursion, polymorfi og algoritmemønstre
- generiske programdele og biblioteksmoduler
- arbejdsgange og systematik i programmeringsprocessen, herunder test og fejlfinding
- abstrakte programmeringsbeskrivelser og dokumentation.

Omfang:
5% - Systime, Programmering & egne noter
Indhold
Kernestof:

Skriftligt arbejde:
Titel Afleveringsdato
Projekt bot 08-03-2026
Omfang Estimeret: 20,00 moduler
Dækker over: 20 moduler
Særlige fokuspunkter
  • Faglige
  • Søge information
  • Skrive
  • Formidling
  • IT - Valgfrit sprog
Væsentligste arbejdsformer
  • Projektarbejde

Titel 13 Eksamensprojekt

Mål: Udarbejde et program og tilhørende dokumentation i form af synopsis.

Man vælger selv tema og programmeringssprog. Man kan evt. lade sig inspirere af egne tidligere projekter eller nedenstående liste af tidligere gennemførte eksamensprojekter.

Projektbeskrivelsen skal indeholde valg af programmeringssprog, en kort indledning, problemformulering og oversigt over hvert gruppemedlems forventede ansvar i projektet. (Dette må gerne genbruges i synopsis.)
Indhold
Kernestof:

Skriftligt arbejde:
Titel Afleveringsdato
Projektbeskrivelse 15-03-2026
Eksamensprojekt 08-05-2026
Omfang Estimeret: 20,00 moduler
Dækker over: 21 moduler
Særlige fokuspunkter
  • Faglige
  • IT
Væsentligste arbejdsformer
  • Projektarbejde