Holdet S2 vf pro (2025/26) - Undervisningsbeskrivelse

Undervisningsbeskrivelse

Stamoplysninger til brug ved prøver til gymnasiale uddannelser
Termin(er) 2025/26
Institution NEXT
Fag og niveau Programmering C
Lærer(e)
Hold S2024 vf pro (S2 vf pro)

Oversigt over gennemførte undervisningsforløb
Titel 1 Introduktion til grundlæggende programmering
Titel 2 Projekt: Programmering i teori og praksis
Titel 3 Supplerende stof (oop m.m.)
Titel 4 Eksamensprojekt

Beskrivelse af de enkelte undervisningsforløb (1 skema for hvert forløb)
Titel 1 Introduktion til grundlæggende programmering

Fokus er på grundlæggende begreber herunder sekvens-selektion-iteration paradigmet, variable og datatyper, funktioner, fil input og output. Efterfølgende kigges på objekt-orienteret programmering. Dernæst arbejdes med videregående emne. Herunder en mere detaljeret liste.
Vi indleder med sekvens-selektion og iteration. Dernæst kigges på objektorienteret programmering. Herunder en mere detaljeret liste:
Betinget udførsel
Data typer og variabler,
Operatorer, udtryk og udsagn
For-løkker
Arrays og lister
Metoder og funktioner - call by value og call by reference
While-løkker
Datoer og tid
Strenge
Variabler og deres scope
Fil input og output
Input fra mus og tastatur
Lyd og billeder i p5
Introduktion til klasser - oprette og instantiere vha af konstruktører samt implementere simple metoder
Derudover introducerede vi også to forskellige IDE herunder Visual Studio og Visual Studio Code.
Vi kiggede kort på git og github samt installerede forskellige plugins til at lette teamkode (herunder Visual Studio Live Share).

Undervejs lavede vi små øvelser samt nogle lidt større projekter, hvor der var flere frihedsgrader. Projekterne bestod af følgende

Algoritmisk flagkonstruktion - Konstruere en algoritme først i pseudokode og dernæst i p5 der konstruerer og farvelægger et flag.

Algoritmisk kunst: Ud fra use-modify-create skulle eleverne tage udgangspunkt i eksisterende algoritmisk kunst og modificere det og til sidst skabe deres egen kunst

Katten efter musen spil: Konstruere vha af betinget udførsel et katten efter musen spil

Musikalsk instrument: Bruge p5 til at implementer et simpelt musik instrument eller en prototype heraf (trommer, klaver eller guitar). Træne eleverne i at bruge billeder og lyde i p5

Aktier, minigolf eller talrækker: De kunne selv vælge en af følgende projekter hvor de kunne simulere aktiers udvikling/renters rente, simulere minigolf eller konstruere talrækker. Primært handlede øvelsen om at øve eleverne i at bruge løkker

GenAI er blevet brugt til fejlretning og kognitiv partner
Litteratur og videoer:
Videoerne hentes fra codingtrain på youtube: https://thecodingtrain.com/beginners/p5js/
Man får en playliste ved at følge linket her: https://www.youtube.com/playlist?list=PLRqwX-V7Uu6Zy51Q-x9tMWIv9cueOFTFA

Udover videoer bruger vi også nogle lærebøger/noter herunder:
[B1]: Introduktion til programmering i P5 af Henrik Sterner og Peter Sterner (Kapitel 1 til 7 (s.13-108 dvs. 95 sider). Se https://henriksterner.github.io/P5Programmering/.

GenAI har primært været som hjælp til at finde fejl i koden.

Supplerende læsestof:
[B2]: Programmering af Jesper Buch (se systime: https://programmering.systime.dk/)
[B3]: Nature of code af Daniel Shiffman (se https://natureofcode.com/)

Faglige mål i fokus:
• 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 rette, tilpasse og udvide avancerede programmer
• demonstrere viden om fagets identitet og metoder  
• arbejde inkrementelt og systematisk i programmeringsprocessen


Kernestof i fokus:
• 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  

Indhold
Kernestof:
Omfang Estimeret: 50,00 moduler
Dækker over: 30 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer
  • Eksperimentelt arbejde
  • Forelæsninger
  • Gruppearbejde
  • Individuelt arbejde
  • Lærerstyret undervisning
  • Pararbejde
  • Projektarbejde

Titel 2 Projekt: Programmering i teori og praksis

Et større projekt i programmering, hvor eleverne fik mulighed for at prøve deres teorien i praksis. Undervejs blev de også introduceret til dokumentation (herunder også flowdiagrammer, pseudokode, test, softwarearkitektur og rapportskrivning).

Herunder en gennemgang af de temaer de kunne vælge:

Tema 0: Vigenere krypteringsalgoritme.
Implementere en simpel prototype med brug af Vigenere kryptering.

Tema 1: Spil
Lav en prototype på et spil. Det kan være et brætspil, som I digitaliserer. I må gerne lave et spil, som I selv har fundet på. Det kan også være et spil, som eksisterer allerede, men som I så videreudvikler på.

Spillet bør rumme muligheden for enten at spille mod en anden spiller eller mod computeren.

Tema 2: Formidling af en faglig problemstilling i et andet fag
Lav et program, som har til formål at formidle en faglig problemstilling eller aspekt fra et andet fag.

Det kan eksempelvis være:

Simulering og visualisering af et eksperiment i fysik/kemi eller biologi hvor man kan justere på forskellige parametre.
Modellering og beregning af noget i matematik. F.eks. regression eller finde nulpunkter for funktioner.
En samfundsfaglig problemstilling
Et bog eller et digt i dansk
Krav: Der skal gerne være en grafisk brugergrænseflade.

Tema 3: Din favorit algoritme
En algoritme er en sekvens af instruktioner, der løser en opgave eller et problem. I denne opgave skal du udvælge en konkret algoritme, som du forsøger at implementere og evt visualisere hvis muligt. Eksempler på typiske algoritmer:

Sortering af tal
Søge efter et element i en liste.
Sammenlign hvor ens to tekststrenge er
Find korteste vej i grafer
osv.
Som en del af opgaven bør du overveje hvorledes din algoritme kan benyttes eller inddrages i applikationer i den virkelige verden.

Tema 4: Simpel Chatbot
I det følgende tema skal I prøve at implementere en simpel chatbot.

Et eksempel på en sådan er Eliza Chatbot. Herunder en kort introduktion til Eliza Chatbot (hentet fra wikipedia): ELIZA er et tidligt computerprogram til behandling af naturligt sprog udviklet mellem 1964 og 1966 på MIT Artificial Intelligence Laboratory af Joseph Weizenbaum.[1] Programmet blev skabt til at demostrere det overfladiske i kommunikationen mellem menneske og maskine, idet ELIZA simulerede en samtale ved brug af mønstergenkendelse og metodisk substitution, som gav brugeren en oplevelse af at blive forstået af maskinen, til trods for at programmet ikke havde nogen forståelsesramme for miljø og hændelser.[2] ELISA var en af de første chatbots, men blev også anset for at være et af de første programmer med mulighed for at bestå Turing-testen. I sin enkleste form virker ELIZA på følgende måde:[3]

Tema 5: Et selvvalgt projekt
Hvis I har en god ide, som I gerne vil forsøge at implementere, så kom og snak, så finder vi ud af det :-).

GenAI har primært været som hjælp til at finde fejl i koden samt kognitiv partner.


Faglige mål i fokus:
• 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
• 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 i fokus:
• 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
Omfang Estimeret: Ikke angivet
Dækker over: 8 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer

Titel 3 Supplerende stof (oop m.m.)

Introduceret til forskellige emner indenfor programmering. Herunder webscraping, test, regulære udtryk og lidt om de basale koncepter i objektorienteret programmering og principperne bag. Undervejs så vi også på syntaksen i Python og hvordan den adskilte sig fra javascript.

Lærebøger:

[P0]: Programmering i Python af Kathrine Bohus Madsen og Henrik Sterner (20 sider)
[P1]: P5 Programmering af Henrik Sterner og Peter Sterner (20 sider)


Faglige mål i fokus:
• 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
• 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 i fokus:
• 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 arbejdsgange og systematik i programmeringsprocessen, herunder test og fejlfinding
• abstrakte programmeringsbeskrivelser og dokumentation.
Indhold
Omfang Estimeret: Ikke angivet
Dækker over: 10 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer

Titel 4 Eksamensprojekt

Indhold
Kernestof:
Omfang Estimeret: 27,00 moduler
Dækker over: 22 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer
  • Projektarbejde