Fördjupad kursplan – Javautvecklare Java programmering: Kursens syfte är att skapa kod som är enkel att underhålla. Målet med kursen är att utveckla applikationer med programspråket Java.Syftet med kursen är att lösa programmeringsproblem med objektorienterad programmering. Kursens primära innehåll: • Java programmering • Syntax • Datastruktur och algoritmer • io-hantering - filsystem • Objektorienterad programmering i Java • Generics • Enhetstest Agil utveckling: Målet med kursen är att den studerande ska arbeta utefter agila metoder och förstå hur ett effektivt arbete i iterationer fungerar i utvecklingsprocessen. Kursens syfte är att snabbt ta fram features. Kursens primära innehåll: • Agila metoder som t.ex. Scrum • Kanban • Definiton of Done • Estemate - tidsuppskattning för att genomföra arbetsuppgifter • User story - beskriva funktioner och information om systemet utifrån slutanvändaren • Effektiva team använda sig av målsättning Clean code och testbar kod: Målet med kursen är att applicera testprocesser för effektiv utveckling samt reducera teknisk skuld genom designmönster och designprinciper. Kursens syfte är att skapa kod som är enkel att underhålla. Kursens primära innehåll: • Olika patterns • Principer för att skriva lättförståelig kod och underhållsvänlig kod exempelvis SOLIDprinciper och "clean Code" • Design patterns • Testprocesser som TDD, BDD och liknande Utveckling mot databas och databasadministration: Målet med kursen är att designa och programmera mot SQL- och NOSQL-databaser. Kursens syfte är att bygga och förstå applikationer som använder data sparad i externa databaser. Kursens primära innehåll: • Databastyper som dokumentdatabas och relationsdatabas typ Raven db, mongo db eller liknande • SQL och NOSQL baserade databaser
• Normalisering av databaser och tabeller • Frågespråket SQL Javaverktyg och byggmiljöer: Målet med kursen är att den studerande ska bygga, testa, driftsätta och hantera ändringar kring applikationer på ett effektivt sätt. Kursens syfte är att använda en automatiserad byggmiljö medhjälp av olika verktyg. Kursens primära innehåll: • Olika typer av IDE, exempel Eclipse, Netbeans, IntelliJ, m.m. • Versionshantering tex. Git • Byggsystem - Continious intregration tex. Jenkins • Köra tester automatiskt • Applikationsservrar • Driftsättning Web services och integrationer: Målet med kursen är att skapa och arbeta med distribuerande applikationer via webbkommunikation. Kursens syfte är att publicera och konsumera data i externa system. Kursens primära innehåll: • Integrationer mellan system • Webbtjänster • REST • XML, Json och Protobuf • Ramverk för webbtjänster • Swagger /open API3, Curl och Postman Utveckling av webbapplikationer: Målet med kursen är att skapa, driftsätta och underhålla moderna webbapplikationer. Kursens syfte är att skapa moderna webbapplikationer. Kursens primära innehåll: • HTML • CSS • JavaScript • Orientering i olika webbramverk • Server genererade webbgränssnitt • Enhetstester av webbklienter • Ajax • Webbsocket • Verktyg för felsökning • Responsiv design Complex Javaprogramming: Målet med kursen är att den studerande ska skapa säkra, tillgängliga och elastiska internetbaserade tjänster och applikationer. Kursens syfte är att hantera komplexa skalbara- och feltoleranta system. Kursens primära innehåll: • JEE och dess beståndsdelar • Java API:er
• Meddelandehantering och köer • Transaktioner • Säkerhet • Behörigheter och roller • Skalbarhet och trådar • Tillgänglighet och redundans • Alternativ till JEE, tex. Spring boot 2.0 LIA 1 & 2: Målet med kursen är att den studerande ska genomföra Javautveckling på ett IT-företag. Kursens syfte är att kunna lösa tekniska problem på ett IT-företag. Kursens primära innehåll: • Företagets kravarbetearbete • Företagets dokumentation av utvecklingen • Objektorienterad programmering • Företagets ramverk • Företagets utvecklingsprocess Examensarbete: Målet med kursen är att den studerande självständigt skapa en Java- lösning.Syfte: Tillämpa teoretiska och praktiska kunskaper för att självständigt bygga en Java-lösning. Kursens primära innehåll: • Avancerad Javaprogrammering • Problemlösning • Dokumentation av utvecklingen • Planering av utvecklingen