Undervisningsbeskrivelse
Stamoplysninger til brug ved prøver til gymnasiale uddannelser
|
Termin(er)
|
2024/25 - 2025/26
|
|
Institution
|
TEC
|
|
Fag og niveau
|
Programmering B
|
|
Lærer(e)
|
Kenneth Hebel
|
|
Hold
|
2024 Fd Pro (F2d Pro, F3d Pro)
|
Oversigt over gennemførte undervisningsforløb
Beskrivelse af de enkelte undervisningsforløb (1 skema for hvert forløb)
|
Titel
1
|
1: Udtryk, variable og funktionskald
Forløbets formål er at eleverne skal forstå det mest basale programmering. Det gør de ved at skrive Python kode i terminalen. Eleverne lærer også at der forskel på terminalen og Pythons REPL.
De første øvelser handler om udtryk, variable og funktionskald. Eleverne får altså kendskab til at Python har indbyggede funktioner og skal lære at benytte disse i simple matematiske udregninger.
|
|
Indhold
|
Kernestof:
|
|
Omfang
|
Estimeret:
6,00 moduler
Dækker over:
10 moduler
|
|
Særlige fokuspunkter
|
|
|
Væsentligste arbejdsformer
|
|
|
Titel
2
|
2: Funktioner
Eleverne får i dette forløb udvidet deres forståelse for det basale i programmering. Det gør de ved at bruge og modificere et program der kan outputte .SVG filer.
Eleverne bliver først øvet i at skrive deres egne funktioner i Python, og derefter får de udleveret et program der kan danne en simpel .SVG fil med rektangler. Projektarbejdet går ud på at videreudvikle programmet så det kan danne forskellige former (cirkler og polygoner), samt at farvelægge formerne.
Fagligt indhold
- Funktionsdefinitioner (def, returnværdier, argumenter)
- Funktionskald (argumenter)
- Dokumentation af kode (docstrings)
- String manipulation (concatenation, typecasting)
Faglige mål
- realisere simple krav i simple velstrukturerede programmer
- bruge programmering til at undersøge et emne
- arbejde inkrementelt og systematisk i programmeringsprocessen.
Kernestof
- programmeringssprog og elementer i programmers opbygning, herunder variabler, typer, udtryk, parametrisering/abstraktionsmekanismer.
- arbejdsgange og systematik i programmeringsprocessen, herunder test og fejlfinding
- dokumentation
|
|
Indhold
|
Kernestof:
|
|
Omfang
|
Estimeret:
12,00 moduler
Dækker over:
4 moduler
|
|
Særlige fokuspunkter
|
|
|
Væsentligste arbejdsformer
|
|
|
Titel
3
|
3: Kontrolflow
Eleverne får i dette forløb udvidet deres forståelse for det basale i programmering. Det gør de ved at videreudvikle på et tekstbaseret spil der foregår i konsollen.
Igennem dette forløb bliver eleverne trænet i forgreninger og løkker. Først igennem en række øvelser i if/else-logik og while-loops. Derefter igennem programmering af et tekstadventure. Eleverne bliver desuden introduceret til teksteditoren Visual Studio Code og hvordan at man kan køre kode vha. dette software.
Fagligt indhold
- Forgreninger (boolske værdier, boolsk logik, boolske operatorer)
- Løkker (while-loops)
- Brugerinput (kommandoer)
- Dokumentation af kode (Flowdiagram)
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
- anvende avancerede konstruktioner i et programmeringssprog
- redegøre for arkitekturen af programmer på forskellige abstraktionsniveauer, herunder relationen mellem brug og funktion
- redegøre for simple specifikationsmodeller og realisere disse i simple velstrukturerede programmer
- arbejde inkrementelt og systematisk i programmeringsprocessen.
Kernestof
- programmeringssprog og elementer i programmers opbygning, herunder variabler, typer, udtryk, kontrolstrukturer, parametrisering/abstraktionsmekanismer
- arkitekturen for programmers interaktion med omgivelserne med henblik på hændelsesstyret interaktion
- arbejdsgange og systematik i programmeringsprocessen, herunder test og fejlfinding
- abstrakte programmeringsbeskrivelser og dokumentation.
|
|
Indhold
|
Kernestof:
Skriftligt arbejde:
| Titel |
Afleveringsdato |
|
If, Else og Flowchart
|
11-10-2024
|
|
|
Omfang
|
Estimeret:
16,00 moduler
Dækker over:
6 moduler
|
|
Særlige fokuspunkter
|
|
|
Væsentligste arbejdsformer
|
|
|
Titel
4
|
4: Lister
Eleverne får i dette forløb udvidet deres forståelse for det basale i programmering. Det gør de ved at videreudvikle på et tekstbaseret spil der foregår i konsollen.
Igennem dette forløb bliver eleverne trænet i lister og løkker der itere over listernes indhold. Eleverne bygger enten oven på det tekst-adventure de lavede i forløbet "Kontrolflow" eller bygger ovenpå et tekstadventure-template udleveret af læreren.
Fagligt indhold
- Datastruktur (Lister)
- Løkker (for-loops)
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
- anvende avancerede konstruktioner i et programmeringssprog
- redegøre for arkitekturen af programmer på forskellige abstraktionsniveauer, herunder relationen mellem brug og funktion
- arbejde inkrementelt og systematisk i programmeringsprocessen.
Kernestof
- programmeringssprog og elementer i programmers opbygning, herunder variabler, typer, udtryk, kontrolstrukturer, parametrisering/abstraktionsmekanismer
- arkitekturen for programmers interaktion med omgivelserne med henblik på hændelsesstyret interaktion
- arbejdsgange og systematik i programmeringsprocessen, herunder test og fejlfinding
|
|
Indhold
|
Kernestof:
Skriftligt arbejde:
| Titel |
Afleveringsdato |
|
Tekst-adventure
|
15-11-2024
|
|
Text-adventure part 2
|
18-12-2024
|
|
|
Omfang
|
Estimeret:
7,00 moduler
Dækker over:
12 moduler
|
|
Særlige fokuspunkter
|
|
|
Væsentligste arbejdsformer
|
|
|
Titel
5
|
5: Algoritmer
Eleverne får i dette forløb forståelse for algoritmisk tænkning. Det gør de ved at analysere spillet 4-på-stribe og selv finde frem til hvilke algoritmer der er tilstede i det spil. De skal altså på selvstændig vis analysere et regelsæt og på den baggrund udvikle algoritmer der kan placere brikker i et multidimensionelt array, samt tjekke for forskellige winconditions.
Dette forløb starter med analoge øvelser, hvor eleverne skal skrive pseudokode for 4-på-stribe og agere hhv. computer, program og bruger. Derefter skal de implementere deres egen pseudokode i et python program. Der er fokus på problemløsnings kompetencer.
Fagligt indhold
- Datastruktur (Nestede Lister)
- Løkker (for-loops)
- Pseudokode
- Flowdiagrammer
- Fra problem til løsning
- Fejlfinding (snak-om-koden, læs-koden, print()-debugging og debugging-tools)
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
- anvende avancerede konstruktioner i et programmeringssprog
- redegøre for simple specifikationsmodeller og realisere disse i simple velstrukturerede programmer samt teste disse
- 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/abstraktionsmekanismerm, rekursion og algoritmemønstre
- arkitekturen for programmers interaktion med omgivelserne med henblik på hændelsesstyret interaktion
- arbejdsgange og systematik i programmeringsprocessen, herunder test og fejlfinding
- abstrakte programmeringsbeskrivelser og dokumentation.
|
|
Indhold
|
Kernestof:
|
|
Omfang
|
Estimeret:
10,00 moduler
Dækker over:
8 moduler
|
|
Særlige fokuspunkter
|
|
|
Væsentligste arbejdsformer
|
|
|
Titel
6
|
Bevægelser i 2D
Tværfagligt forløb mat/pro
I dette projekt er formålet at forstå en 2-dimensionel bevægelse, herunder hvordan tyngdekraften påvirker legemet (en basketball) under bevægelsen, derefter bruge sin matematiske forståelse til at skabe et program der simulerer et kast.
Eleverne skal lave et program der tager højde for tyngdekraft som parameter, når der skydes en bold. Kollisionen med kurven skal beslutte, hvorvidt spilleren rammer, eller bolden bliver skudt væk. Spilleren skal have mulighed for at se den potentielle bue på deres skud inden de skyder, så de har mulighed for at se hvor de rammer.
Programmet udvikles i Python.
|
|
Indhold
|
Kernestof:
|
|
Omfang
|
Estimeret:
6,00 moduler
Dækker over:
6 moduler
|
|
Særlige fokuspunkter
|
|
|
Væsentligste arbejdsformer
|
|
|
Titel
7
|
6: SRC
Eleverne får i dette forløb forståelse for objekt-orienteret programmering og at benytte biblioteksmoduler.
Det gør de ved at udvikle et simpelt 2D spil vha. Python og PyGame. Forløbet starter ud med en gennemgang af PyGames mest basale moduler igennem en forklaring af designmønstret Model View Controller (MVC).
Her får eleverne en forståelse af hvordan et spil ofte er bygget op af modeller, der vises på en skærm og opdateres på baggrund af input fra spilleren. I starten af forløbet får eleverne blot træning i at lave modeller, vise dem på skærmen og interagere med disse. Men når eleverne skal til at udvide kompleksiteten i deres spil, viser jeg dem hvorfor at det er smart at benytte objekt-orienteret programmering til dette. Dermed får de også indblik i hvordan man nedarver metoder fra PyGames klasser, og eleverne får oprettet sine egne typer af spilobjekter. Elevernes egne klasser baseres på klassediagrammer som de også selv laver.
Fagligt indhold
- Datastruktur (Klasser og Objekter)
- Model-View-Controller - Designmønster
- Klassediagrammer
- Collision-detection
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
- anvende avancerede konstruktioner i et programmeringssprog
- redegøre for arkitekturen af programmer på forskellige abstraktionsniveauer, herunder relationen mellem brug og funktion
- 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 og polymorfi
- arkitekturen for programmers interaktion med omgivelserne med henblik på hændelsesstyret interaktion
- generiske programdele og biblioteksmoduler
- arbejdsgange og systematik i programmeringsprocessen, herunder test og fejlfinding
- abstrakte programmeringsbeskrivelser og dokumentation.
|
|
Indhold
|
Kernestof:
|
|
Omfang
|
Estimeret:
15,00 moduler
Dækker over:
19 moduler
|
|
Særlige fokuspunkter
|
|
|
Væsentligste arbejdsformer
|
|
|
Titel
8
|
Op start
Hvem er I og hvem er jeg
|
|
Indhold
|
Kernestof:
|
|
Omfang
|
Estimeret:
2,00 moduler
Dækker over:
2 moduler
|
|
Særlige fokuspunkter
|
|
|
Væsentligste arbejdsformer
|
|
|
Titel
9
|
NIM spil
Information om Bekendtgørelsen i programmering
Eleverne skal lave et NIM program med tilhørende synopsis
|
|
Indhold
|
Kernestof:
|
|
Omfang
|
Estimeret:
4,00 moduler
Dækker over:
4 moduler
|
|
Særlige fokuspunkter
|
|
|
Væsentligste arbejdsformer
|
|
|
Titel
10
|
Info om programmeringsfaget
Mere info om programmering
|
|
Indhold
|
Kernestof:
|
|
Omfang
|
Estimeret:
2,00 moduler
Dækker over:
2 moduler
|
|
Særlige fokuspunkter
|
|
|
Væsentligste arbejdsformer
|
|
|
Titel
11
|
Objekt orienteret programmering
Teori om objektorienteret programmering samt en lille øvelsesopgave i OOP.
|
|
Indhold
|
Kernestof:
|
|
Omfang
|
Estimeret:
6,00 moduler
Dækker over:
6 moduler
|
|
Særlige fokuspunkter
|
|
|
Væsentligste arbejdsformer
|
|
|
Titel
12
|
Rekusive funktioner/metoder samt AI
Rekusive funktioner/metoder.
Diskution om programmering og AI.
* Hvordan ser verdenen ud om 5/10 år mht. sw og som programmør?
* Hvordan ser verdenen ud om 5/10 år mht. AI?
|
|
Indhold
|
Kernestof:
|
|
Omfang
|
Estimeret:
2,00 moduler
Dækker over:
2 moduler
|
|
Særlige fokuspunkter
|
|
|
Væsentligste arbejdsformer
|
|
|
Titel
13
|
Træning i at lave et programmeringsprojekt
Eleverne laver et lille projekt for at træne metoden
|
|
Indhold
|
Kernestof:
|
|
Omfang
|
Estimeret:
24,00 moduler
Dækker over:
27 moduler
|
|
Særlige fokuspunkter
|
|
|
Væsentligste arbejdsformer
|
|
|
Titel
14
|
Prøve eksamensprojekt
Et prøve eksamensprojekt som bl.a. bruges til en terminsprøve
|
|
Indhold
|
Kernestof:
|
|
Omfang
|
Estimeret:
20,00 moduler
Dækker over:
27 moduler
|
|
Særlige fokuspunkter
|
|
|
Væsentligste arbejdsformer
|
|
|
Titel
15
|
Eksamensprojekt
|
|
Indhold
|
Kernestof:
|
|
Omfang
|
Estimeret:
20,00 moduler
Dækker over:
23 moduler
|
|
Særlige fokuspunkter
|
|
|
Væsentligste arbejdsformer
|
|
{
"S": "/lectio/679/stamdata/stamdata_edit_student.aspx?id=666\u0026prevurl=studieplan%2fuvb_hold_off.aspx%3fholdid%3d61048883287",
"T": "/lectio/679/stamdata/stamdata_edit_teacher.aspx?teacherid=666\u0026prevurl=studieplan%2fuvb_hold_off.aspx%3fholdid%3d61048883287",
"H": "/lectio/679/stamdata/stamdata_edit_hold.aspx?id=666\u0026prevurl=studieplan%2fuvb_hold_off.aspx%3fholdid%3d61048883287"
}