IDG2100

Full-stack webutvikling

Vår

Gjøvik

Engelsk

Oversikt

Snitt

D

2,00

1,02

Ståprosent

83 %

9 poeng

Karakterfordeling
Snitt over tid
Ståprosent over tid

Om emnet

Faglig innhold

I dag innebærer det å være en webutvikler å lære hele utviklingsprosessen fra design til faktisk distribusjon, alt fra å mestre basislinjekonseptene og hjørnesteinswebteknologier, til å utvikle et bredt sett ferdigheter som trengs for en moderne programvareutvikling, alt i alt, for å bli kompetent og avslappet i alle de veldig forskjellige miljøene.

Dette kurset dekker de grunnleggende basiskonsepter og teknologier som en student trenger for å bli en selvstendig webutvikler. En fullstendig implementering kan imidlertid avhenge av et bredt spekter av forskjellige teknologier som kjøres på klient- eller serversiden (fra programmeringsspråk til rammeverk eller databaser). I og med at JavaScript er det dominerende programmeringsspråket i webutvikling, vil omfanget av dette emnet være begrenset til JavaScript (end-to-end), og hele emnet vil utforske minst en av hovedstablene innenfor utvikling (MEAN, MERN eller MEVN) som baselinjeteknologi. Dette vil hjelpe studentene å omfavne moderne webutvikling.

Tema

  • Arkitektur av moderne vs tradisjonelle webapplikasjoner
  • Frontend vs Backend-paradigmer
  • Oversikt over full-stack-utvikling (stabel med forskjellige teknologier)
  • API-paradigmer (Request-Response APIs og Event-Driven APIer)
  • API-sikkerhet: Autentisering og autorisasjon, OAuth, Webhooks, etc.
  • Design-API-er og mønsterpraksis
  • Front-end-rammeverk
  • Back-end-rammeverk
  • Moderne stabler for webutvikling (MEAN, MERN eller MEVN)
  • Utviklerverktøy: Task runners, bundlers etc.

Læringsmål

Kunnskap

Studenten kjenner til

  • Ulik arkitektur for moderne og tradisjonelle webapplikasjoner
  • JavaScript-rammeverk
  • Fordeler og ulemper ved rendering av innhold enten på serversiden eller klientsiden
  • Ulike API-paragigmer og når disse kan brukes
  • Autentisering og autoriseringsmetoder
  • Ulike teknologier som kan bli brukt i et webprosjekt og utviklerverktøyene som kan brukes for å forbedre arbeidsflyt

Ferdigheter

Studenten kan

  • Designe, implementere og dokumentere APIer
  • Bruke en spesifikk JavaScript-stack (MEAN, MERN, MEVN) for å bygge en full-stackapplikasjon
  • Implementere enkle autentiseringsteknikker
  • Bruke package managers, module bundlers og andre verktøy for utviklere

Generell kompetanse

Studenten kan

  • utvikle et full-stackprosjekt
  • reflektere rundt arkitektur og den mest passende teknologien for å løse visse problemer
  • lære nye bibliotek eller rammeverk ved bruk av offisiell dokumentasjon

Læringsformer og aktiviteter

Emnet avvikles og vil kun videreføres for å gi mulighet til studenter som ikke rakk å fullføre på normert tid. Fra og med våren 2027 vil emnet tilpasses antall påmeldte studenter. Ved lavt studenttall vil undervisningen tilbys som selvstudium og/eller med veiledning.

Obligatoriske aktiviteter

4 obligatoriske oppgaver (godkjent/ikke godkjent) gjennom semesteret.

Muntlige presentasjoner på campus kan være påkrevd for enkelte obligatoriske oppgaver.

En av de obligatoriske oppgavene (ikke en muntlig presentasjon) kan bli planlagt å finne sted på campus i løpet av kontortiden

Alle obligatoriske arbeidskrav må være godkjent for å presentere endelig prosjekt.

Emnet tilbys utvekslingsstudenter. Undervisningsspråk er engelsk.