KURSPLAN
Fördjupad webbutveckling, 7,5 högskolepoäng
Web Development - Advanced Concepts, 7.5 credits
Kursplan för studenter vår 2019
Kurskod: TFWN19
Fastställd av: VD 2018-12-04
Gäller fr.o.m.: 2019-01-01
Version: 1
Utbildningsnivå: Grundnivå
Utbildningsområde: Tekniska området
Ämnesgrupp: DT1
Fördjupning: G2F
Huvudområde: Datateknik

Lärandemål

Efter genomgången kurs skall studenten

Kunskap och förståelse

- visa förståelse för behovet och bruket av Content Delivery Networks
- visa förståelse för utmaningar vid och tekniker för konstruktion av skalbara webbapplikationer (NOSQL-databaser, horisontell skalning med sessionshantering, datapartitionering respektive sharding, etc)

Färdighet och förmåga

- visa förmåga att använda JavaScript för att manipulera en hemsidas Document Object Model
- visa färdighet i att programmera mot vanligt förekommande JavaScript-bibliotek
- visa förmåga att konstruera hemsidor som interagerar mot andra webbsystem via REST/JSON, OAuth, etc.
- visa förmåga att använda avancerade webbklient-API:er såsom web storage, web workers, web components, WebAssembly, etc.
- visa förmåga att konfigurera och använda containers för utvecklings-, test- och driftmiljöer

Värderingsförmåga och förhållningssätt

- visa förmåga att utvärdera en webbapplikation med avseende på säkerhetsaspekter

Innehåll

Kursen avser förmedla avancerade kunskaper inom webbutveckling. Den inleds med en genomgång av användandet av JavaScript och Dokument Object Model för att ändra en hemsidas grafiska gränssnitt direkt på klientsidan. Även vissa nyckelbibliotek och API:er på klientsidan introduceras. Därefter läggs fokus på serversidan, där Node.js och tillhörande ramverk behandlas, för att lära studenten att konstruera skalbara databas-baserade backend-lösningar, som kommunicerar med frontend-applikationer meddelst REST-API:er. Säkerhetsperspektivet behålls genomgående i hela kursen, såväl på klient- som serversidan, liksom fokus på bra programstruktur med containers för att underlätta utveckling, testning och driftsättning av webbapplikationer.

Kursen innehåller följande moment:
- Document Object Model
- Klient-API:er och bibliotek
- Arkitektur och REST-API:er
- Containers för webutveckling
- Backend i Node.js
- Authenticering och auktorisering
- Anropa andra webtjänster

Undervisningsformer

Undervisning ges i form av föreläsningar, laborationer och projekt.

Undervisningen bedrivs på engelska.

Förkunskapskrav

Grundläggande behörighet samt genomgångna kurser på grundnivå 60 hp och Grundläggande webbutveckling, 7,5 och Nätverksprogrammering, 7,5 hp (eller motsvarande kunskaper).

Examination och betyg

Kursen bedöms med betygen 5, 4, 3 eller Underkänd.

Kursens slutbetyg utgör en sammanvägning av ingående examinationsmoment. Kursens slutbetyg utfärdas först när samtliga moment godkänts.

Poängregistrering av examinationen för kursen sker enligt följande system:
ExaminationsmomentOmfattningBetyg
Projekt4 hp5/4/3/U
Tentamen2,5 hp5/4/3/U
Laborationer1 hpU/G

Kurslitteratur

Litteratur

Kurslitteraturen fastställs en månad innan kursstart.

I kursen används litteraturen Eloquent JavaScript 3rd edition av Marijn Haverbeke, som finns tillgänglig gratis på sidan https://eloquentjavascript.net/.