Holdet 2022 Pr-B.6 - Undervisningsbeskrivelse

Undervisningsbeskrivelse

Stamoplysninger til brug ved prøver til gymnasiale uddannelser
Termin(er) 2023/24 - 2024/25
Institution HTX Roskilde
Fag og niveau Programmering B
Lærer(e) Lars Olivarius, Mette Frost Nielsen
Hold 2022 Pr-B.6 (2.6 Pr-B, 3.6 Pr-B)
Oversigt over gennemførte undervisningsforløb
Titel 1 Indledende Java
Titel 2 Hukommelses Struktuer og Hægtede Lister
Titel 3 Huffman Kodning
Titel 4 Java Grafik - Labyrint Generator
Titel 5 Projekt - Billedmanipulation
Titel 6 Hashing
Titel 7 Sortering
Titel 8 Grafik i Java
Titel 9 SRC forløb om Newton Raphsons metode
Titel 10 Unity
Titel 11 Trustpilot MD5
Titel 12 Pathfinding
Titel 13 Valgfrit projekt
Titel 14 Eksamensprojekt

Beskrivelse af de enkelte undervisningsforløb (1 skema for hvert forløb)
Titel 1 Indledende Java

- Introduktion til Java og umiddelbare forskelle fra Processing
- Introduktion til Eclipse udviklingsmiljøet
- WindowBuilder addon til Eclipse og hvordan vi laver et GUI
- Mini projekt med at lave en simpel lommeregner
Indhold
Omfang Estimeret: Ikke angivet
Dækker over: 8 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer
Titel 2 Hukommelses Struktuer og Hægtede Lister

- Lettere udvidet om Objekter og Objekt referencer
- Arrays vs hægtede lister
- Enkelt hægtede lister
- Dobbelt hægtede lister
- Kort om andre typer af lister
- En simpel stack
- Minimums stack

https://www.geeksforgeeks.org/data-structures/linked-list/
Indhold
Omfang Estimeret: Ikke angivet
Dækker over: 5 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer
Titel 3 Huffman Kodning

Forløb omkring Huffman kodning med brug af vores viden om hægtede lister og i særdeleshed min-stack

- Binær træstruktur
- Huffman kodning generelt
- Opbygning af Huffman træ
- Læsning af fil og konvertering af byte indhold til Huffman træ

https://www.geeksforgeeks.org/binary-tree-data-structure/
https://en.wikipedia.org/wiki/Huffman_coding
https://www.youtube.com/watch?v=umTbivyJoiI
Indhold
Omfang Estimeret: Ikke angivet
Dækker over: 5 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer
Titel 4 Java Grafik - Labyrint Generator

Simpel labyrint generator ud fra Prims Algoritme

- Introduktion til grafik i Java
- Prim's Algoritme
- Labyrint generator ud fra Prim's algoritme
- Gamification af vores labyrint (tilføjelse af spiller, start og end)

https://www.youtube.com/watch?v=zCiMlbu1-aQ
https://en.wikipedia.org/wiki/Maze_generation_algorithm
Indhold
Omfang Estimeret: Ikke angivet
Dækker over: 6 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer
Titel 5 Projekt - Billedmanipulation

Projektopgave med hovedemne billedmanipulation

Der arbejdes selvstændigt eller i grupper på 2 personer på at lave et program hvor der indgår en eller anden grad af manipulation af billeddata eller lignende. Som afslutning afleveres en synopse omkring arbejdet med programmet.
Indhold
Omfang Estimeret: Ikke angivet
Dækker over: 10 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer
Titel 6 Hashing

Mini forløb om hashing:
- Brug af hashing i forbindelse med lagring af data
- Hashing som sikkerhed i login system

Kilder:
https://www.geeksforgeeks.org/hashing-data-structure/
Indhold
Omfang Estimeret: Ikke angivet
Dækker over: 6 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer
Titel 7 Sortering

Sorteringsalgoritmer:
- Generelt om sortering af data
- Bubblesort
- Selectionsort
- Insertionsort
- Quicksort
- Egne implementationer af ovenstående algoritmer
- Optimering mm.

Kilder:
https://en.wikipedia.org/wiki/Bubble_sort
https://en.wikipedia.org/wiki/Selection_sort
https://en.wikipedia.org/wiki/Insertion_sort
https://en.wikipedia.org/wiki/Quicksort
https://www.geeksforgeeks.org/sorting-algorithms/
Indhold
Omfang Estimeret: Ikke angivet
Dækker over: 6 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer
Titel 8 Grafik i Java

Kort om 2D grafik i Java, bl.a. med henblik på mulig brug i den kommende SRC opgave:
- Indledende om 2D grafik i Java
- Bevægelse og animation
- Parimetriske kurver (Sommerfugle kurven)

Kilder:
https://www.youtube.com/watch?v=zCiMlbu1-aQ
https://en.wikipedia.org/wiki/Butterfly_curve_(transcendental)
Indhold
Omfang Estimeret: Ikke angivet
Dækker over: 3 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer
Titel 9 SRC forløb om Newton Raphsons metode

Som overskriften siger...
Indhold
Omfang Estimeret: Ikke angivet
Dækker over: 8 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer
Titel 10 Unity


- Kort om Unity
- Forskelle mellem Java og C#
- Tutorial fra Brackeys
- Udvidelse af Tutorial med egne elementer
- Procedural generation

Brackeys - How to make a video game
https://www.youtube.com/watch?v=j48LtUkZRjU&list=PLPV2KyIb3jR53Jce9hP7G5xC4O9AgnOuL
Indhold
Omfang Estimeret: Ikke angivet
Dækker over: 12 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer
Titel 11 Trustpilot MD5

Opgave med at løse en rekruteringsopgave der i sin tid blev stillet af TrustPilot og involverer hashing samt manipulation af tekststrenge.
Et vigtigt element er ligeledes optimering a koden.

- Hashing
- Trustpilot "follow the white rabbit" opgave
- Optimering
- Tråd programmering

https://followthewhiterabbit.trustpilot.com/
Indhold
Omfang Estimeret: Ikke angivet
Dækker over: 7 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer
Titel 12 Pathfinding

Pathfinding delvist fælles kodning af interface tilsat egne pathfinding elementer ud fra video illustration af principperne i A*

https://www.youtube.com/watch?v=-L-WgKMFuhE
Indhold
Omfang Estimeret: Ikke angivet
Dækker over: 10 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer
Titel 13 Valgfrit projekt

Valgfrit projekt

- Emnet vælges frit, men der er en række strukturelle elementer der skal overholdes, og der afleveres en fuld synopsis til slut.
Indhold
Omfang Estimeret: Ikke angivet
Dækker over: 16 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer
Titel 14 Eksamensprojekt

Eksamensprojekt + lidt ekstra om testing
Indhold
Omfang Estimeret: Ikke angivet
Dækker over: 15 moduler
Særlige fokuspunkter
Væsentligste arbejdsformer