Fullstack-utvecklare bild

Fullstack-utvecklare

Välkommen till en utbildning som förbereder dig inför en karriär som:

  • Fullstack-utvecklare
  • Backend-utvecklare
  • Frontend-utvecklare
  • Dataprogrammerare
  • IT-konsult
  • IT-utvecklare

Utbildningen är kostnadsfri och berättigar till studiemedel från CSN

”Min 75%-iga fullstack-webbutvecklingsutbildning är som en balanserad melodi – tillräckligt intensiv för att inspirera kreativitet och tillräckligt flexibel för att harmonisera med andra livsaspekter.”

"Jag valde Företagsuniversitetets utbildning då den är på plats och på 75% gör att jag kan ha studierna som huvudfokus men samtidigt hinna jobba en del vid sidan av."
 

KURSBESKRIVNING

Introduktion till IT 20 yh-poäng

Vi använder IT-system dagligen i vardagslivet i form av webbsidor och datorprogram. Med tiden har dessa system utvecklats till att vara användarvänliga och enkla att hantera. Trots denna enkelhet så är ett IT-system en samling av många olika delar och tekniker där komplexiteten göms under ytan.

Med både teoretisk och praktisk insikt får den studerande kunskaper inom IT och datavetenskap, genom teman såsom datalogiskt tänkande, datasäkerhet, algoritmer, mjuk- och hårdvara, internet, AI och data. Under kursen får den studerande en helhetsbild av hur ett ITsystem är uppbyggt, där fokuset kommer ligga på grundläggande kunskaper för hur ett IT-projekt utvecklas.

De studerande kommer att ingå i grupper för att diskutera informationsteknologins roll i dagens samhälle, hur den tillämpas, vad hållbar utveckling innebär inom informationsteknologi samt etiska och juridiska aspekter på informationsteknologi.

Affärsmannaskap 20yh-poäng

Kursen fokuserar på att utveckla kunskaper inom organisationslära, strategi, ledning och marknadsföring där fokus är att utveckla en helhetssyn i affärer. Fokuset ligger på att utveckla den studerandes affärsmannaskap, förståelse för hur olika organisationer ser ut och arbetar, olika ledarskapsstilar, principer kring effektiv kommunikation. Med både teoretisk och praktisk insikt får den studerande djupare insikt i sin framtida roll som konsult/utvecklare i det stora hela där den studerande förväntas reflektera på frågeställningar såsom:

  • Vad är organisationens mål och vision?
  • Vad är målet med projektet?
  • Vad är min roll i det stora hela?
  • Vad förväntas i olika roller?
  • Hur fungerar effektiv kommunikation?
  • Konsult vs anställd 

Att jobba agilt 20yh-poäng
Det agila arbetssättet lyfts ofta fram som ett vinnande och bra koncept för IT-projekt att arbeta utifrån. Ordet agilt kommer från engelskan och betyder lättrörlig, vilket är just vad ett agilt arbetssätt är. Med hjälp av ett agilt arbetssätt kan man snabbt hantera förändringar och ställa om, detta med hjälp av att man arbetar kontinuerligt med delleveranser under kortare intervaller. Vilket i sin tur leder till att minimering av risker och osäkerheter blir en naturlig del i arbetet. Dessa egenskaper gör att det agila arbetssättet passar väldigt bra i en IT-värld som just kännetecknas av snabba förändringar.

Nedanstående ämnen är huvudfokus för kursen:

  • vad innebär det att jobba agilt
  • rollerna som finns inom det agila arbetssättet
  • skillnaden mellan olika agila arbetsmetoder
  • fördelarna och nackdelarna med att välja agila arbetsmetoder i förhållande till Vattenfall-metoden

Backend utveckling I Java 30yh-poäng
Java är ett av de mest använda programmeringsspråken på serversidan (Backend). Användningsområden varierar mellan mobilapplikationer och datorprogram till tunga robotar.

Den här kursen kommer fördjupa den studerandes kunskaper och färdigheter inom backend-utveckling med Java.

Nedanstående ämnen är huvudfokus för kursen:

  • skapa ett Java-projekt
  • använda Spring och Spring Boot
  • skapa Rest APIer
  • skriva enhetstester
  • skapa en bra projektstruktur i Java och följa de rekommenderade designmönster
  • förstå workers och deras användning
  • event streaming (Kafka)

Kursen kommer avslutas med ett grupprojekt i Java, där de studerande redovisar sina inlärda kunskaper.

Backend-utveckling NodeJs 30yh-poäng
NodeJs är ett JavaScriptbibliotek som tillåter backendutveckling i JavaScript och är den perfekta lösningen för att bygga skalbara och högpresterande webbapplikationer. Prestandan uppnås genom sin asynkrona, icke-blockerande programmeringsmodell. Både klienten och servern kan framgångsrikt använda samma språk eftersom NodeJs kör Javascript på serversidan.

Den här kursen kommer fördjupa den studerandes kunskaper och färdigheter inom backend-utveckling med NodeJs.

Nedanstående ämnen är huvudfokus för kursen:

  • NodeJs grunder
  • skapa ett NodeJs projekt med NPM
  • skapa Rest APIer med expressJs
  • skapa en bra NodeJs projektstruktur
  • använda de mest användbara biblioteken
  • datastreaming
  • skriva enhetstester

Kursen kommer avslutas med ett grupprojekt i NodeJs, där de studerande redovisar sina inlärda kunskaper.

Databaser 20yh-poäng
Databaser är en strukturerad metod för att lagra data i form av tabeller. De används för att på ett effektivt sätt spara, bevara, hämta och skicka datan. Det finns två huvud klassificeringar av databaser, relationsdatabaser (SQL) och icke-relationella databaser(NoSQL). Dessa två typer uppfyller samma syfte men har olika användningsområden. Där valet av en typ beror till stor del på tre olika aspekter: datastrukturen, typen av data som ska lagras och lagringsmetoden.

Kursen kommer ha två olika delar, en teoretisk och en praktisk. Under den första delen kommer kursen att gå igenom:

  • skillnaden mellan relationsdatabaser SQL och ickerelationella databaser NoSQL
  • design och implementation av relationsdatabaser
  • design och implementation av icke-relationella databaser
  • databasmodellering

I den andra delen kommer de studerande att designa och skapa två olika databaser, en SQL och en NoSQL.

Examensarbete 30yh-poäng
Syftet med examensarbetet är att den studerande ska sammankoppla, fördjupa och utveckla sina kunskaper och färdigheter inom området fullstack-utveckling som behandlats i tidigare genomförda kurser under utbildningen.

Målet är att den studerande skall genomföra ett utvecklingsprojekt som ska innehålla/vara applicerbart på utbildningens kursmål. Inom ramen för examensarbetet kan den studerande inrikta sig på utveckling utifrån tekniska verktyg, plattformar och ramverk eller utveckling som kommersiellt verktyg med färdigheter i teknisk utveckling som grund och förståelse för projektleverans och marknadsvillkor. Resultatet ska levereras i form av projektdokumentation och en slutrapport

Frontend Ramverk/Bibliotek (React, Angular) 30yh-poäng
Den snabba utvecklingen inom webbprogrammering har skapat ett behov av modernare och enklare sätt att utveckla webben. Vilket i sig har lett till utvecklingen av många olika Javascript ramverk/bibliotek. De två största ramverk/bibliotek för gränssnittsutveckling är React och Angular som utvecklats av Facebook och Google. Dessa ramverk har förenklat utvecklingen och förbättrat prestandan för webbapplikationer.

Under den här kursen kommer den studerande att introduceras till React och Angular, hur de fungerar under ytan och skillnaden mellan dessa två ramverk/bibliotek.

Den studerande kommer behöva redovisa sin förståelse genom att bygga ett projekt i både React och Angular, samt även kunna argumentera för den valda projektstrukturen och kunna redovisa skillnaden på ett ramverk och ett bibliotek.

HTML och CSS 30yh-poäng
Den här kursen ger kunskap om de verktyg och den teknik som behövs för att utveckla moderna webbplatser som lever upp till dagens standard. Fokuset kommer att ligga på HyperText Markup Language (HTML) och Cascading style Sheets (CSS). HTML är ett standardiserat språk som tillämpas för att definiera struktur av text, medier och inbyggda objekt för webbsidor och e-post. CSS är ett kompletterande språk till HTML som används för att styla HTML element.

Den teoretiska delen av kursen kommer dels att fokusera på semantiskt korrekt uppmärkning av HTML-sidor och tillhörande stilmallar för att ange sidornas utseende. Men också på hur man applicerar designen på HTML-elementen och skapande av responsiva sidor, dvs sidor som anpassar sitt utseende beroende på skärmstorlek.

Kursen kommer att avslutas med ett individuellt projekt där varje studerande kommer att få redovisa sitt arbete.

JavaScript Avancerat 30yh-poäng
Den här kursen kommer fördjupa den studerandes kunskaper och färdigheter inom JavaScript. Här kommer de introduceras till avancerade ämnen inom Javascript för att kunna bygga komplexa funktioner.

Nedanstående ämnen är huvudfokus för kursen:

  • Asynkron programmering (promises, callbacks, async/await)
  • Koppla webbapplikationen till en backend tjänst genom Rest API
  • Olika HTTP metoder och när ska de användas
  • Closures och deras användning
  • Att använda populära JavaScript bibliotek, och kunna läsa och förstå deras dokumentation
  • Förstå JavaScript event loop

Kursen kommer avslutas med ett grupprojekt där de studerande redovisar de inlärda kunskaperna.

JavaScript grundkurs 30yh-poäng
JavaScript är grunden för all funktionalitet på webbsidor men har på senare år blivit ett stort språk inom backend-utveckling. Den kan användas för att hantera funktionaliteten på webben, att trigga olika event, hantera data som skickas från servern via APIer och manipulera data som visas på webbsidan. Men även för att hantera datan systemet och lagra den i en databas.

Kursen kommer att ha två olika delmoment. En teoretisk del där den studerande kommer att få lära sig de grundläggande koncepten för programmering där vissa delar kommer att vara JavaScriptspecifika.

Nedanstående ämnen är huvudfokus för kursen:

  • Datatyper
  • Ecmascript
  • Reguljära uttryck
  • Grundläggande datastrukturer
  • Objektorienterad programmering
  • Funktionell programmering.

Den andra delen är praktisk där de studerande kommer få chansen att applicera de kunskaper som har införskaffats under kursens gång. De studerande kommer att ingå i projektgrupper där de förväntas applicera de inlärda ämnena.

LIA 1 50yh-poäng
Kursens övergripande Syftet är att den studerande, genom praktiskt arbete med frontend-utveckling i ett projekt hos ett företag eller byråverksamhet, ska få kvalificerade kunskaper och arbetsmetoder för att kunna arbeta självständigt som en frontend-utvecklare. Målet är att den studerande ska omsätta och utveckla sina kunskaper och färdigheter i enlighet med de rutiner, praktiska förutsättningar och resurser som finns på företaget.

Under första LIA-perioden ska den studerande utföra tilldelade arbetsuppgifter i JavaScript/HTML/CSS inom ramen för frontend-utveckling under handledning. I kursen kan den studerande både göra sin LIA på nationella och internationella företag där både svenska och engelska är koncernspråket.

LIA 2 40yh-poäng
Kursens övergripande Syftet är att den studerande, genom praktiskt arbete med backend-utveckling/fullstack-utveckling i ett projekt hos ett företag eller byråverksamhet, ska få kvalificerade kunskaper och arbetsmetoder för att kunna arbeta självständigt som en backend-utvecklare/fullstackutvecklare.

Målet är att den studerande ska omsätta och utveckla sina kunskaper och färdigheter i enlighet med de rutiner, praktiska förutsättningar och resurser som finns på företaget.

Under andra LIA-perioden ska den studerande utföra tilldelade arbetsuppgifter i JavaScript/HTML/CSS inom ramen för backend-utveckling/fullstack-utveckling under handledning. I kursen kan den studerande både göra sin LIA på nationella och internationella företag där både svenska och engelska är koncernspråket.

Säker applikation livscykel 20yh-poäng
Applikationens livscykel består av flera olika moment som projektledning, kravhantering, mjukvaruutveckling, testning och kvalitetssäkring, driftsättning och underhåll. På senare år har dessa steg kombinerats för att korta ner livscykeln till en utvecklingsmetod kallad Devops.DevOps och agila utvecklingsmetoder har tillsammans möjliggjort för ett team att samarbeta mer effektivt i en organisation.

Kursens övergripande Syftet är att den studerande ska kunna förstå de olika faser som en applikation går igenom samt kunna skapa sig en djupare förståelse för vad varje del innebär. Den studerande kommer att få lära sig att använda och förstå utvecklingsmiljöerna sandbox, test, demo, stage och produktion. De kommer också att få förståelse för när varje specifik miljö bör användas.

Nedanstående ämnen är huvudfokus för kursen:

  • Versionshantering med Git som är ett populärt versionshanterings verktyg i dagens industri
  • Test och olika tillgängliga verktyg som finns till hjälp
  • Genomgång av OWASP Top 10, med konkreta exempel för varje sårbarhetstyp
  • HTTP och HTTPS
  • CORS
  • (CD) continuous delivery och hur kan man sätta upp en säker CD pipeline

Särskild behörighet:
För behörighet krävs lägst betyget E/3/G i följande gymnasiekurser: 

  • Svenska 2 eller Svenska som andraspråk 2
  • Engelska 6
  • Matematik 2