Holdet T22asf Pro - Undervisningsbeskrivelse

Undervisningsbeskrivelse

Stamoplysninger til brug ved prøver til gymnasiale uddannelser
Termin(er) 2022/23 - 2024/25
Institution Skive College
Fag og niveau Programmering B
Lærer(e)
Hold T22asf Pro (T22asf Pro, T22asf Pro, T22asf Pro)

Oversigt over gennemførte undervisningsforløb
Titel 1 Opstart Unity
Titel 2 Opstart på programmering
Titel 3 Trekantsberegner
Titel 4 Grundfos - Den rette mængde vand. Embedded
Titel 5 Shader programmering
Titel 6 Towerdefence spil
Titel 7 Vagter - Tilstandsmaskiner
Titel 8 Rekursion
Titel 9 Stamtræ - rekursion
Titel 10 Fri leg projekt
Titel 11 Eksamensprojekt

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

Eleverne laver deres første unity-projekt. Projektet følger "Roller Ball"-tutorial fra Unity. Her lærer eleverne elementær unity-funktionalitet som de skal bruge i alle programmeringstimer fremover. En del af tutorialen beskæftiger dig med Visual Studio. I dette program vil eleverne skrive deres programmer med C#-kode.
Indhold
Omfang Estimeret: Ikke angivet
Dækker over: 8 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer

Titel 2 Opstart på programmering

Eleverne starter på programmering, hvor de skal lære om:
* kontrol loops, variabler, funktioner.

Eleverne skal løse små opgaver inden for de enkelte begreber.

Faglige mål   
• rette, tilpasse og udvide simple programmer

Kernestof
• programmeringssprog og elementer i programmers opbygning, herunder variabler, typer, udtryk, kontrolstrukturer
Indhold
Omfang Estimeret: Ikke angivet
Dækker over: 8 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer

Titel 3 Trekantsberegner

Eleverne skal i programmering lave en trekantsberegner. De skal udarbejde et dataflowdiagram for processen, hvorefter algoritmen skal implementeres i C# og Unity.

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 simple 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 simple programmer
• arbejde inkrementelt og systematisk i programmeringsprocessen.

Kernestof
• programmeringssprog og elementer i programmers opbygning, herunder variabler, typer, udtryk, kontrolstrukturer, parametrisering
• arkitekturen for programmers interaktion med omgivelserne med henblik på hændelsesstyret interaktion og interaktion mellem systemer  
• arbejdsgange og systematik i programmeringsprocessen, herunder test og fejlfinding
• abstrakte programmeringsbeskrivelser og dokumentation.
Indhold
Omfang Estimeret: Ikke angivet
Dækker over: 20 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer

Titel 4 Grundfos - Den rette mængde vand. Embedded

Pumper programmeres med en arduino til at fylde kar med en vis mængde vand. Kontrolsystemer er i fokus. Faglige elementer indeholder: programmeringssprog, typer og variabler.

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
• 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
• arkitekturen for programmers interaktion med omgivelserne med henblik på hændelsesstyret interaktion og interaktion mellem systemer  
• arbejdsgange og systematik i programmeringsprocessen, herunder test og fejlfinding
• abstrakte programmeringsbeskrivelser og dokumentation.
Indhold
Omfang Estimeret: Ikke angivet
Dækker over: 5 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer

Titel 5 Shader programmering

I et tværfagligt forløb mellem matematik og programmering skal elverne arbejde med shader programmering i unity. Det er en projekt uge hvor eleverne skal få en forståelse for hvordan vektorer undgår i grafik i spil.

Der er arbejdet med følgende mål:
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
• arbejde inkrementelt og systematisk i programmeringsprocessen.

Kernestof
• arbejdsgange og systematik i programmeringsprocessen, herunder test og fejlfinding
• abstrakte programmeringsbeskrivelser og dokumentation.
Indhold
Omfang Estimeret: Ikke angivet
Dækker over: 0 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer

Titel 6 Towerdefence spil

Der skal laves et towerdefence spil i programmering. Der skal her fokuseres på at lave et objektorienteret design, samt begynde at lære om avancerede konstruktioner som klasser, nedarvning og polymorfi. Eleverne får udleveret noget eksempel kode, som der skal arbejdes videre på.

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 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: 23 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer

Titel 7 Vagter - Tilstandsmaskiner

Der skal laves en tilstandsmaskine til vagter i et spil. Vagternes opførelse skal tage udgangs punkt i hvad spilleren skal gøre. I projektet skal eleverne:
* Der skal tages udgangspunkt i følgende asset. https://assetstore.unity.com/packages/essentials/starter-assets-thirdperson-updates-in-new-charactercontroller-pa-196526
* Der skal laves et tilstandsdiagram, der beskriver vagtens opførelse.
* Tilstands maskinen skal implementeres med både et state pattern og ved hjælp af en switch
* Der skal arbejdes sammen med pakken Navigation AI, så vagterne selv kan finde en rute.
* Der sluttes med en mundtligt præsentation af projektet, der svare til at lave fremlæggelse til en mundtlig eksamen.

Følgende gaglige mål og kernestof er omfattet af projektet:
Faglige mål   
• 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
• 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 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 8 Rekursion

Rekursion og datalogning

Der skal laves opgaver omkring rekursion. Derudover skal eleverne også gemme dataen i filer, som skal kunne gemmes i maple.

Der bliver arbejdet med følgende mål:

Faglige mål   
• rette, tilpasse og udvide avancerede programmer
• arbejde inkrementelt og systematisk i programmeringsprocessen.

Kernestof
• programmeringssprog og elementer i programmers opbygning,  rekursion,
Indhold
Omfang Estimeret: Ikke angivet
Dækker over: 6 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer

Titel 9 Stamtræ - rekursion

Der skal laves en applikation, hvor man skal bruge en træstruktur til at organisere data.
• Kunne autogenere et tilfældigt datatræ
• Kan navngive alle grene i træet
• Kan finde en bestemt gren
• Skal kunne gemme træet i en fil
• Skal kunne kalde træet frem næste gang programmet bliver loaded
Eleverne skal afslutte projektet med en fremlæggelse.

Der bliver arbejdet med følgende mål:

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
• 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 rekursion, og algoritmemønstre
• arbejdsgange og systematik i programmeringsprocessen, herunder test og fejlfinding
Indhold
Omfang Estimeret: Ikke angivet
Dækker over: 9 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer

Titel 10 Fri leg projekt

Dette er et prøveprojekt på eksamensprojektet. Eleverne skal det samme som til eksamensprojektet.
* Der skal laves en projektbeskrivelse som skal afleveres og godkendes.
* Eleverne skal arbejde selvstændigt med deres projekt.
* Der skal laves en synopsis som til eksamensprojektet.

Der arbejdes med følgende mål

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
• 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
• 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: 13 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer

Titel 11 Eksamensprojekt

Der er 3 temaer eleverne kan vælge mellem

Tema 1 - spilelement til spil
I jeres eksamensprojekt i programmering, skal I udvælge et element indenfor spil. Det er vigtigt at I skal udvælge jer enkelte dele af et spil, som I kan gå i dybden med.

Tema 2 - Savesystem
I mange større spil ønsker man at gemme fremskridt, så man kan lukke spillet ned og foresætte på et andet tidspunkt. Dette savesystem skal være fleksibel og meget let at udvide. Der er følgende krav til systemet:

Tema 3 - Simulering af fysisk
I dette projekt skal I lave en simulering af et fænomen indenfor fysik.

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
• 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
• 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
• 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: 14,00 moduler
Dækker over: 13 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer