Utbildningens innehåll
Här kan du läsa om kurserna som ingår i YH-utbildningen JavaScriptutvecklare. Kurserna har tagits fram tillsammans med arbetslivet och ger dig den spetskompetens som efterfrågas av arbetsgivare.
HTML & CSS
På den här kursen lär du dig två av tre språk en webbläsare förstår; HTML och CSS. HTML är språket för innehåll på webben och efter kursen förstår du vikten av semantisk HTML för att skapa tillgängliga webbplatser. Du kommer också förstå och kunna skapa moderna layouter med CSS grid samt flexbox. I kursen ingår även kunskap om att bygga responsiva gränssnitt som anpassar sig efter olika enheter (desktop, mobil).
Innehåll:
- Semantisk HTML
- CSS syntax och specificitet
- CSS grid & flexbox
- Responsiv design
JavaScript
På den är kursen lär du dig grunderna i programmering för webben med JavaScript. Kursen tar upp programmeringens grundkomponenter, asynkrona funktioner och flöden, ES6-moduler, DOM-manipulering, events och några av de mest användbara WEB-API:erna för utveckling av moderna webbapplikationer, till exempel fetch() för API-anrop. I kursen ingår även kunskap om den datalogiska processen och fokus ligger på att förstå koncepten som webbprogrammering utgör.
Innehåll:
- Datalogiska processen
- JavaScripts syntax och grundkomponenter
- DOM manipulering
- Asynkron programmering med promises
- WEB API:er, ex. fetch()
TypeScript
På den här kursen lär du dig grunderna i den subset av JavaScript som kallas TypeScript. TypeScript ger JavaScript superkrafter och möjliggör stabilare, mer felfri och skalbar kod. Du arbetar med statisk typning (static typing), klasser (classes) och gränssnitt (interfaces). I kursen ingår även kunskap om TypeScript-parsern som översätter TypeScript till Vanilla JS.
Innehåll:
- Statisk typning (static typing)
- Klasser (classes)
- Gränssnitt (interfaces)
Agila metoder
På den här kursen lär du dig att arbeta efter de vanligaste agila metoderna, Kanban och Scrum. Kurser tar också upp någon relevant mjukvara för hantering av agila processer, till exempel Trello, Jira eller GitHub projects. Du får också kunskap om psykologisk säkerhet och hur viktigt det är när man bygger och arbetar i ett agilt team.
Innehåll:
- Psykologisk säkerhet
- Kanban
- Scrum
- Agil mjukvara
Frontendramverk
Du lär dig grunderna i något av de stora moderna ramverken, till exempel React eller Vue. Kursen tar upp MVVC-arkitekturen, komponentstruktur, dataflöden, statehantering och router. Du lär dig bygga Single Page Applications och använda tredjepartstjänster för att bygga moderna webbapplikationer. I kursen ingår även kunskap om kringliggande användbara tekniker som underlättar designen och arbetet med skalbara utvecklingsprojekt, exempelvis PostCSS eller SCSS.
Innehåll:
- Komponentstruktur
- Dataflöden
- Statehantering
- Router
- CSS pre- alternativt postprocessors som exempelvis SCSS eller postCSS
Backend grunder
Du lär dig att skapa serverfunktionalitet med JavaScript med hjälp av Node.js. Kursen tar också upp hur du kan rendera templates på serversidan samt hur du bygger REST- och GraphQL-API:er och implementerar asynkron funktionalitet på serversidan. I kursen ingår även kunskap om API-design och hur du bygger optimerade, säkra REST- och GraphQL-API:er.
Innehåll:
- js
- Server Side renderad kod ( SSR )
- REST API
- GraphQL API
Databaser
Du lär dig att skapa och interagera med databaser av typerna RDBMS och noSQL. Du lär dig också hur du bör tänka när du designar och bygger databaser som har effektiviserade svarstider, minimerad redundans och som är säkra och skalbara. Vidare lär du dig att skriva, hämta, uppdatera och radera data till databasen. I kursen ingår även kunskap om datamodelleringsprinciper för tabell- samt dokumentdatabaser.
Innehåll:
- CRUD
- SQL och relationsdatabas
- noSQL database
- Principer för datamodellering
Backend fördjupning
En bra backend är stabil, optimerad och säker. I den här kursen lär du dig skapa kvalitativ backend-kod. Kursen tar upp centrala principer för skalbara projekt och kod. Utöver det blir det fokus på test av kodens funktionalitet och säkerhet. I kursen ingår även kunskap om hur du säkrar upp din backendåtkomst via verifiering (authentication) och befogenheter (authorization) genom JSON webtokens.
Innehåll:
- Ramverk för testning, till exempel JEST
- Verifiering av identitet (Authentication)
- Styrning av dataåtkomst (Authorization)
- JSON Web Tokens
Deployment
Deployment är sista steget i utvecklingskedjan och det är här it-systemen och apparna möter internet eller intranät. På kursen lär du dig grunderna i hur CD/CI-flöden skapas samt hur du med hjälp av Kubernetes skapar stabila, skalbara system med containerteknik. I kursen ingår även kunskap om teknikerna bakom de stora molntjänsterna och hur samma teknik (kubernetes och docker) kan driftsättas on-prem, i molnet eller i en hybridlösning.
Innehåll:
- Docker
- Kubernetes
Lärande i arbete 1
Under LIA 1 omsätter du dina teoretiska kunskaper i praktisk handling. Den första LIA:n kommer relativt sent i utbildningen för att du ska ha hunnit tillgodogöra dig många av de praktiska utvecklingsgrunderna. På kursen får du en tydlig första förståelse för yrkesrollen genom att gå bredvid en utvecklare med huvudfokus på JavaScript. Det finns inga krav på att du själv ska utveckla några skarpa projekt, utan tanken är att du i första hand ska bilda dig en egen, tydlig uppfattning om hur yrkesrollen ser ut.
Innehåll:
- Förståelse för yrkesrollen
Examensarbete
Tanken med examensarbetet är att du, i den mån det går, ska arbeta med ett skarpt projekt för en verklig uppdragsgivare. Examensarbetet kan med fördel kombineras med LIA 2, men det är inte ett krav. Om du inte har möjlighet att arbeta med ett skarpt projekt kommer du att arbeta med ett projekt som du hittar på själv eller tilldelas av handledaren. Syftet med examensarbetet är att knyta ihop säcken för hela utbildningen genom att du planerar, utvecklar och utvärderar ett mindre projekt.
Innehåll:
- Arbete med ett utvecklingsprojekt
Lärande i arbete 2
LIA 2 är utbildningens sista kurs. Den kan med fördel kombineras med examensarbetet och om du vill kan den forma en sammanhängande praktisk del av utbildningen med en kedja som sträcker sig från LIA 1 till LIA 2. Syftet med LIA 2 är att du ska pröva att utveckla ett eller flera skarpa projekt. Den huvudsakliga skillnaden mellan LIA 1 och LIA 2 är alltså att du förväntas gå in i yrkesrollen på ett mer utpräglat sätt. Du kommer att få använda alla kunskaper som du tillägnat dig på utbildningen för att ta det sista klivet in i en karriär som JavaScriptutvecklare.
Innehåll:
- Skarpt projekt
- Utvecklingsarbete ensam eller som del av team