Kursen js (v2)

By . Latest revision .

Kursen Programmering med JavaScript, a.k.a. js, lär ut programmering och problemlösning med programmeringsspråket JavaScript tillsammans med HTML och CSS i en webbmiljö.

Vi startar med att skapa rutiner för problemlösning och felsökning via enkla grundkonstruktioner i språket. Vi bygger upp en utvecklingsmiljö med relevanta verktyg i en webbmiljö. Vi använder JavaScript tillsammans med HTML och CSS för att skapa klientbaserade webbapplikationer. Du får se hur dessa tekniker samverkar.

Via praktiska övningar får du möjlighet att lära dig programmeringsspråket JavaScript tillsammans med HTML och CSS. Du lär dig grunderna i att skapa en klientbaserad webbapplikation. I slutet av kursen får du visa dina färdigheter i ett praktiskt programmeringsprojekt.

#Förkunskaper

Det formella förkunskapskravet är:

Genomgången kurs i programmering om 7.5hp.

#Innehåll

Kursen omfattar följande områden:

  • Allmän problemlösning och strukturerad programmering.
  • Tekniker att felsöka och debugga.
  • Grundläggande konstruktioner med variabler, loopar, funktioner, argument.
  • Datastrukturer arrayer och objekt.
  • Översikt av standardbiblioteket i JavaScript.
  • Javascript Document Object Model (DOM) tillsammans med HTML och CSS.
  • Utveckling av webbapplikation med JavaScript, HTML och CSS.
  • Utvecklingsmiljö och verktyg för webbutveckling med JavaScript, HTML och CSS.

#Mål

#Kunskap och förståelse

Efter genomförd kurs skall studenten:

  • kunna visa grundläggande kunskaper i klientbaserad webbprogrammering med JavaScript genom att skriftligen beskriva och sammanfatta erfarenheter och observationer från övningar och projekt.
  • kunna visa grundläggande kunskaper i att använda JavaScript, HTML och CSS genom att tillämpa dessa tekniker i praktiska övningar och projekt.

#Färdighet och förmåga

Efter genomförd kurs skall studenten:

  • självständigt utifrån en specifikation kunna utveckla, dokumentera och presentera ett projekt baserat på klientbaserad kodning i JavaScript, HTML och CSS.
  • ha god praktisk förmåga att hantera de verktyg och utvecklingsmiljöer som används vid utveckling och felsökning med klientbaserade webbtekniker.

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

Efter genomförd kurs skall studenten:

  • via redovisningstexter kunna visa grundläggande förmåga att reflektera över bra och mindre bra kod i sammanhanget kodstruktur och lösningar på definierade problem.

#Kursmoment

Kursen är uppdelad i kursmoment där varje kursmoment uppskattas till 20h studerande i form av programmering, undersökning, läsande, övningar, uppgifter, redovisning och eftertanke. Alla kursmoment skall redovisas och du samlar alla redovisningar i din me-sida.

#Kmom01: Utvecklingsmiljö och grunder

Låt oss komma i gång med en labbmiljö, och en miljö för kursen, tillsammans med en introduktion i JavaScript och hur vi använder miljön. För det så skapar vi några scriptfiler som vi exekverar.

Instruktion till kursmoment 01.

#Kmom02: Moduler

Vi delar upp vår kod i moduler som vi kan importera och exportera mellan våra filer.

Instruktion till kursmoment 02.

#Kmom03: DOM och events

Vi flyttar över vår JavaScript till webbläsaren och lär oss hur det fungerar på klientsidan. Vi börjar även titta på DOM trädet och webbläsarens API.

Instruktion till kursmoment 03.

#Kmom04: Mer DOM och events

Vi tar fler steg in i webbläsaren och tränar på dess API och hur vi kan manipulera htmlelementen. Vi ska även lära oss hur vi kan använda moduler och skapa en så kallad bundle av dem.

Instruktion till kursmoment 04.

#Kmom05: Web API

Det finns en uppsjö med API:er vi kan använda för att bredda vår programmering för webben för olika ändamål. Vi ska titta närmare på några tillgängliga API:er.

Instruktion till kursmoment 05.

#Kmom06: Objekt

Vi skapar ett interaktivt spel, utifrån objekt och moduler, och ser hur vi kan skapa objekt på olika sätt.

Instruktion till kursmoment 06.

#Kmom07/10: Projekt och examination

Avslutningsvis gör du ett projekt enligt en specifikation. Projektet är det sista som du gör och tillsammans med alla redovisningar som finns på din me-sida så används detta som underlag för att examinera dig från kursen.

Instruktion till kursmoment 10.

#Kurslitteratur

Måste jag skaffa kurslitteraturen?

#Kurslitteratur

Det finns ett flertal böcker som är gratis att läsa online, tex Exploringjs. Det händer mycket i JS världen så att köpa en bok är inte rekommenderat och jag har därför valt att inte ha en specifik bok som kurslitteratur. Använd de resurser som finns online istället.

Det finns ämnen att läsa på om i samband med varje kursmoment.

#Övrig litteratur

Det finns närliggande litteratur som är intressant för den som vill fördjupa sig i ämnet eller den som vill skaffa sig förkunskaper innan kursen.

  • JavaScript: The definitive Guide – D. Flanagan
    En tegelsten, komplett med allt du vill veta om språket JavaScript med dess Core, DOM och eventhantering, inklusive en referens till olika funktioner. Perfekt för dig som verkligen vill JavaScript.

  • Exploring ES6 – Axel Rauschmayer
    En bok om ES6 som förutsätter att man kan ES5.

  • JavaScript: The Good Parts – D. Crockford
    En genomgång av JavaScript Core och hur man ska, och inte ska, skriva sin kod.

  • Eloquent JavaScript: A Modern Introduction to Programming – Marijn Haverbeke
    En introduktionsbok med öppen licens som gör att boken finns tillgänglig fritt på bokens webbplats. Boken ger en bra introduktion till nybörjaren i JavaScript.

#Rekommenderad studieplan

Kursen har en rekommenderad studieplan som visar en översikt över kursens olika moment och när de i tiden bör utföras för att studenten skall ligga i fas med kursens planering.

I studieplanen visas när rättning sker av respektive inlämnat moment samt när det finns möjligheter att göra restinlämningar.

Läs mer om den rekommenderade studieplanen.

#Lektionsplan

Det finns en lektionsplan som visar en detaljplanering för undervisningen i kursen, vecka för vecka.

Läs mer om lektionsplanen.

#Handledning

Förutom den planerade undervisningen enligt lektionsplanen så kan du få hjälp och stöd i kursens chatt och i forumet. Chatten lämpar sig för korta enkla frågor och forumet för mer utredande och längre frågor och svar. Om du inte får svar i chatten så rekommenderas att du postar i forumet.

Läs om lärarstöd och handledning.

#Betygsättning

Det finns ett särskilt dokument som beskriver hur bedömning och betygsättning sker.

#Ladok

Enligt kursplanen finns ett antal ladokmoment och de är kopplade till kursens kursmoment enligt följande.

Kursens moment Ladok moment enligt kursplan
Kmom01 + kmom02 Uppgift 1 á 2.5hp
Kmom03 + kmom04 Uppgift 2 á 2.5hp
Kmom05 - kmom10 Projekt á 2.5hp

Den sista inlämningen bestämmer kursens slutbetyg vilket utfärdas när samtliga moment godkänts.

Läs mer om rapportering av resultat.

#Kursutvärdering och kursutveckling

Det finns ett särskilt dokument som beskriver hur arbetet med kursutvärderingar och kursutveckling sker. Det är oerhört viktigt att du säger till vad du tycker om kurs och kursmaterial, du kan alltid hojta till i både forum, chatt eller mail.

Läs om hur vi jobbar med kursutvärdering och kursutveckling.

#Kursplan

Kursplanen är kursens formella dokument som fastställts av högskolan. När kursen utvärderas görs det mot kursplanen. I kursplanen kan du läsa om kursens klassificering, syfte, innehåll, mål, generella förmågor, lärande och undervisning, bedömning och examination, litteratur, mm.

Du hittar kursplanen genom att söka på kurskoden DV1657 via BTH’s hemsida.

#Versioner av kursen

Om du påbörjat den äldre version av kursen så skall du också slutföra denna versionen av kursen (eller göra om den nya kursen från start). Alternativt rådgör du med den som är kursansvarig.

För tillfällen från höstterminen 2020 så finns kursmaterialet till js (v1) här.

För tillfällen från höstterminen 2018 så finns kursmaterialet till javascript1 (v2) här.

För tillfällen från vårterminen 2018 och bakåt så finns kursmaterialet till javascript1 (v1) här.

#Revision history

  • 2023-10-24: (B, lew) Uppdaterad version inför HT23.
  • 2021-05-12: (A, lew) Ny version inför HT21.

Document source.