Holdet cbht3b-prob (2025/26) - Undervisningsbeskrivelse

Undervisningsbeskrivelse

Stamoplysninger til brug ved prøver til gymnasiale uddannelser
Termin(er) 2024/25 - 2025/26
Institution Slet Z - UNORD 1
Fag og niveau Programmering B
Lærer(e) Christian Reinhold
Hold cb24ht2b-prob (cbht2b-prob, cbht3b-prob)

Oversigt over gennemførte undervisningsforløb
Titel 1 Grundlæggende Python
Titel 2 Objektorienteret Python
Titel 3 Objektorienteret Python - Flask
Titel 4 AI assisteret programmering
Titel 5 Numpy, STL, m.fl.
Titel 6 Maskinlæring
Titel 7 Assembly programmering
Titel 8 Grundlæggende C
Titel 9 RUST
Titel 10 AI agents
Titel 11 Klassifikation - Naive Bayes
Titel 12 Eksamensprojekt

Beskrivelse af de enkelte undervisningsforløb (1 skema for hvert forløb)
Titel 1 Grundlæggende Python

Grundlæggende programmering i Python:
- variabler, datatyper, løkker, betinget udførsel, lister, procedurer, m.m.

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

Skriftligt arbejde:
Titel Afleveringsdato
Caesar kryptering 02-09-2024
Vigenere kryptering 20-10-2024
Omfang Estimeret: Ikke angivet
Dækker over: 16 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer

Titel 2 Objektorienteret Python

Klasser og objekter, metoder, konstruktører, arv, komposition m.m.

Klassediagrammer

Faglige mål:
- anvende avancerede konstruktioner i et programmeringssprog
- rette, tilpasse og udvide avancerede programmer
- arbejde inkrementelt og systematisk i programmeringsprocessen.
Indhold
Kernestof:

Skriftligt arbejde:
Titel Afleveringsdato
Krypteringsprogram med grafisk brugergrænseflade. 24-11-2024
Omfang Estimeret: Ikke angivet
Dækker over: 8 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer

Titel 3 Objektorienteret Python - Flask

OOP demonstreret gennem dynamisk Flask Website

Klasser og objekter, metoder, konstruktører, arv, komposition m.m.
HTML, CSS, JS, Jinja, SQLite

Introduktion til Git, Github

Faglige mål:
- anvende avancerede konstruktioner i et programmeringssprog
- rette, tilpasse og udvide avancerede programmer
- arbejde inkrementelt og systematisk i programmeringsprocessen.
Indhold
Kernestof:
Omfang Estimeret: Ikke angivet
Dækker over: 30 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer

Titel 4 AI assisteret programmering

Indhold:
- Funktioner, inkl. øvelse i at nedbryde i funktioner: Klubprogram.
- Docstrings
- 10 centrale begreber
- CoPilot i VS Code
- Doctest
- 2 øvelser: Godt password og Scrabble program
- Projekt: Behandle og visualisere datasæt

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

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


Indhold
Kernestof:

Skriftligt arbejde:
Titel Afleveringsdato
11 begreber 12-01-2025
Scrabble hjælpeprogram opstart 24-01-2025
Omfang Estimeret: Ikke angivet
Dækker over: 10 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer

Titel 5 Numpy, STL, m.fl.

Numpy, STL, Matplotlib og 3D-print
Vi tager udgangspunkt i diverse kapitler fra denne bog:
https://jakevdp.github.io/PythonDataScienceHandbook/

Gennemgang af Numpy
To individuelle opgaver

Projektforløb, hvor en 3D-model defineres i Numpy-arrays og eksporteres til STL-fil og 3D-printes.

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
- 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

Supplerende stof:
Vektorer og matricer, manipulation af 3D-grafik
Indhold
Kernestof:

Skriftligt arbejde:
Titel Afleveringsdato
Numpy opgave 1 27-02-2025
Numpy opgave 2 09-03-2025
STL-fil 18-03-2025
Omfang Estimeret: Ikke angivet
Dækker over: 22 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer

Titel 6 Maskinlæring

Supplerende stof, Introduktion til Maskinlæring:
- klargøring af data
- udvælgelse af 'feature'-variable
- visualisering af data
- opdeling i trænings-, test- og valideringsdata
- træning af modellen
- evaluering af modellen, over- og underfitting
- finindstil parametre
- forudsigelse

Kernestoffet:

- programmeringssprog og elementer i programmers opbygning, herunder variabler, typer, udtryk, kontrolstrukturer, parametrisering/abstraktions-mekanismer, 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

- arbejdsgange og systematik i programmeringsprocessen, herunder test og fejlfinding

- abstrakte programmeringsbeskrivelser og dokumentation
Indhold
Kernestof:

Skriftligt arbejde:
Titel Afleveringsdato
Undersøg datasæt 04-04-2025
Adul census 08-04-2025
Flask og ML-model 11-05-2025
Omfang Estimeret: Ikke angivet
Dækker over: 18 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer

Titel 7 Assembly programmering

Registre, Instruktionssæt, Gates, Binær aritmetik
Little man computer
RISC processor (Raspberry Pi)

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

̶  arbejdsgange og systematik i programmeringsprocessen, herunder test og fejlfinding
Indhold
Kernestof:

Skriftligt arbejde:
Titel Afleveringsdato
LMC opgave 25-08-2025
Omfang Estimeret: Ikke angivet
Dækker over: 20 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer

Titel 8 Grundlæggende C

evt. også Ncurses
Indhold
Kernestof:

Skriftligt arbejde:
Titel Afleveringsdato
Ncurses Cæsar kryptering 22-10-2025
Omfang Estimeret: Ikke angivet
Dækker over: 16 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer

Titel 9 RUST

Grundlæggende RUST
Rust Egui
Cross compile til Raspberry Pi, Pico
Indhold
Kernestof:
Omfang Estimeret: Ikke angivet
Dækker over: 16 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer


Titel 11 Klassifikation - Naive Bayes

Indhold
Kernestof:
Omfang Estimeret: Ikke angivet
Dækker over: 10 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer

Titel 12 Eksamensprojekt

Fra bekendtgørelsen:
"I den afsluttende periode af undervisningen afsættes 20 timers undervisningstid til, at eleverne med vejledning fra læreren,
udarbejder et eksamensprojekt i grupper på to til tre. Hvor dette ikke er muligt eller ønskeligt, kan man lade eleverne arbejde individuelt. Eksamensprojektet består af et produkt samt en synopsis. Synopsen skal dokumentere udviklingen af det færdige produkt og må højst have et omfang af fem til otte normalsider, eksklusiv koder, rutediagrammer, bilag mm.
Eksamensprojektet udarbejdes inden for rammerne af projektoplæg stillet af skolen. Eksamensprojektgrupperne udarbejder en fælles projektbeskrivelse, der inkluderer en beskrivelse af den enkelte eksaminands fokus. Projektbeskrivelsen godkendes af skolen, når beskrivelsen er tilstrækkelig fagligt bred og niveaumæssigt relevant. Eksamensprojektets synopsis er individuelt udarbejdet.
Afleveringstidspunktet skal normalt være senest en uge før eksamensperiodens begyndelse.
Eksamensprojektet indgår i grundlaget for den afsluttende standpunktskarakter, hvis der gives en sådan, og udgør grundlaget
for prøven.
Eksamensprojektets synopsis er forinden prøven ikke rettet og kommenteret af eksaminator.
Den enkelte elev dokumenterer løbende sin faglige udvikling i en logbog. Dokumentationen i logbogen kan have form af f.eks.
it-systemer, programmer, noter, synopser, programbeskrivelser og flowcharts."
Indhold


Skriftligt arbejde:
Titel Afleveringsdato
Grupper til eksamensprojektet 16-03-2026
Projektbeskrivelse Eksamensprojekt 17-03-2026
Synopsis til Eksamen i Programmering B 18-05-2026
Omfang Estimeret: Ikke angivet
Dækker over: 30 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer