Kursen javascript1 (v2)
Kursen Programmering med JavaScript, a.k.a. javascript1, 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 litteraturstudier och 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ö
Låt oss komma i gång med en labbmiljö, och en miljö för kursen, tillsammans med en introduktion i HTML, CSS och JavaScript.
Instruktion till kursmoment 01.
#Kmom02: Variabler och loopar
Vi skall nu komma i gång med att koda JavaScript. Vi bekantar oss med grundkonstruktionerna i språket och använder strängar, siffror, variabler och loopar tillsammans med en del inbyggda funktioner för strängar, matematiska operationer och datum.
Instruktion till kursmoment 02.
#Kmom03: Funktioner
I JavaScript handlar det mycket om funktioner och språket är delvis ett funktionsorienterat programmeringsspråk. Låt oss nu träna på funktioner i alla dess varianter för att komma i gång med hur de fungerar , är uppbyggda och strukturerade. Att organisera sin kod i funktioner är första steget mot att skriva större och väl organiserade program.
Instruktion till kursmoment 03.
#Kmom04: Arrayer och objekt
I JavaScript finns strukturer för arrayer och objekt tillsammans med en del inbyggda funktioner. För att skriva bra och effektiva program är det en förutsättning att man förstår hur dessa är uppbyggda och vilket stöd som erbjuds i form av inbyggda funktioner som hjälper oss att arbete mot arrayer och objekt.
Instruktion till kursmoment 04.
#Kmom05: DOM och events
När vi använder JavaScript i webbläsaren handlar det mycket om att modifiera HTML-sidan och tillföra effekter. För att göra det manipulerar HTML-sidans DOM träd via JavaScript. Det handlar om att modifiera elementen på sidan och förändra deras style för att uppnå önskat beteende.
Instruktion till kursmoment 05.
#Kmom06: Modul och closure
När vår kodbas växer blir det mer och mer viktigt att ha en bra struktur på den. Annars blir det svårt att vidareutveckla koden och underhålla den. När man dessutom skall använda olika moduler av kod från olika tillverkare så är det viktigt att de olika kod-delarna inte krockar. Att använda ett konstruktion som heter module hittar vi ett sätt att bättre strukturera vår kod.
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
Följande bok är kurslitteratur tillsammans med övrigt material som finns i respektive kursmoment.
Det finns läsanvisningar i samband med varje kursmoment.
- Speaking JavaScript: An In-Depth Guide for Programmers – Axel Rauschmayer
En bok om att komma igång med JavaScript som programmeringsspråk. Fungerar för nya programmerare såväl som för de som redan kan ett eller ett par programmeringsspråk.
#Referenslitteratur
Följande böcker har jag valt som referenslitteratur som är en fördjupning av kurslitteraturen. De behövs inte för att klara kursen men vill du bemästra kursens område så är litteraturn en god startpunkt.
- 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.
#Ö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.
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 DV1561 via BTH’s hemsida.
Från och med höstterminen 2017 byter kursen namn till “Programmering med JavaScript” och får en ny kurskod DV1561 samt ändrar förkunskapskrav till G1F (kräver någon form av förkunskaper).
Kursen hette fram till och med hösten 2016 “Programmering med JavaScript, HTML och CSS”, kurskoden var DV1532 och hade förkunskapskrav G1N (grundläggande).
#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 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
- 2018-10-17: (J, lew) Revidering inför HT18.
- 2017-10-31: (I, mos) Referens till bok om ES6.
- 2017-06-07: (H, mos) Uppdatering av kursplan med ny kurskod.
- 2016-11-01: (G, mos) Ladok moment och skrev om lektionsplan/studieplan.
- 2016-03-04: (F, mos) Notis om nytt namn och ny kurskod.
- 2015-03-02: (E, mos) Uppdatering av referenslitteratur till Staflins bok om HTML & CSS.
- 2015-01-19: (D, mos) Bort blå ruta om kursutveckling.
- 2015-01-09: (C, mos) Text om studieplan för kurspaket.
- 2014-11-02: (B, mos) Samtliga kursmoment klara (förutom projektet).
- 2014-06-18: (A, mos) Första revisionen inför kursstart HT2014.