Undervisningsbeskrivelse
Stamoplysninger til brug ved prøver til gymnasiale uddannelser
Termin(er)
|
2023/24 - 2024/25
|
Institution
|
ZBC
|
Fag og niveau
|
Programmering B
|
Lærer(e)
|
|
Hold
|
S2022z Pro (S2z Pro, S3z Pro)
|
Oversigt over gennemførte undervisningsforløb
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:
Supplerende stof:
|
Omfang
|
Estimeret:
13,00 moduler
Dækker over:
13 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 min. 3 forskellige kunstværker med brug af min. 2 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:
17 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
|
|
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:
6 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
|
Supplerende stof:
|
Omfang
|
Estimeret:
14,00 moduler
Dækker over:
10 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
|
Algoritmemønstre
Deltagelse i Dansk DatalogiDyst - del 2 og "Tom's data onion" (som indebærer diverse indkodning/afkodning, binære operationer og kryptologi).
Kernestof:
- Algoritmemønstre.
|
Indhold
|
Supplerende stof:
|
Omfang
|
Estimeret:
10,00 moduler
Dækker over:
11 moduler
|
Særlige fokuspunkter
|
- Faglige
- Almene (tværfaglige)
- Analytiske evner
- IT
|
Væsentligste arbejdsformer
|
-
Gruppearbejde
-
Individuelt arbejde
|
Titel
6
|
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 forfinelse 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.
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 spilprojekt
|
28-04-2024
|
|
Omfang
|
Estimeret:
30,00 moduler
Dækker over:
31 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
7
|
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
|
Kernestof:
|
Omfang
|
Estimeret:
15,00 moduler
Dækker over:
4 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
|
|
Titel
8
|
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:
10% - Systime, Programmering, "The Rust Programming Language" & egne noter
|
Indhold
|
Kernestof:
|
Omfang
|
Estimeret:
6,00 moduler
Dækker over:
6 moduler
|
Særlige fokuspunkter
|
|
Væsentligste arbejdsformer
|
-
Individuelt arbejde
-
Lærerstyret undervisning
|
Titel
9
|
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 |
Skakprojekt
|
27-10-2024
|
|
Omfang
|
Estimeret:
20,00 moduler
Dækker over:
14 moduler
|
Særlige fokuspunkter
|
|
Væsentligste arbejdsformer
|
|
Titel
10
|
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:
10% - Rust bog & egne noter
|
Indhold
|
Kernestof:
|
Omfang
|
Estimeret:
4,00 moduler
Dækker over:
3 moduler
|
Særlige fokuspunkter
|
|
Væsentligste arbejdsformer
|
-
Individuelt arbejde
-
Lærerstyret undervisning
|
Titel
11
|
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 |
Drone projekt
|
10-12-2024
|
|
Omfang
|
Estimeret:
20,00 moduler
Dækker over:
13 moduler
|
Særlige fokuspunkter
|
|
Væsentligste arbejdsformer
|
|
Titel
12
|
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:
6 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
13
|
Projekt Planlægning
Selvstændigt projektarbejde som optakt til eksamensprojekt. Der udvikles et program der kan anvendes til planlægning. 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.
|
Indhold
|
Kernestof:
Skriftligt arbejde:
Titel |
Afleveringsdato |
Projekt planlægning
|
09-03-2025
|
|
Omfang
|
Estimeret:
20,00 moduler
Dækker over:
14 moduler
|
Særlige fokuspunkter
|
- Faglige
- Søge information
- Skrive
- Formidling
- IT - Valgfrit sprog
|
Væsentligste arbejdsformer
|
|
Titel
14
|
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
|
Skriftligt arbejde:
Titel |
Afleveringsdato |
Eksamensprojekt: Projektbeskrivelse
|
16-03-2025
|
Eksamensprojekt programmering
|
07-05-2025
|
|
Omfang
|
Estimeret:
20,00 moduler
Dækker over:
20 moduler
|
Særlige fokuspunkter
|
|
Væsentligste arbejdsformer
|
|
{
"S": "/lectio/165/stamdata/stamdata_edit_student.aspx?id=666\u0026prevurl=studieplan%2fuvb_hold_off.aspx%3fholdid%3d60728319938",
"T": "/lectio/165/stamdata/stamdata_edit_teacher.aspx?teacherid=666\u0026prevurl=studieplan%2fuvb_hold_off.aspx%3fholdid%3d60728319938",
"H": "/lectio/165/stamdata/stamdata_edit_hold.aspx?id=666\u0026prevurl=studieplan%2fuvb_hold_off.aspx%3fholdid%3d60728319938"
}