Full-Stack Web Development
2023/2024- 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øveformMundtlig prøveIndividuel 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 hvis ikke nok studerende valgær 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.