Hopp til innhald

DAT108 Programmering og webapplikasjoner

Emneplan for studieåret 2025/2026

Innhold og oppbygning

Dette er et videregående emne innen programmering. Studentene forutsettes å ha god kunnskap og gode ferdigheter innen objektorientert programmering før de tar dette emnet.

Java er undervisningsspråk i emnet, og sentrale mekanismer i språket blir gjennomgått, inkludert trådprogrammering, lambda-uttrykk og funksjonell programmering.

I tillegg vil emnet gi en innføring i programmeringsspråket JavaScript.

Studentene skal videre lære å utforme og programmere enkle webapplikasjoner (både klientside og tjenerside), og få erfaring med utvikling av en "litt større" applikasjon i samarbeid med andre.

Innhold

  • Lambdauttrykk og funksjonell programmering
  • Tråder, trådsikkerhet og synkronisering
  • Klientsideprogrammering med JavaScript
  • Tjenersideprogrammering med Spring MVC og Thymeleaf
  • Grunnleggende om HTTP. Request-response.
  • Grunnleggende om logisk arkitektur i webapplikasjoner. MVC. Lagdeling.
  • Utforming av web-baserte interaktive brukergrensesnitt
  • Enkel tilgangskontroll og brukerhåndtering
  • Korrekt og trygg håndtering av brukerpassord

Læringsutbytte

Etter å ha fullført dette emnet skal studenten kunne:

Kunnskaper

  • Kjenne forskjellen på objektorientert og funksjonell programmering
  • Kjenne til shared-state trådmodell, og problemstillinger knyttet til trådsikkerhet
  • Forklare tekniske detaljer ved klientsideprogrammering
  • Forklare tekniske detaljer ved tjenersideprogrammering
  • Forklare kommunikasjonen som skjer mellom klient og tjener i en webapplikasjon
  • Vite hvordan brukerpassord bør lagres og hvilke trusler som finnes

Ferdigheter

  • Kunne bruke grunnleggende elementer fra funksjonell programmering.
  • Kunne bruke grunnleggende elementer fra trådprogrammering.
  • Implementere enkle brukergrensesnitt for web
  • Skrive programkode for generering av dynamiske websider
  • Programmere klientside-kode
  • Programmere serverside-kode for MVC-løsninger
  • Planlegge, gjennomføre og følge opp mindre utviklingsprosjekter
  • Finne frem i API-dokumentasjon og anvende klasser fra programvarebibliotek i egen programkode

Generell kompetanse

  • Arbeide i gruppe i et utviklingsprosjekt
  • Kommunisere skriftlig og muntlig innad i en gruppe.

Krav til forkunnskaper

Bestått eksamen i DAT100 Grunnleggende programmering eller tilsvarende er et obligatorisk krav for å kunne ta dette emnet.

Anbefalte forkunnskaper

DAT102 Algoritmer og datastrukturer og DAT107 Databaser eller tilsvarende emner.

Undervisnings- og læringsformer

Forelesninger, øvingsoppgaver og prosjektarbeid i grupper.

Obligatorisk læringsaktivitet

4 obligatoriske øvinger må være gjennomført til fastsatte frister og godkjent før eksamen kan avlegges. Aktuelle former kan være programmeringsoppgaver, utviklingsprosjekt, skoleprøver.

Godkjente øvinger gir også adgang til eventuell utsatt eksamen påfølgende semester. Ved utsatt og ny eksamen neste gang faget undervises, må nye øvinger leveres.

Vurderingsform

Skriftlig skoleeksamen, 4 timer.

Tid og sted for eksamen blir opplyst på Studentweb og digitalt eksamenssystem.

Eksamen vil bli avholdt på digitalt eksamenssystem. Studentene må medbringe egen PC/MAC. Programvaren som er nødvendig for å gjennomføre eksamen må være installert og testet før eksamensdagen.

Karakterskala A-F, der F tilsvarer ikke bestått.

Hjelpemidler ved eksamen

Ingen hjelpemiddel.

Mer om hjelpemidler

Faglig overlapping

  • DAT104 - Systemutvikling og webapplikasjonar - Reduksjon: 5 studiepoeng
  • DAT105 - Vidaregåande programmering - Reduksjon: 5 studiepoeng