Print

Webudvikling 2 (fra S25)

Code

SW-WEB2

Version

3.0

Offered by

Software Ingeniør

ECTS

5

Prerequisites

IT-WEB1 eller tilsvarende

Main purpose

​Dette kursus er en introduktion til moderne webapplikationsudvikling med JavaScript. Det fortsætter hvor WEB1 slap, og dykker dybere ned i JavaScript-sproget, de programmeringsparadigmer det faciliterer og principperne fra de frameworks og værktøjer, der omgiver det.

Knowledge

Efter at have gennemført kurset, vil den studerende have opnået viden til at:
- Forklare scope og closures i JavaScript
- Sammenligne dynamisk og statisk typede sprog
- Beskrive JavaScript-objektmodellen
- Forklare, hvordan 'this' fungerer i JavaScript
- Skitsére, hvordan prototyper, konstruktører og class-nøgleordet bruges til at skabe JavaScript-objekter
- Beskrive hvordan moduler fungerer i JavaScript
- Sammenligne brugen af objektorienterede og funktionelle programmeringsparadigmer i JavaScript
- Forklare hvordan concurrency fungerer i JavaScript
- Beskrive hvordan ensrettede datastrømme bruges i frontend-applikationer
- Forklare hvordan tilstand administreres i en frontend-applikation
- Sammenligne klient-side-, server-side- og statiske renderingsmønstre/
- Opsummere det grundlæggende ved TypeScript

Skills

Efter at have gennemført kurset har den studerende opnået færdigheder til at:
- Manipulere websider ved brug af JavaScript
- Bruge forskellige JavaScript-udtryk og operanter såsom destructuring assignment, spread syntaks, rest parametre, kortslutningsoperanter og optional chaining
- Bruge factory functions til at oprette objekter i JavaScript
- Gøre brug af konkatinativ og prototypisk nedarvning i JavaScript
- Anvende higher-order functions som abstraktion over handlinger
- Bruge callbacks, promises og async/await til asynkron programmering
- Organisere og tydeliggøre kode med objektorienterede og funktionelle programmeringsteknikker
- Kommunikere med webtjenester ved hjælp af fetch & XMLHttpRequest
- Forbedre udviklingsprocessen for webapplikationer med build tools såsom package managers, module bundlers, preprocessors og task runners
- Bygge single page webapplikationer med React
- Arbejde med routing på klientsiden i en webapplikation
- Teste funktionaliteten af webapplikationer ved hjælp af unit-, integration- og end-to-end tests
- Anvende mønstre og bedste praksis for at måle og forbedre web performance
- Implementere en Node web API ved hjælp af Express
- Arbejde med autentifikation ved hjælp af JSON Web Tokens​

Competences

​Efter gennemførelse af kurset vil den studerende have opnået kompetencer i at analysere, designe og konstruere webapplikationer ved brug af JavaScript og moderne front-end frameworks.

 

Topics

Teaching methods and study activities

12 sessioner (48 lektioner). Disse lektioner består af oplæg, diskussion af teori og øvelser. Den samlede arbejdsbyrde for den studerende forventes at være omkring 140 timer.

Kurset indeholder en eller flere obligatoriske opgaver.

Resources

Haverbeke, M. (2018) Eloquent JavaScript, 3rd Edition. No Starch Press. (ISBN 978-1593275846)

Udvalgte materialer fra onlineressourcer

Evaluation

Examination

Eksamensforudsætning:
1. Fremmødekrav (≥ 75%) 
2. Alle kursusopgaver godkendt.

Hvis eksamensforudsætning ikke er opfyldt, skal den studerende gennemføre en skriftlig opgave i WISEflow for at blive indstillet til reeksamen. 
Denne opgave planlægges efter den ordinære eksamen. 

Eksamensform:
Individuel skriftlig eksamen, 1 time
Ekstern censur

Tilladte hjælpemidler:
Ingen 

Enhver form for kommunikation mellem studerende eller mellem en studerende og en ekstern part er forbudt og vil blive betragtet som en overtrædelse af eksamensreglerne.

​Reeksamen:
Reeksamen kan være mundtlig.​

Grading criteria

​Karakter efter 7-trinsskala.

Additional information

Responsible

Kasper Knop Rasmussen (kasr)

Valid from

01-02-2025 00:00:00

Course type

Compulsory for Eksportingeniør
6. semester

Keywords

Webudvikling, JavaScript, Objektorienteret programmering, Funktionel programmering, Asynkron Programming, Build Tools, Front End Frameworks, React, Webarkitektur, Test