Emne - Webteknologier - PROG2053
Webteknologier
Om
Om emnet
Faglig innhold
The World-Wide Web brukes nå som en plattform for avanserte interaktive applikasjoner, alt fra web-shops og blogger til nesten alle typer moderne digitale tjenester, som streaming, nyheter og sosiale medier. Å lage Web-applikasjoner krever imidlertid andre tilnærminger enn tradisjonelle applikasjoner og innebærer integrasjon av en rekke teknologier. I dette kurset lærer du hvordan du bygger moderne, interaktive web-applikasjoner for nettlesere. Kurset dekker den sentrale front-end stacken (HTML, CSS, JavaScript/TypeScript), hvordan nettleseren fungerer, og hvordan nettlesere kommuniserer med servere ved hjelp av nettverkskommunikasjonsprotokoller som HTTP og WebSockets. Du lærer det grunnleggende om networking, TCP/IP, packets og packet headers, og hva en IP-adresse er. Du lærer hvordan du kobler sidene dine til ekte data via API, for eksempel REST, browser storage og enkle databasesystemer. Underveis får du praktisk erfaring med Node.js, jobber med build tools og dependency trackers (som npm), bruker web-biblioteker og rammeverk (slik som React for front-end og Express for backend, eller tilsvarende moderne alternativer), samt debugging-verktøy som utviklere bruker i industrien.
Læringsutbytte
Kunnskap
- Forstår hvordan the web fungerer: TCP/IP, packets, HTTP, URLs, request/response cycle og nettleserens rolle som client.
- Kan forklare rollene til HTML, CSS og JavaScript/TypeScript i å strukturere innhold, style presentasjon og implementere oppførsel i nettleseren.
- Har oversikt over moderne front-end architecture for små webapplikasjoner.
- Har kjennskap til vanlige client-side security- og privacy-utfordringer, slik som XSS, insecure DOM manipulation og håndtering av brukerdata i nettleseren.
- Har oversikt over hvordan performance- og designvalg påvirker sustainability, for eksempel payload size, network usage og device/energy footprint for webapplikasjoner.
Ferdigheter
- Kan bygge små til mellomstore front-end-applikasjoner ved hjelp av HTML, CSS og JavaScript/TypeScript, basert på gitte krav.
- Kan bruke APIs, for eksempel REST APIs, fra front-end og håndtere asynchronous requests.
- Kan bruke browser developer tools for å sjekke HTML-, CSS- og JavaScript-problemer, samt inspisere network activity og grunnleggende performance.
- Kan organisere UI-kode for å skille mellom data/state, visuelt layout og event-handling logic, ved å følge forenklede architecture-ideer som MVC i de valgte verktøyene/rammeverkene.
- Kan forklare secure coding practices i nettleseren samt fordeler og ulemper ved ulike front-end-verktøy og biblioteker som brukes.
Generell kompetanse
- Kan tilegne seg ny kunnskap innen et fagområde som er i kontinuerlig utvikling.
- Kan reflektere over og argumentere for tilnærmingen som brukes når man løser et webprogrammeringsproblem, ved å bruke relevante tekniske begreper.
Læringsformer og aktiviteter
- Forelesninger
- Laboratoriearbeid
- Obligatoriske oppgaver
- Både individuelle og samarbeidsoppgaver i klasserommet og hjemme
Obligatoriske aktiviteter
- Obligatoriske oppgaver
Mer om vurdering
- Obligatoriske oppgaver må være godkjent for å kunne gå opp til avsluttende skriftlig eksamen.
- Utsatt eksamen i august
Spesielle vilkår
Krever opptak til studieprogram:
Data - Ingeniørfag (BIDATA) - enkelte retninger
Digital infrastruktur og cybersikkerhet (BDIGSEC)
Programmering (BPROG)
Anbefalte forkunnskaper
Objektorientert programmering
Studiepoengreduksjon
| Emnekode | Reduksjon | Fra |
|---|---|---|
| IDG1011 | 2,5 sp | Høst 2025 |
Fagområder
- Informatikk
- Informasjonsteknologi