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)
|
Ahmad Zafari
|
Hold
|
2022 Pr-B.4 (2.4 Pr-B, 3.4 Pr-B)
|
Oversigt over gennemførte undervisningsforløb
Beskrivelse af de enkelte undervisningsforløb (1 skema for hvert forløb)
Titel
1
|
introduktion
Der antages, at eleverne ikke har nogen erfaring med programmering.
I dette forløb vil eleverne lære de grundlæggende koncepter i programmering, herunder datatyper, for-løkker, while-løkker, if-sætninger og funktioner. Målet med forløbet er at styrke deres færdigheder og give dem mulighed for at anvende disse koncepter i praksis gennem en række opgaver og et afsluttende projekt.
Eleverne vil arbejde med opgaver, der hjælper dem med at blive fortrolige med grundlæggende programmeringskoncepter. For eksempel skal de løse opgaver, der involverer datatyper, løkker og betingede udsagn, samt implementere funktioner.
projektafleveringen vil kræve, at eleverne strukturerer deres kode på en gennemtænkt måde og anvender de koncepter, de har lært. Eleverne skal arbejde på deres første aflevering, som skal demonstrere deres evne til at implementere og kombinere de grundlæggende programmeringskoncepter i et samlet projekt.
I slutningen af forløbet skal eleverne aflevere deres første projekt (i form af miniprojekter), som skal dokumenteres.
|
Indhold
|
Kernestof:
|
Omfang
|
Estimeret:
Ikke angivet
Dækker over:
12 moduler
|
Særlige fokuspunkter
|
|
Væsentligste arbejdsformer
|
|
Titel
2
|
moduler i Python og Flowdiagrammer
Formålet med dette forløb er at give eleverne en grundlæggende forståelse for, hvordan man arbejder med moduler i Python, samtidig med at de introduceres til vigtigheden af at dokumentere og planlægge deres programmer. Gennem praktiske øvelser og et afsluttende projekt lærer eleverne at anvende standardmoduler og at visualisere deres programlogik ved hjælp af flowdiagrammer.
I løbet af forløbet arbejder eleverne med standardmoduler som math og random, og de lærer at importere og bruge disse moduler til at løse konkrete programmeringsopgaver. Forløbet kulminerer i et miniprojekt, hvor eleverne udvikler en trekantberegner, som anvender deres viden om moduler og trigonometri til at løse et praktisk problem.
Derudover skal eleverne lære at dokumentere deres programmer korrekt. Forløbet indeholder en introduktion til flowdiagrammer som et værktøj til både planlægning og dokumentation. Eleverne lærer at bruge flowdiagrammer til at visualisere programflowet, hvilket styrker deres evne til at strukturere og formidle deres kode.
Afslutningsvis afleverer eleverne et projekt, hvor de både anvender relevante moduler til at løse en konkret problemstilling og benytter flowdiagrammer til at dokumentere deres arbejdsproces.
|
Indhold
|
Kernestof:
|
Omfang
|
Estimeret:
Ikke angivet
Dækker over:
9 moduler
|
Særlige fokuspunkter
|
|
Væsentligste arbejdsformer
|
|
Titel
3
|
Funktioner og Algoritmer og GUI
I dette forløb vil eleverne lære at bruge biblioteker og udvikle GUI-baserede spil. De vil få indblik i, hvordan man integrerer og anvender eksterne biblioteker for at udvide funktionaliteten af deres programmer. Eleverne vil også lære at opbygge grafiske brugergrænseflader (GUI) til spiludvikling, hvilket giver dem mulighed for at skabe interaktive og visuelt tiltalende applikationer.
For at løfte elevernes kompetencer til at forstå og håndtere mere komplekse logiske strukturer arbejder vi med algoritmer, herunder sorteringsalgoritmer.
Projektafleveringen i dette forløb vil udfordre eleverne til at tænke dybere for at kunne implementere deres løsninger, anvende biblioteker, udvikle GUI-spil og dokumentere deres kode med flowdiagrammer. Dette vil give dem mulighed for at demonstrere deres evne til at implementere mere avancerede funktioner samt skabe velstrukturerede og dokumenterede programmer.
I slutningen af forløbet skal eleverne aflevere et projekt, der viser deres færdigheder i at anvende biblioteker, udvikle GUI-baserede spil og dokumentere deres kode.
|
Indhold
|
Kernestof:
|
Omfang
|
Estimeret:
12,00 moduler
Dækker over:
11 moduler
|
Særlige fokuspunkter
|
|
Væsentligste arbejdsformer
|
|
Titel
4
|
klasser og objekter
I dette forløb introduceres eleverne for første gang til begreberne klasser og objekter i Python. De lærer, hvordan man definerer egne klasser, og hvordan man efterfølgende opretter og anvender objekter baseret på disse. Gennem konkrete eksempler opnår eleverne en grundlæggende forståelse af objektorienteret programmering og de fordele, det giver i forhold til struktur og genbrug af kode.
Forløbet er relativt kort og fokuseret, og efter et par indledende øvelser, hvor eleverne træner de centrale begreber, går de hurtigt i gang med et miniprojekt. I projektet skal de bruge deres nye viden om klasser og objekter til at udvikle en løsning på en konkret problemstilling.
Det er et krav, at elevernes løsning tager udgangspunkt i objektorienteret programmering, og at de anvender selvdefineret klasser med tilhørende objekter som en central del af deres programstruktur. Formålet er at styrke deres forståelse af, hvordan man opbygger mere avancerede og skalerbare programmer i Python.
|
Indhold
|
Kernestof:
|
Omfang
|
Estimeret:
Ikke angivet
Dækker over:
7 moduler
|
Særlige fokuspunkter
|
|
Væsentligste arbejdsformer
|
|
Titel
5
|
SRC
Formålet med dette forløb er at give eleverne mulighed for at arbejde tværfagligt med matematik og programmering. Eleverne skal anvende deres faglige kompetencer inden for begge fag til at undersøge, analysere og løse en konkret problemstilling med matematik som omdrejningspunkt og programmering som værktøj.
I dette studieretningsforløb (SRC) kombineres matematiske modeller og teorier med programmeringens styrke til at automatisere beregninger, visualisere data og simulere situationer. Eleverne skal bruge programmering som et aktivt redskab til at undersøge matematiske problemstillinger og præsentere deres resultater på en klar og systematisk måde.
|
Indhold
|
Kernestof:
|
Omfang
|
Estimeret:
8,00 moduler
Dækker over:
7 moduler
|
Særlige fokuspunkter
|
|
Væsentligste arbejdsformer
|
|
Titel
6
|
tkinter
Formålet med dette forløb er at bygge videre på elevernes erfaringer med Turtle og introducere dem til mere avanceret grafisk programmering gennem GUI-udvikling med Tkinter. Hvor Turtle primært bruges til grafisk tegning og visualisering, giver Tkinter mulighed for at udvikle interaktive programmer med knapper, tekstfelter og grafiske vinduer.
Forløbet viser, hvordan programmer kan få en brugerflade, som brugeren kan interagere med – og forbereder eleverne på til at designe deres egne små applikationer.
Forløbet afsluttes med et miniprojekt, hvor eleverne udvikler en simpel bankkonto-app, der simulerer ind- og udbetalinger gennem en brugervenlig grænseflade.
Efter forløbet skal eleverne kunne:
-Importere og anvende Tkinter til at skabe grafiske brugerflader.
-Bruge widgets som labels, knapper, entry-felter og canvas.
-Håndtere brugerinput og koble hændelser til knaptryk.
-Udvikle en simpel, interaktiv applikation med Tkinter.
|
Indhold
|
Kernestof:
|
Omfang
|
Estimeret:
Ikke angivet
Dækker over:
5 moduler
|
Særlige fokuspunkter
|
|
Væsentligste arbejdsformer
|
|
Titel
7
|
Intro_Java
Dette forløb har til formål at bygge videre på elevernes eksisterende programmeringsfærdigheder ved at introducere dem til Java. Gennem en kombination af teoretisk undervisning og praktiske opgaver vil eleverne i de første moduler hurtigt gennemgå grundlæggende koncepter som løkker, variabler og betingelser, og derefter dykke dybere ned i Java-specifikke emner såsom klasser, objekter, metoder og brugen af Javas standardbiblioteker ved at udvikle små applikationer. Herfra begynder eleverne at lære om brugergrænseflade (GUI), hvor de gradvist anvender deres opnåede færdigheder i praksis.
Eleverne skal aflevere et projekt i slutningen af forløbet og dokumentere deres kode.
|
Indhold
|
Kernestof:
|
Omfang
|
Estimeret:
Ikke angivet
Dækker over:
17 moduler
|
Særlige fokuspunkter
|
|
Væsentligste arbejdsformer
|
|
Titel
8
|
mellemtrin_Java
Eleverne har allerede lært de grundlæggende principper i Java i det første forløb. Dette forløb har til formål at gøre dem i stand til at udvikle mere avancerede applikationer, både med hensyn til logik og brugen af forskellige klasser og biblioteker. For eksempel vil eleverne arbejde med Java's grafikklasser og lære, hvordan man løbende opdaterer brugergrænsefladen.
Projekterne vil indeholde mere kompleks logik og kræve en mere gennemtænkt kodestruktur end tidligere, hvilket vil udfordre eleverne til at reflektere dybere over deres løsninger og udvikle velstruktureret kode.
I slutningen af forløbet skal eleverne aflevere deres andet projekt.
|
Indhold
|
Kernestof:
|
Omfang
|
Estimeret:
Ikke angivet
Dækker over:
15 moduler
|
Særlige fokuspunkter
|
|
Væsentligste arbejdsformer
|
|
Titel
9
|
Rekursion
Eleverne lærer om konceptet rekursion gennem simple eksempler. De ser nogle YouTube-videoer med det formål at forstå konceptet bedre. Til sidst prøver eleverne med problemer, såsom Von Kochs snefnug. Forløbet er meget kort.
|
Indhold
|
Kernestof:
|
Omfang
|
Estimeret:
2,00 moduler
Dækker over:
2 moduler
|
Særlige fokuspunkter
|
|
Væsentligste arbejdsformer
|
|
Titel
10
|
Selvvalgt_Projekt__Java
Formålet med dette forløb er at give eleverne frihed til at udforske deres egne interesser inden for programmering og anvende de færdigheder, de har opnået, i praksis. Forløbet giver eleverne mulighed for at arbejde selvstændigt og vælge deres egne projekter. Eleverne vil blive opfordret til at udvikle projekter, der involverer komplekse logiske strukturer og avancerede brugergrænseflader samt fokusere på en god kodestandard og struktureret opbygning. I løbet af forløbet vil de få vejledning og feedback, men det vil primært være op til dem selv at definere, designe og implementere deres projekter.
Forløbet afsluttes med, at eleverne præsenterer deres projekter, hvilket vil hjælpe dem med at forberede sig til den mundtlige eksamen, hvis de skal op til eksamen.
|
Indhold
|
Kernestof:
|
Omfang
|
Estimeret:
Ikke angivet
Dækker over:
3 moduler
|
Særlige fokuspunkter
|
|
Væsentligste arbejdsformer
|
|
Titel
11
|
EksammensProjekt
Eleverne arbejder i grupper af 2-3 personer på et selvvalgt projekt inden for et tema valgt af læreren, over cirka 20 undervisningstimer (svarende til ca. 14 moduler). Projektet omfatter alle fagets læringsmål. Først udarbejder eleverne en projektbeskrivelse, som skal godkendes af læreren. I løbet af forløbet giver læreren feedback til grupperne med fokus på statusopdateringer, prototypetest, kodegennemgang og løsning af aktuelle problemer.
|
Indhold
|
Kernestof:
|
Omfang
|
Estimeret:
14,00 moduler
Dækker over:
19 moduler
|
Særlige fokuspunkter
|
|
Væsentligste arbejdsformer
|
|
Titel
12
|
opsamling
Vi gennemgår vigtige koncepter og nogle eksamensopgaver.
|
Indhold
|
Kernestof:
|
Omfang
|
Estimeret:
Ikke angivet
Dækker over:
3 moduler
|
Særlige fokuspunkter
|
|
Væsentligste arbejdsformer
|
|
Titel
13
|
Introduktion til java
|
Indhold
|
|
Omfang
|
Estimeret:
11,00 moduler
Dækker over:
0 moduler
|
Særlige fokuspunkter
|
|
Væsentligste arbejdsformer
|
|
{
"S": "/lectio/523/stamdata/stamdata_edit_student.aspx?id=666\u0026prevurl=studieplan%2fuvb_hold_off.aspx%3fholdid%3d56490914087",
"T": "/lectio/523/stamdata/stamdata_edit_teacher.aspx?teacherid=666\u0026prevurl=studieplan%2fuvb_hold_off.aspx%3fholdid%3d56490914087",
"H": "/lectio/523/stamdata/stamdata_edit_hold.aspx?id=666\u0026prevurl=studieplan%2fuvb_hold_off.aspx%3fholdid%3d56490914087"
}