Javautvecklare 400 YH-poäng, 2 år Utbildningsfakta Kurser (12 stycken) Grundläggande programmering och javaverktyg 50 yhp Grafiskt gränssnitt och interaktion 20 yhp Internet, webb och webbramverk 40 yhp Mönster, databaser och arkitektur 35 yhp Android 25 yhp Producera och lansera mjukvara 30 yhp Enterprise Java 30 yhp Integration 25 yhp Säker mjukvara 20 yhp Lärande i arbete 1 35 yhp Examensarbete 25 yhp Lärande i arbete 2 65 yhp Efter avslutad utbildning ska den studerande ha kunskaper om objektorienterad programmering relationsdatabaser och databasmodellering client-serversystem interaktionsdesign, kommunikation mellan gränssnitt och mjukvara mönster och konventioner kring programmering Efter avslutad utbildning ska den studerande ha färdigheter i testdriven utveckling agila projektmetoder versionshantering, debuggning, buggrapportering och dokumentation kravanalys, tidsrapportering och tidsestimering integration mellan befintligt och nytt system Efter avslutad utbildning ska den studerande ha kompetenser för att utveckla mobilapplikationer med Android utveckla affärssystem i Java Enterprise utveckla webbapplikationer bygga relationsdatabaser och skapa mjukvara som kommunicerar med en databas bygga säker mjukvara Utbildningen leder till följande yrkesroller: javautvecklare systemutvecklare systemadministratör med javaspecialisering apputvecklare för android 1
1. Grundläggande programmering och javaverktyg 50 yhp Efter avslutad kurs ska studenten ha förståelse för grundläggande objektorienterad programmering och kunna skapa enkla program. Studenten använder en fullvärdig utvecklingsmiljö bestående av de grundläggande javaverktygen, tredjepartsbibliotek samt kan orientera sig i javas standardbibliotek. Studenten har lärt sig möta och hantera felmeddelanden och dokumentering. Hur man översätter verkligheten till programkod Sekvens, tilldelning, villkor, iteration Variabler och arrayer, funktioner och metoder, modularitet och namngivning Virtuella maskiner, java virtual machine De vanligaste nyckelorden och konstruktionerna i java Grundläggande objektorientering för java Objekt, klasser, typer och första ordningens objekt i java Abstrakta datatyper, generics, void Standardbibliotek och tredjepartsbibliotek Mönster och arv Javaplattformen J2SE, Utvecklingsmiljön Eclipse, versionshantering med Mercurial Dokumentation med javadoc Paketering med hjälp av ANT 2. Grafiskt gränssnitt och interaktion 20 yhp Studenten ska känna till styrkor och svagheter med olika typer av gränssnitt och ha förmåga att kategorisera och välja ut rätt gränssnitt för sin applikation. Studenten har förståelse för hur grafiskt gränssnitt och logik påverkar varann. Efter avslutad kurs har studenten byggt en applikation på ett sådant sätt så att den klarar av att ta in data från många olika källor. Introduktion till lo-fi-prototyper Human Machine Interaction (HMI) Interaktionsdesign Rika webbgränssnitt och traditionella desktopapplikationer Studie av dåliga gränssnitt AWT, Swing och Java FX Hur man hanterar kopplingen mellan mjukvara och perifera enheter 2
3. Internet, webb och webbramverk 40 yhp Efter genomförd kurs har studenten grundläggande förståelse för internets infrastruktur och kan skriva program som kommunicerar över internet. Studenten lär sig också att bygga kompletta webbapplikationer som inkluderar både klient- och serverprogrammering. På klientsidan jobbar vi med html, css, javascript. Serversidan är baserad på java och utvalda webbramverk. Hur internet fungerar Introduktion till kommunikation över internet: adress, socket och protokoll HTTP och JSON html, css och javascript Användning av webbramverk för att binda ihop webbsidor med en javabaserad serverarkitektur 4. Mönster, databaser och arkitektur 35 yhp Studenten lär sig att strukturera sin kod så att kodbasen kan växa och utvecklas över tid. Mycket fokus ligger på domändriven design, dvs att använda javaobjekt som speglar den verksamhet man jobbar mot. Under kursen går vi även igenom designmönster, beprövade sätt att lösa problem som man ofta ställs inför som systemutvecklare. Kursen har ett stort fokus på kodkvalitet, vilket bland annat omfattar enhetstester, integrationstester samt korrekt namngivning av klasser och variabler. Efter avslutad kurs har studenten en grundläggande förståelse för relationsdatabaser och hur man arbetar mot databaser från sitt javaprogam. Domändriven design Flerskiktad arkitektur Objektmodellering. Användning av interface och abstrakta klasser. Enhetstestning och integrationstestning Maven Spring Relationsdatabaser och SQL Tankarna bakom clean code 5. Producera och leverera mjukvara 30 yhp Efter avslutad kurs har studenten förståelse för mjukvaruutvecklingens hela livscykel från kravanalys och förstudie via en iterativ utvecklingsprocess till test, buggfix och driftsättning. Hur man gör en meningsfull förstudie. Tidsrapportering, estimering 3
Krav, testning, buggrapportering Driftsättning: paketering, versionssättning, changelogging, deployment och loggning Kommunikation med kund Programmeringens estetik Agila projektmetoder som scrum och xp Hur man arbetar i ett utvecklarteam 6. Android 25 yhp Efter avslutad kurs har studenten utvecklat en androidapplikation med ett grafiskt gränssnitt som använder sig av någon av den mobila enhetens sensorer.. Javaprogrammering för Android 4.0 Introduktion till Android-ramverket Introduktion till embedded-miljö 7. Java Enterprise 30 yhp Java Enterprise (JEE) består av ett antal ramverk och arkitekturmönster som är till hjälp för att bygga affärskritiska applikationer i java. Ofta används JEE i komplexa verksamheter med höga krav på prestanda, skalbarhet, säkerhet och integration med andra system. Efter avslutad kurs har studenten en förståelse för vilka delar som ingår i JEE och besitter färdigheten att sätta ihop dessa till ett fungerade system. De ramverk och specifikationer som JEE består av Serviceorienterad arkitektur Meddelandehantering (JMS) Koppling mellan webbapplikationer och bakomliggande serverkod Fördjupad förståelse för JPA och andra frågor som rör datalagring i ett enterprisesystem 8. Integration 25 yhp Efter avslutad kurs ska den studerande ha erfarenhet av integration mellan flera befintliga system. Studenten har satt sig in i befintlig dokumentation och förstår hur man använder programmatiska gränssnitt. De studerande ska få erfarenhet av en integrationsplattform. I kursen ingår ett moment som ger de studerande förståelse för de licenser och patent som ligger på utvecklarnivå och vad det får för konsekvenser att använda viss öppen källkod vid utvecklandet av mjukvara. Service Oriented Architecture Definition av gränssnitt mellan applikationer Vanliga problem och frågeställningar vid integration 4
9. Säker mjukvara 20 yhp Efter avslutad kurs skall studenten känna till tekniker för att minska sårbarhet i mjukvaran som de utvecklar. Studenten ska lära sig att konstruera robust mjukvara som tål hög belastning och att utsättas för skadlig kod och illvilliga användare. Studenten har kunskap om hur man kan minimera exponeringen, dvs risken att råka ut för något, genom att bygga mjukvara som filtrerar bort oönskad indata. Varför mjukvara i grunden är osäker och vilka konsekvenser det får Genomgång av vilka typer av attacker som är vanliga Designa för säkerhet Autenticering och auktorisering Kryptering för skydd av data Introduktion till hashning Introduktion till certifikat 10. Lärande i arbete 1 35 yhp Målet med kursen är att ge den studerande en förståelse för och en introduktion i hur man professionellt arbetar med systemutveckling. Den studerande ska under kursen arbeta självständigt med mjukvaruutveckling antingen för webb eller för desktop. Kursen är företagsförlagd och ska innehålla moment ur utbildningens kurser, som exempelvis: Skriva mjukvara som kommunicerar över internet Relationsdatabaser och SQL Testdriven utveckling och agila projektmetoder 11. Examensarbete 25 yhp Målet med examensarbetet är studenten tillämpar utbildningens innehåll i en ny, relevant situation för att fördjupa sitt lärande inom området javautveckling. Det kan handla om att studenten på egen hand skaffar ett skarpt projekt med en verklig kund, eller att studenten fördjupar sig i någon javateknologi som inte ingått i utbildningen. Den studerande ska visa att han/hon självständigt kan lösa en uppgift genom att: - Ta fram en problemformulering - Söka och ta till sig ny kunskap och kompetens - Genomföra en analys och ta fram en lösning - I rapportform och genom en muntlig presentation åskådliggöra sin lösning 5
12. Lärande i arbete 2 65 yhp Målet med kursen är att den studerande fördjupar sin förståelse för hur man professionellt och kommersiellt arbetar med systemutveckling. Den studerande ska under kursen arbeta självständigt med mjukvaruutveckling eller systemintegration. Kursen är företagsförlagd och ska innehålla moment ur utbildningens kurser, som exempelvis: Enterprise Java Systemintegration Android Databaser Testdriven utveckling och agila projektmetoder 6