Full-Stack Web Development
2024/2025- Formål og læringsmål
Formålet med fagelementet er at kvalificere den studerende til at kunne udvikle webapplikationer. Faget er sprog/framework-agnostisk, men eksemplerne vil være i Java/Spring Boot, JavaScript/TypeScript/node.js (backend) og React.js (frontend).
Viden
Faget omfatter udvikling af fullstack webapplication, forbindelse til en database, API design og udvikling, cloud deployment, og beskyttelse af applikationer mod de mest sædvanlige sikkerhedstrusler.Den studerende har viden om:
Færdigheder
- Web Development Architectures
- HTTP Protocol and Methods
- PWA – Progressive Web Applications
- Client-side vs Server-side rendering
- Security:
--- Authentication: JWT, sessions, cookies
--- Authorization
--- Hashing and encryption
--- SQL injections
--- XSS, CSRF
--- CORS
- The Front-End:
--- HTML5
--- CSS3, Flexbox, Grid
--- JavaScript and the DOM
--- Ajax
--- API Consumption
--- SPA – Single page application
--- React.js:
------ Logging
------ Routing
------ Pagination, filtering, sorting
------ Forms + input validation
------ Building reusable components
- The Back-End:
--- Web servers
--- APIs:
------ REST API
------ GraphQL
------ + others like SOAP, RPC, and event driven APIs
--- Databases
- Online Web Application Deployment
--- CI/CD pipeline
--- Testing:
------ Unit tests
------ Integration tests
------ End to end tests
--- Scaling:
------ databases, backend, frontend
------ Technologies: Containers, KubernetesDen studerende kan:
Kompetencer
- arbejde med frontend udvikling
- arbejde med backend udvikling
- udvikle API
- arbejde med cloud deploymentDen studerende kan:
- designe arkitekturen af en webapplikation
- arbejde med et webudviklingsmiljø
- udvikle fullstack webapplikationer
- deploy web applications to the cloud - Undervisningsform
Undervisningen tager udgangspunkt i Problem Based Learning. De studerende skal således anvende viden fra klasseundervisningen i projektarbejde, og på egen hånd tilegne sig yderligere viden og erfaring. De studerende er aldrig overladt til sig selv, da underviseren indtræder i en vejlederrolle i projektarbejdet.
- Forudsætninger for at deltage i
faget
Faglige forudsætninger for at deltage i faget
Studerende skal have praktisk viden om og færdigheder i mindst et høj-niveau programmeringssprog.Materielle forudsætninger for at deltage i faget
Windows PC, Mac eller Linux
- min 8 GB RAM (16 GB RAM er at foretrække)
- 200 GB ledig disk
- CPU med virtualiseringshardware. Haves I de fleste moderne CPU’er.
- 15,6” skærm eller større anbefales - Prøve
Læringsmålene for prøven er identiske med fagets/fagenes læringsmål
Faget prøvesDet afsluttende projekt består af en CRUD-webapplikation implementeret online. Det skal opfylde de standarder og bedste praksis, der behandles i faget.PrøveformKombineret skriftlig og mundtlig prøveEksamen er individuel, men projektrapport og produkt kan udarbejdes i gruppe.FormkravDer skal afleveres en max 1 side i punktform. Siden skal indeholde relevante emner, som man regner med at præsentere til eksamen.
Det er muligt at foretage ændringer til disse emner til den mundtlige eksamen.
Nærmere indhold vil blive præsenteret af underviseren.Individuel eller gruppeprøveIndividuelAnvendt sprog til prøvenEngelskVarighedPræsentation - max 10 min.
Examinering - max. 15 min.
Vurdering - 5 min.
I alt - 30 min.Hjælpemidler der må medbringesComputerHjælpemidler som stilles til rådighedProjektorBedømmelsesform7-trins skalaBedømmer(e)Intern censur - Foreløbig litteratur
Dette er en foreløbig litteraturliste. Der udleveres en endelig litteraturliste i forbindelse med studiestart.Kursusmateriale tilgængeligt for de studerende via Internet.
- Yderligere information
Valgfaget kan ikke køres i nogle semester (f.eks., hvis ikke nok studerende vælger det).
Nogle klasser kan være online.
På faget Full-Stack Web Development modtager du 80 timers undervisning, hvilket svarer til 106 lektioner (1 lektion = 45 min.) og 29% af din samlede arbejdsbelastning på faget.
Undervisningen vil primært bestå af følgende aktiviteter: klasseundervisning, øvelser, projektarbejde, Onlineundervisning.
Forberedelsen vil primært bestå af følgende aktiviteter: projektarbejde, læsning af egne noter, læsning af pensum.
Læs om KEAs studieaktivitetsmodel
*KEA kan fravige det angivne timetal, hvis det er begrundet i særlige forhold.