Hovedforløb 1
Mål for undervisningen
Formålet med H1 er at give eleverne et solidt fundament i grundlæggende programmering og relaterede teknologier, som de kan anvende i et samlet, helhedsorienteret projekt. Efter forløbet skal eleven kunne:
- Udvikle grundlæggende applikationer i C# ved brug af objektorienterede principper.
- Designe og anvende relationelle databaser med SQL.
- Forstå netværkskommunikation og HTTP-protokoller.
- Implementere brugervenlige brugergrænseflader med Blazor.
- Arbejde i teams ved brug af SCRUM-metodologi og GitHub til versionsstyring.
- Dokumentere og reflektere over arbejdsprocessen og det færdige produkt.
Indhold i undervisningen
Undervisningen kombinerer teori og praksis gennem følgende hovedtemaer:
- Grundlæggende programmering – variabler, datatyper, kontrolstrukturer, metoder, debugging og grundlæggende OOP i C#.
- Netværk og kommunikation – klient/server-arkitektur, OSI-modellen og HTTP-protokoller.
- Objektorienteret programmering (OOP) – klasser, arv, polymorfi, interfaces, indkapsling og UML.
- Databasedesign og integration – relationelle databaser, SQL, CRUD-operationer og integration med applikationer (ADO.NET).
- Frontend-udvikling med Blazor – databinding, komponenter, routing, HTML, CSS, Bootstrap og JavaScript-integration.
- Projektstyring og samarbejde – introduktion til SCRUM, sprint-planlægning, retrospektiver og versionsstyring med GitHub.
Projektet Niche Markedsplads danner rammen om forløbet, hvor eleverne udvikler en webapplikation med CRUD-funktionalitet, backend i C#, databaseintegration, samt en Blazor-baseret frontend.
Helhedsorientering
Alle fagspecifikke H1-fag integreres i projektarbejdet, så eleverne oplever en sammenhæng mellem teori og praksis. Projektet struktureres som en erhvervsnær opgave, hvor udviklingsprocessen spejler branchens arbejdsgange fra idé til færdigt produkt.
Praksisrelation
Forløbet er tilrettelagt med fokus på at spejle professionelle udviklingsprocesser. Eleverne arbejder med værktøjer som Visual Studio, GitHub, PostgreSQL og Blazor i et setup, der minder om virkelige udviklingsprojekter. Projektarbejdet følger SCRUM-principper med sprintplanlægning, standups og løbende feedback, så eleverne opnår erfaring med moderne samarbejdsformer i softwareudvikling.
Tværfaglighed
Forløbet kombinerer fagområderne programmering, databasedesign, netværk, frontend-udvikling og projektstyring. Eleverne lærer at integrere teknologier og metoder på tværs af fagene for at skabe en samlet løsning, der fungerer både teknisk og brugermæssigt.
Differentiering
Eleverne arbejder i selvvalgte grupper og kan tilpasse projektets kompleksitet og retning i dialog med underviseren. Der tilbydes supplerende opgaver og udfordringer for elever, der ønsker at fordybe sig yderligere, fx spilprojekter (Minestryger, Find the Cat), ekstra OOP-øvelser, eller automatiseringsopgaver med Selenium.
Evaluering og bedømmelse
-
Læringsaktivitet Grundlæggende programmering – 72 Lektioner
Læringsmål
Indholdselementer
Feedback/bedømmelseskriterier
Du kan/har:
- designe og udvikle konsolprogrammer ud fra case-beskrivelser
- anvende et C# til at oprette, fejlfinde og teste mindre konsolapplikationer
- forstå datatyper
- anvende kontrolstrukturer metoder, variabler og konstanter i deres programmer
- dokumentere kode med kommentarer og versionsstyring
Teoretisk del:
Eksempler på:
- Informations- og dokumentations-søgning
- Kravspecifikationer
- Grundlæggende fejlfinding og debugging
- Testmetoder og værktøjer
- Metoder, arrays & kontrol-strukturer
Praktisk del:
- Udvikling af varierede og enkle konsolbaserede programmer i C#
- Dagsbaserede opgaver fra Microsoft Learn.
- Grundlæggende GitHub
I dette forløb er underviserne særligt opmærksomme på og giver feedback på følgende
- Løbende mundtlig feedback på lærlingens evne til at planlægge og designe konsolprogrammer
- evne til at identificere og rette fejl i konsolapplikationer
Ved bedømmelsen af aktiviteten/forløbet/projektet lægges der især vægt på:
- evne til at gennemføre hele softwareudviklingscyklussen fra design til test
- evne til at begrunde valgte løsninger og beskrive udviklingsprocessen
- implementering af versionsstyring og fejlfindingsteknikker
-
Læringsaktivitet Netværk I – 72 Lektioner
Læringsmål
Indholdselementer
Feedback/bedømmelseskriterier
Du kan/har:
- Designe og implementere effektive netværksløsninger, der opfylder specifikke krav
- Administrere og konfigurere VLAN'er og routing i komplekse netværksmiljøer.
- Sikre netværk, redundans og pålidelighed ved hjælp af forskellige protokoller og metoder
- Udføre fejlfinding og diagnosticering af netværks-problemer og implementere sikkerhedstiltag.
- Grundlæggende forståelse af layer 2 og Layer 3.
Teoretisk del:
-
OSI-modellen
-
Grundlæggende principper for netværksdesign, herunder netværksaktitektur, protokoller og komponenter.
-
Forståelse af routing og switching, herunder VLAN, IP-routing og Layer 2-switching
-
Praktisk del:
-
Hands-on øvelser med at oprette og konfigurere VLAN'er, routing og Layer 3-switche.
-
Arbejder med at lave egen webserver i C#
-
I dette forløb er underviserne særligt opmærksomme på og giver feedback på
-
elevens engagement
-
elevens nysgerrighed
-
elevens arbejde med CCNA læringsmateriale
-
-
Ved bedømmelsen af forløbet lægges der især vægt på
-
Elevernes evne til at forstå pensum fra Cisco og relatere det til softwareudvikling
-
-
Læringsaktivitet Clientsideprogrammering – 36 Lektioner
Læringsmål
Indholdselementer
Feedback/bedømmelseskriterier
Du har/kan
-
Oprette websider ved hjælp af HTML, CSS og Bootstrap-frameworket til at skabe ensartede og responsive brugergrænseflader
-
forklare begreberne i Client-Server-modellen og har en forståelse af HTTP-protokollen
- oprette HTML-dokumenter med korrekt struktur og semantik, herunder brug af de rigtige HTML-elementer til specifikke formål
Teoretisk del:
-
Client-Server-modellen, herunder hvordan klienter og servere kommunikerer via HTTP-protokollen
-
Semantisk HTML og Bootstrap
-
UX og HCI introduktion
Praktisk del:
-
Agilt projektarbejde på en webfrontend; fra simpelt til mere kompliceret design.
-
Daglige opgaver, fremlæggelser og feedback loops i grupper såvel plenum.
-
Vi bruger et fælles udgangspunkt C#, Blazor med Bootstrap og MSSQL til projektarbejde.
I dette forløb er underviserne særligt opmærksomme på og giver feedback på følgende:
-
Samarbejde i gruppen
-
Engagement
-
Nysgerrighed
Ved bedømmelsen af aktiviteten/forløbet/projektet lægges der især vægt på:
-
Elevens evne til at gå fra simpel statisk enkelt-side til mere avanceret/dynamisk implementering
-
Kvalificering af egne valg
-
-
Læringsaktivitet Databaseprogrammering,
Serverteknologi Databaseserver & Computerteknologi - 108 lektioner
Læringsmål
Indholdselementer
Feedback/bedømmelseskriterier
Du har/kan:
-
Kendskab til serveropsætning og drift, særligt ift web og db server
-
Bruge SQL til at oprette, ændre og aflæse data i en lokal database på din computer
-
Redegøre for forskellige relationstyper mellem database-tabeller og forstå deres betydning i design af effektive databaser.
-
Installere og konfigurere Visual Studio så man kan afvikle og udvikle på webserver, database og applikationsniveau.
-
route til forskellige websider baseret på domænenavne
Teoretisk del:
- Grundlæggende principper for databaseadministration og sikkerhed, serveropsætning & drift
- Introduktion til relationelle database og alternativer.
- Praktisk del:
-
SQL-øvelser: SELECT, INSERT, UPDATE, DELETE, WHERE, JOIN
-
Skrive scripts til at automatisere gentagne databaseopgaver og samle dit arbejde i scripts, som kan genanvendes.
-
installere og konfigurere Internet Information Services en MSSQL database, enten lokalt eller via Azure el.lign.
I dette forløb er underviserne særligt opmærksomme på og giver feedback på følgende:
-
Elevens forståelse af grundlæggende databaseadministrationsprincipper og webserver-funktionalitet
-
Elevens evne til at forklare konceptet bag relationelle databaser
-
Evne til at lave/forklare/arbejde med simple CRUD operationer.
Ved bedømmelsen af aktiviteten/forløbet/projektet lægges der især vægt på:
-
Elevens evne til at oprette, ændre og aflæse data i en lokal database samt udføre komplekse databaseforespørgsler.
-
Elevens evne til at anvende SQL korrekt og effektivt
-
Elevens evne til at illustrere og forklare database-relationstyper med eksempler i en frontend.
-
-
Læringsaktivitet Objektorienteret programmering - 72 lektioner
Læringsmål
Indholdselementer
Feedback/bedømmelseskriterier
Du har/kan:
-
Forstå og anvende objektorienteret programmering (OOP) koncepter til at strukturere softwareprojekter
-
Arbejde med klasser til at oprette og bruge objekter
-
Definere og designe dine egne klasser
-
Udarbejde en applikation, der benytter OOP-konceptet effektivt
Teoretisk del:
-
Grundlæggende OOAD og OOP koncepter
-
Fordele ved anvendelse af OOP i softwareudvikling
Praktisk del:
-
Oprettelse af klasser og objekter i C#
-
Implementering af grundlæggende OOP-koncepter i en praktisk applikation
-
Anvendelse af lists, arrays mv til at organisere data
-
Implementering af abstrakte klasser og metoder
I dette forløb er underviserne særligt opmærksomme på og giver feedback på følgende:
-
Elevens forståelse af objektorienterede programmeringskoncepter
-
Evnen til at designe og strukturere softwareprojekter ved hjælp af klasser og objekter.
Ved bedømmelsen af aktiviteten/forløbet/projektet lægges der især vægt på:
-
Elevens evne til at implementere OOP-koncepterne i praksis, herunder oprettelse af klasser og objekter
-
Elevens evne til at inkorporere OOP i design og analyse.
-
-
Senest opdateret 5/12/23 af Peter Jones
Hovedforløb 2
Mål for undervisningen
Formålet med H2 er at bygge videre på elevernes grundlæggende færdigheder fra H1 og give dem kompetencer til at udvikle komplekse, skalerbare systemer med integration af backend, database og frontend. Efter forløbet skal eleven kunne:
- Udvikle skalerbare backend-systemer ved hjælp af ORM (Entity Framework).
- Designe og implementere databaser med avancerede relationer.
- Udvikle responsive og brugervenlige frontends i Blazor.
- Arbejde med API-design og integration til dataudveksling.
- Anvende SCRUM som metode til planlægning, udvikling og evaluering.
- Dokumentere og præsentere arbejdsproces og produkt, både teknisk og forretningsmæssigt.
Indhold i undervisningen
Undervisningen kombinerer teori og praksis gennem:
- Backend-programmering – API-design, forretningslogik, validering, asynkron programmering og sikkerhed.
- Databaseudvikling – avancerede SQL-operationer, relationer (1:1, 1:mange, mange:mange), constraints, triggers og stored procedures med ORM-integration via Entity Framework.
- Frontend-udvikling – dynamiske grænseflader, navigation, datavisualisering og brugerinputvalidering i Blazor.
- Projektstyring – SCRUM, sprintplanlægning, backlog-håndtering og retrospektiver.
- Test og kvalitetssikring – automatiserede tests, fejlhåndtering og optimering af brugeroplevelsen.
Forløbet kulminerer i udviklingen af Hotelbookingsystemet, hvor eleverne udvikler et komplet system med rollebaseret login, reservationsstyring og API-integration.
Helhedsorientering
Fagene backend-programmering, databaseudvikling og frontend-udvikling bindes sammen i projektarbejdet. Eleverne arbejder med en realistisk case, hvor alle dele af udviklingsprocessen – fra idé, over design og implementering, til test og præsentation – integreres i et sammenhængende forløb.
Praksisrelation
Projektet tager udgangspunkt i en problemstilling, der er direkte overførbar til erhvervslivet: udviklingen af et bookingsystem med høj dataintegritet, sikkerhed og skalerbarhed. Eleverne arbejder med professionelle værktøjer som Visual Studio, GitHub, Blazor, Postman, Docker/Azure og Entity Framework – og organiserer arbejdet efter branchens standarder for agil udvikling.
Tværfaglighed
Projektet integrerer viden og færdigheder fra backend-programmering, databasesystemer, frontend-design, serveradministration og projektstyring. Der arbejdes også med relaterede emner som API-design, sikkerhed, cloudhosting, betalingsintegrationer og brugeroplevelsesoptimering.
Differentiering
Opgaver og projektdele tilpasses elevernes niveau gennem:
- Varierende kompleksitet i funktionalitet (fx enkelt- vs. multi-hotel system).
- Mulighed for at tilføje ekstra funktioner som betalingsintegration, loyalitetsprogrammer eller sæsonbaserede priser.
- Supplerende opgaver som visualisering af API-data, algoritmeudvikling (korteste rute, nærmeste punkt) og spiludvikling (Gæt flaget).
Evaluering og bedømmelse
-
Læringsaktivitet OOP, DB & GUI – 72+72+36 Lektioner
Læringsmål
Indholdselementer
Feedback/bedømmelseskriterier
Du kan/har:
- arbejde projektorienteret ud fra en udleveret case
- dokumentere dit arbejde skriftligt i form af en rapport
- anvende avancerede OOP koncepter i dit udviklingsarbejde
- arbejde med klasser, objekter og metoder
-
beskrive en klassestruktur i dit arbejde ved hjælp af et UML class diagram
- forklare hvordan OOP kan anvendes til at strukturere software
- implementere GUI i et professionelt grafisk udviklingsmiljø
- koble dit GUI sammen med bagvedliggende objektorienteret kode
- udvikle et grafisk interface til Windows platformen
- beskrive en database struktur med et E/R og/eller et UML diagram
- forbinde en C# applikation til en SQL database
- anvende et stort antal forskellige SQL kommandoer i dine database scripts
Teoretisk del:
Eksempler på:
- Grundlæggende opsætning, udvikling og drift
- Udviklingsværktøj og frameworks, fx Visual Studio
- Anvendelse af UML-diagrammer
- Introduktion til grafisk brugergrænsefladedesign
- Udvikling af brugergrænseflader i C# med Windows Forms eller WPF
Praktisk del:
- Løbende eksperimenter med det grundlæggende og manuelle over et projekt.
- Gå fra det manuelle, grundlæggende og konceptuelle til et avanceret løsningsdesign ift en given projekt-case.
- At gå fra manuel opsætning af MS SQL til opsætning og vedligehold med Entity Framework.
I dette forløb er underviserne særligt opmærksomme på og giver feedback på følgende
- Løbende mundtlig feedback på elevernes motivation og nysgerrighed
- Elevens evne til at anvende OOP-principper i C#-koden.
- Anvendelse af UML diagrammer, og formidling af samme
Ved bedømmelsen af aktiviteten/forløbet/projektet lægges der især vægt på:
- Elevens interesse og tilgang til at eksperimentere, forklare og forbedre evner indenfor OOAD og OOP.
-
Læringsaktivitet Clientsideprogrammering – 72 Lektioner
Læringsmål
Indholdselementer
Feedback/bedømmelseskriterier
Du kan/har:
-
ud fra en case, designe, udvikle, teste og dokumentere en clientside baseret webløsning
-
tilgå en JSON API og præsentere data med C#/JavaScript, HTML, CSS og Bootstrap
-
præsenterer indhold med mere avancerede principper via responsivt design, lister, links, tabeller og semantik og DOM manipulation
Teoretisk del:
-
UX og UI best-practice
-
Semantisk HTML og HTML5
-
Clientside vs serverside udvikling
- Bootstrap framework
- Kommunikation med API
Praktisk del:
-
Udvikling af clientside-applikation baseret på en given case
-
Testmetoder og værktøjer til clientside-applikationer
-
DOM manipulation
-
I dette forløb er er underviserne særligt opmærksomme på og giver feedback på
-
om eleven udfordrer sig selv og er nysgerrig ift muligheder/alternativer
-
-
Ved bedømmelsen af forløbet lægges der især vægt på
-
Kvaliteten af clientside webapplikation
-
-
-
Læringsaktivitet Serveradministration/sikkerhed Serverteknologi Service Management – 108 Lektioner
Læringsmål
Indholdselementer
Feedback/bedømmelseskriterier
Du har/kan
-
opsætte og administrere active directory
-
programmere automatisk backup af sin server, såvel flytte og håndtere backup af databaser
-
administrere brugerkonti på en server
-
Implementere et client/server system
-
grundlæggende forståelse for sikkerhedsmekanismer, såsom brugerstyring, firewalls og diskkryptering
-
redegøre for 1st level support og de dertilhørende roller
-
skelne mellem service requests og fejlmeldinger
-
udforme og følge en fremgangsmåde i forhold til løsning af service requests og fejlmeldinger
Teoretisk del:
-
Serveradministration, netværkskoncepter og sikkerhed
- Grundlæggende forståelse af servicemanagement
- DHCP, DNS, netværks- og serveropsætning
Praktisk del:
-
grupper implementerer et server-miljø der kan håndtere alle dele af projekt-casen
-
Der opsættes på netværk DHCP, DNS, IIS og MSSSQL miljø der simulerer webarkitektur der ligner virkeligheden.
I dette forløb er underviserne særligt opmærksomme på og giver feedback på følgende:
-
Samarbejde og nysgerrighed
Ved bedømmelsen af aktiviteten/forløbet/projektet lægges der især vægt på:
-
Elevens forståelse af serverteknologi, servicemanagement og sikkerhed
- viden om serveradministration og sikkerhedsprincipper
- formidlingen af ovenstående i overhøring, såvel i hvor høj grad det praktisk arbejde kan bruges i det videre projekt-arbejde, fx ved brug af ekstern DB.
-
Hovedforløb 3
Mål for undervisningen
H3 har til formål at give eleverne kompetencer til at designe og implementere komplette IoT-løsninger, hvor hardware, backend og frontend integreres i én samlet løsning. Efter forløbet skal eleven kunne:
- Integrere IoT-enheder med backend og database.
- Designe og udvikle API’er til realtidsdataudveksling.
- Udvikle dashboards med visualisering og kontrol af IoT-enheder.
- Arbejde med sikkerhed, dataintegritet og skalerbarhed i IoT-systemer.
- Dokumentere og præsentere en helhedsorienteret løsning, både teknisk og funktionelt.
Indhold i undervisningen
-
-
Indhold i undervisningen
Undervisningen kombinerer teori og praksis med fokus på:
- IoT og hardwareprogrammering – arbejde med Arduino MKR IoT kit, sensorer og aktuatorer, inkl. C++-programmering.
- Backend og API-udvikling – RESTful API’er i C#/.NET, CRUD-operationer, sikkerhed (HTTPS) og integration med database via Entity Framework.
- Databaseudvikling – relationelle databaser, avanceret SQL, ORM-integration.
- Frontend og dashboard – realtidsvisualisering af sensordata og styring af aktuatorer.
- Sikkerhed og performance – kryptering, beskyttelse mod angreb, skalerbarhed og pålidelighed.
- Projektstyring – anvendelse af SCRUM med sprints, standups, sprint reviews og retrospektiver.
Forløbet kulminerer i projektet Interaktiv IoT Platform, hvor eleverne udvikler et system, der indsamler sensordata, styrer aktuatorer, gemmer data i en database og visualiserer det i et webbaseret dashboard.
Helhedsorientering
Fagområderne serversideprogrammering, databaseudvikling, GUI-programmering, IoT og sikkerhed bindes sammen i et integreret projektforløb. Eleverne arbejder med alle udviklingsfaser – fra idé og hardwareopsætning over backend/databasedesign til frontend og test – i en realistisk case.
Praksisrelation
Projektet tager afsæt i et scenarie, som ligner opgaver i virksomheder, der arbejder med IoT, automatisering eller smarte systemer. Eleverne arbejder med professionelt udstyr (Arduino MKR WiFi 1010, sensorer, aktuatorer) og brancherelevante værktøjer som Visual Studio, GitHub, Blazor, Postman og Azure/Docker.
Tværfaglighed
Projektet kræver viden og færdigheder fra:
- Hardware- og softwareintegration.
- Backend- og API-udvikling.
- Databasehåndtering og ORM.
- Frontend/UI-udvikling.
- Sikkerhed, performanceoptimering og projektstyring.
Dette giver eleverne indsigt i hele udviklingskæden – fra fysisk enhed til brugerens dashboard.
Differentiering
Eleverne kan tilpasse projektets kompleksitet ved at:
- Tilføje flere sensorer og aktuatorer end minimumskravet.
- Udvide dashboardets funktioner med avanceret filtrering, historiske data og brugerroller.
- Implementere ekstra sikkerhedslag eller skalérbarhedsfunktioner.
- Integrere cloud-løsninger og tredjeparts API’er.
-
Evaluering og bedømmelse
-
Læringsaktivitet Teoretisk grundlag – 108 Lektioner
Læringsmål
Indholdselementer
Feedback/bedømmelseskriterier
Du kan/har:
-
- Kendskab til forløbets valgte udviklingsværktøj
- Kendskab til design af brugerinterfaces i mobile applikationer ved brug af SPA
- Forståelse for 3 lags-arkitektur.
- Kan implementere en database i en 3 lags arkitektur.
- Kendskab til User Stories begrebet
- Kendskab til kommunikation mellem en klientapplikation og en server
- Kendskab til sikkerhed herunder krypteringsformer
- Kendskab til udviklingsmetodikker
- Kendskab til softwaretest begreber
- Kendskabt til målsætningen med IoT og IIoT.
- Kendskab til integrationsmuligheder med IoT/IIoT på nuværende systemer, som f.eks. produktionssystemer.
- Kendskab til implementering af et IOT system i en clinet server miljø.
-
Teoretisk del:
- Udviklingsværktøj til apps der kan fungere på alle platforme.
- Brugerinterface til mobiltelefon
- Anvendelse af sensorer på mobiltelefoner
- Kommunikation mellem klientapplikation, server og database
- Sikring af applikationer
Praktisk del:
- Løbende eksperimenter og små opgaver hvor eleverne arbejder med prototyping ud fra de ovenstående beskrevne indholdselementer
- Erfaringsudveksling fra prototypearbejdet eleverne imellem i form af præsentationer.
- Programmere embeddede IOT enheder således at de kan integreres i en samlet løsning.
-
I dette forløb er er underviserne særligt opmærksomme på og giver feedback på
-
Samarbejde i gruppen
-
-
Ved bedømmelsen af forløbet lægges der især vægt på
-
Elevens færdigheder til skriftlig fremstilling af case og kravspecifikationen, med fokus på User Case..
-
-
-
-
Læringsaktivitet Implementering – 180 Lektioner
Læringsmål
Indholdselementer
Feedback/bedømmelseskriterier
Du har/kan
-
Arbejde i et Team
-
Arbejde efter Scrum metoden
-
Implementere et software projekt ud fra en kravspecifikation
-
Implementere et client/server system sammen med IOT og IIOT
-
Kan implementere et system med fokus på sikkerhed (login/kryptering)
-
Værdsætte et godt holdarbejde
Teoretisk del:
-
Agile metoder
-
Scrum metoden
-
Serverside programmering
-
Softwaretest og Sikkerhed
Praktisk del:
-
Gruppen implementerer det specificerede projekt efter Scrum metoden
-
Der afholdes daglige teammøder med deltagelse af underviseren. Under projektfasen holdes der daglig scrum.
I dette forløb er underviserne særligt opmærksomme på og giver feedback på følgende:
-
Samarbejde i gruppen
Ved bedømmelsen af aktiviteten/forløbet/projektet lægges der især vægt på:
-
Elevens evne til at indgå i et team, hvor eleverne udnytter hinandens styrker.
-
Processen i arbejdet med Scrum Metoden
-
Processen i arbejdet med Implementering
-
-
-
Samarbejdet i gruppen
Læringsaktivitet Test og præsentation – 36 Lektioner
Læringsmål
Indholdselementer
Feedback/bedømmelseskriterier
Du har/kan:
-
Præsentere et projekt
-
Forklare virkemåden af løsningen
-
Argumentere for de valg der er truffet undervejs i udviklingen
-
Gennemføre en accepttest som dokumentere hvilke dele af kravspecifikationen der er implementeret og hvilke der ikke er implementeret
Teoretisk del:
- Ingen teori
Praktisk del:
-
Eleverne præsentere resultatet af deres arbejde gruppevis for resten af holdet.
-
Eleverne laver individuelt en video aflevering, hvor de demonstrere løsningen og forklarer hvordan alle dele af koden fungerer, også de dele som de ikke selv har skrevet.
-
Video afleveringen skal indeholde elevernes egen evaluering af Scrum forløbet, og deres mening om hvad var godt/skidt, og hvad kunne gøres bedre i samarbejdet i gruppen
-
Eleverne gennemfører en demonstration af deres løsning, gerne hvor de andre elever på holdet kan prøve løsningen (f.eks. et spil)
I dette forløb er underviserne særligt opmærksomme på og giver feedback på følgende:
-
Samarbejdet i gruppen
-
Præsentationen af gruppens arbejde
Ved bedømmelsen af aktiviteten/forløbet/projektet lægges der især vægt på:
-
Elevens evne til at indgå i et selvstyrende scrum team.
-
Resultatet af projektet. Hvis gruppen ikke har implementeret alt det som var planlagt/aftalt i kravspecifikationen, er det vigtig at gruppen forklarer hvad der ikke er implementeret, hvorfor og hvad der er valgt at gøre i stedet.
-
Hovedforløb 4
Mål for undervisningen
H4 har til formål at give eleverne kompetencer til at designe og udvikle cross-platform mobile applikationer med Flutter, hvor backend-integration, API-kommunikation og offline funktionalitet indgår. Efter forløbet skal eleven kunne:
- Designe og udvikle mobilapplikationer med Flutter.
- Integrere API’er til kommunikation med backend-systemer.
- Implementere offline funktionalitet via lokal datalagring.
- Gennemføre test og debugging for at sikre kvalitet, stabilitet og sikkerhed.
- Dokumentere og præsentere både arbejdsproces og færdigt produkt.
Indhold i undervisningen
-
-
Indhold i undervisningen
Undervisningen kombinerer teori, øvelser og projektarbejde med fokus på:
- Mobile app-udvikling – Flutter og Dart, widgetstruktur, navigation og UI-design.
- Backend-integration – RESTful API’er i C#/.NET, CRUD-operationer, sikkerhed med JWT, hosting i Docker.
- Lokal datalagring – SQLite eller lignende, synkronisering mellem lokal lagring og backend.
- Test og sikkerhed – automatiserede tests, rollebaseret adgang, beskyttelse mod datalækage.
- Projektstyring – SCRUM med sprint-planlægning, reviews og retrospektiver.
Forløbet kulminerer i projektet Mobil kundestyringsapp, hvor eleverne udvikler en cross-platform løsning med online/offline funktioner, API-integration og brugervenligt design.
Helhedsorientering
Forløbets fagområder – GUI-programmering, programmeringsmetodik, serversideprogrammering, softwaretest og databasearbejde – bindes sammen i et projekt, der simulerer en reel kundeopgave. Eleverne arbejder med hele udviklingskæden fra kravspecifikation til levering.
Praksisrelation
Projektet afspejler branchens krav til mobile løsninger, herunder API-integration, lokal datalagring og responsive brugergrænseflader. Eleverne bruger brancherelevante værktøjer som Flutter SDK, Visual Studio Code, Postman, GitHub og Docker. Kundedialog simuleres gennem faste møder med "Product Owner" (underviser).
Tværfaglighed
Projektet kræver viden og færdigheder fra:
- Mobiludvikling og UI/UX-design.
- Backend- og API-udvikling.
- Databaseteknologi og lokal lagring.
- Test, kvalitetssikring og sikkerhed.
- Projektstyring med SCRUM.
Differentiering
Projektets kompleksitet kan tilpasses ved at:
- Tilføje integration med enhedsspecifik hardware (GPS, kamera, sensorer).
- Implementere push-notifikationer og udvidet offline logik.
- Tilføje ekstra funktioner som filtrering, analyser eller integration med eksterne API’er.
- Udvide teststrategien med automatiserede integrationstests og performance-tests.
-
Evaluering og bedømmelse
-
Læringsaktivitet Teoretisk grundlag – 108 Lektioner
Læringsmål
Indholdselementer
Feedback/bedømmelseskriterier
Du kan/har:
- Kendskab til forløbets valgte udviklingsværktøj
- Kendskab til design af brugerinterfaces i mobile applikationer
- Kendskab til User Stories begrebet
- Kendskab til kommunikation mellem en klientapplikation og en server
- Kendskab til sikkerhed herunder krypteringsformer
- Kendskab til udviklingsmetodikker
- Kendskab til softwaretest begreber
Teoretisk del:
Eksempler på:
- Udviklingsværktøj til mobile apps
- Brugerinterface til mobiltelefon
- Anvendelse af sensorer på mobiltelefoner
- Kommunikation mellem klientapplikation og server
- Sikring af applikationer
Praktisk del:
- Løbende eksperimenter og små opgaver hvor eleverne arbejder med prototyping ud fra de ovenstående beskrevne indholdselementer
- Erfaringsudveksling fra prototypearbejdet eleverne imellem i form af præsentationer.
I dette forløb er underviserne særligt opmærksomme på og giver feedback på følgende
- Løbende mundtlig feedback på elevernes motivation og nysgerrighed på at arbejde med prototyping
Ved bedømmelsen af aktiviteten/forløbet/projektet lægges der især vægt på:
- Elevens interesse og tilgang til at eksperimentere med prototyping
-
Læringsaktivitet Implementering – 108 Lektioner
Læringsmål
Indholdselementer
Feedback/bedømmelseskriterier
Du har/kan
-
Arbejde i et Team
-
Arbejde efter Scrum metoden
-
Implementere et software projekt ud fra en kravspecifikation
-
Implementere et client/server system
-
Kan implementere et system med fokus på sikkerhed (login/kryptering)
-
Værdsætte et godt holdarbejde
Teoretisk del:
-
Agile metoder
-
Scrum metoden
-
Serverside programmering
-
Softwaretest og Sikkerhed
Praktisk del:
-
Gruppen implementerer det specificerede projekt efter Scrum metoden
-
Der afholdes daglige teammøder med deltagelse af underviseren
I dette forløb er underviserne særligt opmærksomme på og giver feedback på følgende:
-
Samarbejde i gruppen
Ved bedømmelsen af aktiviteten/forløbet/projektet lægges der især vægt på:
-
Elevens evne til at indgå i et team, hvor eleverne udnytter hinandens styrker.
-
Processen i arbejdet med Scrum Metoden
-
Processen i arbejdet med Implementering
-
-
-
Samarbejdet i gruppen
Læringsaktivitet Valgfrit Speciale – 108 Lektioner (Core Applications + User Interface Design)
Læringsmål
Indholdselementer
Feedback/bedømmelseskriterier
Du har/kan:
-
Arbejde og forstå trelagsmodellen
-
Udskifte et lag i modellen, baseret på produktet der er udviklet de sidste 7 uger
-
Argumentere for de valg der er truffet undervejs i udviklingen
-
Gennemføre en test der dokumenterer hvilke User Stories som er implementeret
Teoretisk del:
- Trelagsmodellen
Praktisk del:
-
Udskift mobilapp med SPA GUI i det eksisterende projekt.
I dette forløb er underviserne særligt opmærksomme på og giver feedback på følgende:
-
Samarbejdet i gruppen
-
Præsentationen af gruppens arbejde
Ved bedømmelsen af aktiviteten/forløbet/projektet lægges der især vægt på:
-
Elevens evne til at indgå i et selvstyrende scrum team.
-
Resultatet af projektet. Hvis gruppen ikke har implementeret alt det som var planlagt/aftalt i kravspecifikationen, er det vigtig at gruppen forklarer hvad der ikke er implementeret, hvorfor og hvad der er valgt at gøre i stedet.
-
-
-
Samarbejdet i gruppen
Læringsaktivitet Test og præsentation – 36 Lektioner
Læringsmål
Indholdselementer
Feedback/bedømmelseskriterier
Du har/kan:
-
Præsentere et projekt
-
Forklare virkemåden af løsningen
-
Argumentere for de valg der er truffet undervejs i udviklingen
-
Gennemføre en test der dokumenterer hvilke User Stories som er implementeret
Teoretisk del:
- Ingen teori
Praktisk del:
-
Eleverne præsentere resultatet af deres arbejde gruppevis for resten af holdet.
-
Eleverne laver individuelt en video aflevering, hvor de demonstrere løsningen og forklarer hvordan alle dele af koden fungerer, også de dele som de ikke selv har skrevet.
-
Video afleveringen skal indeholde elevernes egen evaluering af Scrum forløbet, og deres mening om hvad var godt/skidt, og hvad kunne gøres bedre i samarbejdet i gruppen
-
Eleverne gennemfører en demonstration af deres løsning, gerne hvor de andre elever på holdet kan prøve løsningen
I dette forløb er underviserne særligt opmærksomme på og giver feedback på følgende:
-
Samarbejdet i gruppen
-
Præsentationen af gruppens arbejde
Ved bedømmelsen af aktiviteten/forløbet/projektet lægges der især vægt på:
-
Elevens evne til at indgå i et selvstyrende scrum team.
-
Resultatet af projektet. Hvis gruppen ikke har implementeret alt det som var planlagt/aftalt i kravspecifikationen, er det vigtig at gruppen forklarer hvad der ikke er implementeret, hvorfor og hvad der er valgt at gøre i stedet.
-
Hovedforløb 5
Mål for undervisningen
Formålet med H5 er at give eleverne avancerede kompetencer inden for Linux-administration, embedded systemer, IoT og Big Data, samt at træne dem i at anvende disse teknologier i en helhedsorienteret udviklingsopgave.
Efter forløbet skal eleven kunne:
- Opsætte, konfigurere og sikre Linux-baserede servere og embedded enheder.
- Udvikle og implementere IoT-løsninger med dataindsamling, overførsel og behandling.
- Etablere en Big Data-pipeline til lagring, analyse og visualisering af data.
- Integrere teknologierne i et samlet projekt med kravspecifikation, dokumentation og præsentation.
- Arbejde selvstændigt og i teams med projektstyring og procesrefleksion.
Indhold i undervisningen
Indhold i undervisningen
Undervisningen kombinerer teori, praksis og projektarbejde i tre teknologispor efterfulgt af en mini-svendeprøve:
- Linux på server og embedded enheder – opsætning af Ubuntu-server, brugeradministration, netværk, sikkerhed, containerisering (Docker) og arbejde med embedded Linux-platforme.
- Embedded Systemer og IoT – programmering af Arduino/BeagleBone Black, sensorintegration, dataoverførsel til server, sikkerhed i IoT-løsninger.
- Big Data – opbygning af data pipelines med Kafka/RabbitMQ, lagring i SQL/NoSQL-databaser (inkl. timescaleDB), visualisering med dashboards (Dash, Grafana m.fl.).
- Mini-svendeprøveprojekt – 4-ugers gruppeprojekt med integration af alle tidligere lærte elementer, fra kravspecifikation til produktlevering og præsentation.
Helhedsorientering
H5 er bygget op omkring et integreret projektforløb, hvor de tre teknologispor (Linux, IoT, Big Data) bidrager direkte til en samlet løsning. Projektet fungerer som en realistisk opgave, der forbereder eleverne på svendeprøvens krav til teknisk dybde, dokumentation og samarbejde.
Praksisrelation
Alle øvelser og projekter tager udgangspunkt i brancherelevante teknologier og metoder, som anvendes i moderne IT-infrastruktur, industri og softwareudvikling. Eleverne arbejder med datacenter-miljøer, embedded hardware, cloud-relaterede arbejdsgange, datasikkerhed og visualisering – alt sammen i en kontekst, der afspejler industrien.
Tværfaglighed
Forløbet inddrager:
- Systemadministration (Linux, sikkerhed, netværk).
- Softwareudvikling (IoT, Python, C++, REST).
- Data engineering (pipelines, databaser, dataformater, analyse).
- Projektstyring (SCRUM, dokumentation, præsentationsteknik).
- IT-sikkerhed på tværs af alle delelementer.
Differentiering
Undervisningen tilpasses elevernes forudsætninger ved at:
- Lade mere erfarne elever arbejde med avancerede funktioner (ekstra hardwareintegration, streaming-løsninger, komplekse dataanalyser).
- Give mindre erfarne elever mulighed for at fokusere på grundlæggende funktionalitet og gradvist tilføje kompleksitet.
- Tilbyde fleksibel brug af programmeringssprog og værktøjer i projektdelen.
- Variere graden af underviserstyret kontra elevstyret læring afhængigt af behov.
Evaluering og bedømmelse
-
Læringsaktivitet Prototyping – 72 Lektioner
Læringsmål
Indholdselementer
Feedback/bedømmelseskriterier
Du kan/har:
- Kendskab til forløbets valgte udviklingsværktøj
- Kendskab til design af brugerinterfaces i mobile applikationer
- Kendskab til anvendelse af sensorer på mobiltelefoner
- Kendskab til kommunikation mellem en klientapplikation og en server
- Kendskab til hvordan en applikation sikres imod uautoriseret brug
Teoretisk del:
Eksempler på:
- Udviklingsværktøj til mobile apps
- Brugerinterface til mobiltelefon
- Anvendelse af sensorer på mobiltelefoner
- Kommunikation mellem klientapplikation og server
- Sikring af applikationer
Praktisk del:
- Løbende eksperimenter og små opgaver hvor eleverne arbejder med prototyping ud fra de ovenstående beskrevne indholdselementer
- Erfaringsudveksling fra prototypearbejdet eleverne imellem
I dette forløb er underviserne særligt opmærksomme på og giver feedback på følgende
- Løbende mundtlig feedback på elevernes motivation og nysgerrighed på at arbejde med prototyping
Ved bedømmelsen af aktiviteten/forløbet/projektet lægges der især vægt på:
- Elevens interesse og tilgang til at eksperimentere med prototyping
-
Læringsaktivitet Objektorienteret analyse og design – 36 Lektioner
Læringsmål
Indholdselementer
Feedback/bedømmelseskriterier
Du kan/har:
-
Skrive en kravspecifikation for et software udviklingsprojekt, og bruge den som et værktøj til at kommunikere med en kunde / rekvirent omkring kravene til projektet
-
Lave en skriftlig fremstilling i form af en test specifikation, som sikre at alle krav i en kravspecifikation kan testes
Teoretisk del:
-
Objektorienteret Analyse
-
Domæne Model
-
Use Case Model, Use Case Diagram, Use Case Text, System Sequence Diagram
-
Accepttest
-
-
Objektorienteret Design
-
Sekvens Diagram
-
Klasse Diagram
-
GRASP Design Patterns
-
Praktisk del:
-
Der arbejdes i grupper
-
Der udarbejdes en kravspecifikation for projektet, som indeholder kravene til projektet, og en test specifikation der beskriver hvordan eleven kontrollerer hvilke krav er opfyldt.
-
I dette forløb er er underviserne særligt opmærksomme på og giver feedback på
-
Samarbejde i gruppen
-
-
Ved bedømmelsen af forløbet lægges der især vægt på
-
Elevens færdigheder til skriftlig fremstilling af kravspecifikationen.
-
Elevens færdigheder til skriftlig formulering i kravspecifikationen.
-
At kravspecifikationen er entydig og præcis
-
-
-
Læringsaktivitet Implementering – 108 Lektioner
Læringsmål
Indholdselementer
Feedback/bedømmelseskriterier
Du har/kan
-
Arbejde i et Team
-
Arbejde efter Scrum metoden
-
Implementere et software projekt ud fra en kravspecifikation
-
Implementere et client/server system
-
Kan implementere et system med fokus på sikkerhed (login/kryptering)
-
Værdsætte et godt holdarbejde
Teoretisk del:
-
Agile metoder
-
Scrum metoden
-
Serverside programmering
-
Softwaretest og Sikkerhed
Praktisk del:
-
Gruppen implementerer det specificerede projekt efter Scrum metoden
-
Der afholdes daglige teammøder med deltagelse af underviseren
I dette forløb er underviserne særligt opmærksomme på og giver feedback på følgende:
-
Samarbejde i gruppen
Ved bedømmelsen af aktiviteten/forløbet/projektet lægges der især vægt på:
-
Elevens evne til at indgå i et team, hvor eleverne udnytter hinandens styrker.
-
Processen i arbejdet med Scrum Metoden
-
Processen i arbejdet med Implementering
-
-
-
Samarbejdet i gruppen
Læringsaktivitet Test og præsentation – 36 Lektioner
Læringsmål
Indholdselementer
Feedback/bedømmelseskriterier
Du har/kan:
-
Præsentere et projekt
-
Forklare virkemåden af løsningen
-
Argumentere for de valg der er truffet undervejs i udviklingen
-
Gennemføre en accepttest som dokumentere hvilke dele af kravspecifikationen der er implementeret og hvilke der ikke er implementeret
Teoretisk del:
- Ingen teori
Praktisk del:
-
Eleverne præsentere resultatet af deres arbejde gruppevis for resten af holdet.
-
Eleverne laver individuelt en video aflevering, hvor de demonstrere løsningen og forklarer hvordan alle dele af koden fungerer, også de dele som de ikke selv har skrevet.
-
Video afleveringen skal indeholde elevernes egen evaluering af Scrum forløbet, og deres mening om hvad var godt/skidt, og hvad kunne gøres bedre i samarbejdet i gruppen
-
Eleverne gennemfører en demonstration af deres løsning, gerne hvor de andre elever på holdet kan prøve løsningen (f.eks. et spil)
I dette forløb er underviserne særligt opmærksomme på og giver feedback på følgende:
-
Samarbejdet i gruppen
-
Præsentationen af gruppens arbejde
Ved bedømmelsen af aktiviteten/forløbet/projektet lægges der især vægt på:
-
Elevens evne til at indgå i et selvstyrende scrum team.
-
Resultatet af projektet. Hvis gruppen ikke har implementeret alt det som var planlagt/aftalt i kravspecifikationen, er det vigtig at gruppen forklarer hvad der ikke er implementeret, hvorfor og hvad der er valgt at gøre i stedet.
-
Hovedforløb 6
Mål for undervisningen
EUD hovedforløb 6 eller afslutningen af EUX hovedforløb 5 indeholder den afsluttende prøve, fremover kaldet svendeprøven.
Svendeprøveforløbet er på i alt fem uger, hvor de første fire uger anvendes til at udarbejde en projektopgave med tilhørende dokumentation, henholdsvis indenfor infrastruktur eller programmering. Den sidste uge anvendes til forberedelse og afholdelse af selve svendeprøven.
Indhold i undervisningen
|
Svendeprøveforløbet |
||||
|
Uge 1 |
Uge 2 |
Uge 3 |
Uge 4 |
Uge 5 |
|
Projekt |
Projekt |
Projekt |
Projekt |
Svendeprøve |
Selve svendeprøven består af to delprøver:
· Projektopgavens løsning samt tilhørende dokumentation
· En individuel mundtlig fremlæggelse
Begge delprøver skal bestås minimum med karakteren 02 på 12-skalaen for at bestå svendeprøven. Den endelige karakter for svendeprøven fremkommer som et gennemsnit af de to karakterer.
Lovgivning vedrørende svendeprøver
Lovgivningen vedrørende svendeprøver er beskrevet i bekendtgørelser og skal overholdes af skolen.
Derfor er det vigtigt at undersøge den enkeltes elevs kontrakt for at sikre, at den gældende bekendtgørelse for den enkelte elev overholdes.
Denne vejledning er udarbejdet i henhold til bekendtgørelser fra retsinformation.dk og passer på følgende bekendtgørelser:
· Bekendtgørelse 372[1] af 09/03/2021 §6 stk. 3
· Bekendtgørelse 528[2] af 27/04/2020 §6 stk. 3
· Bekendtgørelse 397[3] af 09/04/2019 §6 stk. 3
Vejledning og facilitering
Under svendeprøveforløbet vil der være tilknyttet en vejleder som orienterer og vejleder eleverne under forløbet. Vejlederen fungerer også som facilitator og stiller ressourcer til rådighed for eleverne i det omfang det er muligt.
Projektopgave
Projektopgaven tager udgangspunkt i et projektoplæg med en case beskrivelse som skolen udarbejder. Eleven vælger projektoplægget i starten af forløbet. Vejlederen orienterer det faglige udvalg[4] om projektoplægget.
Projektopgaven løses ved opbygning af et produkt samt udarbejdelse af en produktrapport og en procesrapport. De hjælpemidler, som er anvendt i undervisningen, må benyttes. Produktet omfatter opbygning af et avanceret system, som skal overholde den opstillede kravspecifikation.
projektopgaven udarbejdes inden for en varighed af fire uger. Arbejdet udføres i et samarbejde mellem højst fire elever. Undtagelsesvis kan opgaven udføres alene.
Dokumentation
Produktrapport
Produktrapporten omfatter kravspecifikation, vejledning, produktdokumentation og bilag.
Procesrapport
Procesrapporten omfatter problemformulering, projektplanlægning, logbog og konklusion.
Aflevering af dokumentation
Ved projektopgavens afslutning afleveres produkt- og procesrapporten.
Mundtlig fremlæggelse
Den mundtlige fremlæggelse tager udgangspunkt i produktet, produktrapporten og procesrapporten. Fremlæggelsen foregår som en individuel mundtlig prøve, der varer 40 minutter inklusive votering, hvor der lægges vægt på elevens fremlæggelse og forståelse af projektet samt om produktet lever op til den opstillede kravspecifikation.
Evaluering og bedømmelse
Bedømmelse
Eksaminator og censor giver efter votering en karakter for projektopgaven og en karakter for den mundtlige fremlæggelse. For elever der afslutter uddannelsen, skal hver af delprøverne bestås.
Den endelige karakter for den afsluttende prøve fremkommer som et gennemsnit af de to delprøver.