Skip to main content

Fördjupad kursplan Applikationsutvecklare till iPhone och Android

Page 1

Fördjupad kursbeskrivning – Applikationsutvecklare till iPhone och Android

Agil metodik – 15p Kursens huvudsakliga innehåll Efter kursen ska den studerande kunna arbeta utefter den agila metoden SCRUM och förstå hur ett effektivt arbete i iterationer fungerar i utvecklingsprocessen. Syftet med kursen är att effektivt leverera kundnära funktionalitet via effektiva former för samarbete och kommunikation enligt den agila metoden SCRUM. Kunskaper inom: • Agila metoder och arbetsprocesser såsom SCRUM • Product backlogs och sprint backlogs • Definition of Done • Sprint review och sprint retrospective • Agil Estimering Färdigheter i att: • Hantera backlogs, utföra daily scrums och sprint reviews • Använda agila verktyg för backlog- och processhantering, ex. Jira, Trello eller Github projects • Skapa sprint-planeringar utifrån user stories • Koppla krav till user stories och funktionalitet samt skapa Definition of Done -kriterier

Kompetenser för att: • I team arbeta utefter agila utvecklingsprocesser och tillämpa ett agilt arbetssätt enligt SCRUM • Föreslå förbättringar av sprintkvalitet samt leverera produkter och features med hög kvalitet över tid • Självständigt kunna använda agila verktyg för processhantering, ex. Jira, Trello eller Github projects


Agil utveckling 15p Kursens huvudsakliga innehåll Efter kursen ska den studerande kunna arbeta utefter agila metoder i kombination med hantering av kodbas och förstå hur ett effektivt arbete i iterationer fungerar i utvecklingsprocessen. Den studerande lär sig planera, utföra samt identifiera resurser för effektiv applikationsutveckling. Kursen ger specialiserade kunskaper inom versionshantering (Git) och metoden Gitflow för hantering av olika versioner för källkod och applikationer i ett utvecklingsarbete. Den studerande lär sig att kommunicera åtaganden och lösningar med kravställare, testare, affärsanalytiker och andra intressenter på svenska och engelska. Syftet med kursen är att effektivt leverera kundnära funktionalitet via agila former för samarbete och kommunikation, kundsamarbete, samt tidig och frekvent feedback, samt att kunna samarbeta med kravställare för en effektiv utvecklingsprocess. Kunskaper inom: • Versionshantering i ex. Git • Samarbete kring kod med Gitflow • Verktyg för kommunikation mot kund • Verktyg för intern dokumentation av uppdrag • Affärsrelaterad kommunikation Färdigheter i att: • Använda ett versionshanteringssystem och metoden Gitflow • Evaluera utfört arbete i relation till estimeringen av backlog items. • Estimera tid för att utföra ett arbete • Ta fram en tydlig rapportering • Kommunicera åtgärder och lösningar med en kravställare, projektgrupp/tema och/eller andra intressenter på svenska och engelska Kompetenser för att: • Självständigt sammanfoga egen kod med en större kodbas med ett versionshanteringssystem • Arbeta som konsult och samarbeta med kravställare • Självständigt skapa tydliga rapporter • Övervaka arbete med utvecklingen av en mobilapplikation samt slutföra förlagda projekt inom yrkesrollen som applikationsutvecklare till iPhone och Android


Androidutveckling 50p Kursens huvudsakliga innehåll Efter kursen ska den studerande kunna utveckla och felsöka Android-applikationer utifrån givna kravspecifikationer. Kursen ger kunskaper i att fritt programmera med Java och skapa native applikationer till Android. Syftet med kursen är att skapa appar specifikt för den standardiserade Android-plattformen. Kunskaper inom: • Specialiserade kunskaper inom teoretisk och praktisk programmering i Java och/eller Kotlin • Git/versionshantering • Android Studio XML Java- och Android SDK-API:er • Objektorienterad programmering Färdigheter i att: • Utveckla program och applikationer med Java/Kotlin • Använda ett versionshanteringssystem för att checka in och ut ändringar, och konsolidera dessa ändringar med den egna koden • Arbeta med Android Studio • Konfigurera Android-projekt och layout för vyer • Anropa externa API:er/tjänster • Skapa återanvändbar och skalbar kod Kompetenser för att: • Utveckla och felsöka Android-applikationer • Hantera versioner av kod och applikationer • Utveckla och felsöka Android-applikationer med Android Studio • Utveckla Android applikationer som nyttjar externa API:er/tjänster • Utveckla skalbara Android applikationer • Utveckla Android-applikationer


Backendutveckling med C# 20p Kursens huvudsakliga innehåll Efter kursen ska den studerande kunna skapa Web API:er med hjälp av programmeringsspråket C# och plattformen .NET med mål att fungera som backend för mobila applikationer. Den studerande lär sig hur ett Web API är uppbyggt och hur det kan användas för att exponera data. Kunskaper inom: • Web API:er och REST • Programmeringsspråket C# • .NET Plattformen och ramverket Asp.NET • Dokumentation och testning av Web API:er, Swagger/Open API • XML, Json och andra format för serialisering av data Färdigheter i att: • Skapa Web API:er med Asp.NET • Skriva kod med C# • Koppla Web API:er mot en databas Kompetenser för att: • Skapa, underhålla och utveckla ett Web API med hjälp av Asp.NET och C# • Anropa Web API från mobila applikationer


Cross-platform-utveckling 35p Kursens huvudsakliga innehåll Efter kursen ska den studerande kunna använda ramverk och bibliotek för att bygga attraktiva, användarvänliga och publicerbara cross-platform-appar. Syftet med kursen är att den studerande ska kunna bygga cross-platform-appar som, utifrån en kodbas, fungerar på flera plattformar (till exempel för Android och iOS). Dessa appar ska dessutom vara användarvänliga, samt se ut och bete sig (“look and feel”) som att de har skapats med ett “native” utvecklingsverktyg (till exempel SDK-verktygen för Android och iOS). Den studerande ska också kunna paketera dessa appar för relevanta appmarknader (till exempel App Store och Play Store). Kunskaper inom: • Ramverk och/eller bibliotek lämpade för cross-platform-apputveckling (till exempel React), och relaterade bibliotek • “Native”-ramverk lämpat för cross-platform-apputveckling (till exempel React Native) • Stegen för att paketera en app för att publiceras på appmarknader (till exempel App Store och Play Store) • Riktlinjer för att appen ska vara användarvänlig och kompatibel med relevanta appmarknadskrav Färdigheter i att: • Konfiguration av en cross-platform-utvecklingsmiljö (till exempel React Native/Expo) • Nyttjande av bibliotek, komponenter och programmeringsgränssnitt relevanta för cross-platformramverk och -bibliotek • Strukturering av cross-platform-appar utifrån ett önskat användargränssnitt och tekniska “best practices” •Anpassningar som bidrar till att appen godkänns vid en publiceringsgranskning Kompetenser för att: • Skapa applikationer med ett bibliotek/ramverk lämpat för cross-platform-apputveckling (till exempel React) • Skapa attraktiva och användarvänliga appar som, utifrån en kodbas, fungerar på flera plattformar (till exempel Android och iOS) • Förbered och paketera cross-platform-appar för publicering på appmarknader (till exempel App Store och Play Store)


Databashantering 15p Kursens huvudsakliga innehåll Efter kursen ska den studerande skapa och hantera både relations- och icke-relationsdatabaser. Den studerande lär sig programmera fritt med SQL och andra relevanta programmeringsspråk för att skapa en fungerande databasstruktur. Syftet med kusen är att skapa databasdrivna applikationer samt kunna välja typ av databas som bäst passar applikationen syfte och funktionalitet. Kunskaper inom: • SQL (t.ex. PostgreSQL) • NoSQL (t.ex. CouchDB) • Normalisering • Transaktioner och ACID Färdigheter i att: • Designa databasscheman och -strukturer • Hämta, lagra, uppdatera och ta bort data • Normalisera databaser utifrån integritetsbegränsningar • Utföra operationer på databaser som inte riskerar datagiltighet Kompetenser för att: • Designa sätta upp en relationsdatabas • Designa och sätta upp en icke-relationsdatabas • Göra medvetna val mellan NoSQL och SQL -databaser • Säkerställa dataintegritet • Säkerställa datagiltighet


Examensarbete 15 p Kursens huvudsakliga innehåll Efter kursen ska den studerande kunna skapa en applikation för en mobilenhet eller funktionalitet i en applikation. Kursen ger kunskaper i att kunna ta hänsyn till en applikationslivscykel och motivera val av programmeringslösning samt kan kritiskt värdera sin egen lösning. Den studerande lär sig att lösa sammansatta problem inom programmering, utveckling och applikationsutveckling. Syftet med kursen är att kunna skapa kommersiella applikationer till mobila enheter. Kunskaper inom: • • • • •

En applikations livscykel Applikationsutveckling Affärsnytta Programmering av en applikation Kunskaper om och överblick över angränsande yrkes-och kompetensområden såsom mjukvarutestning och backend-utveckling

Färdigheter i att: • • •

Programmera en applikation till en mobil enhet med ett kommersiellt syfte Teoretiskt förutse ett applikationsbehov för att vara konkurrenskraftig och användarvänlig Identifiera avgörande element för en applikations affärsnytta

Kompetenser för att: • • • •

Självständigt skapa en applikation till en mobil enhet Självständigt värdera vald lösning och föreslå förbättringar Självständigt behandla teoretisk och praktisk applikationsutveckling med native- och crossplatform-utveckling som leder vidare till lärande och professionell utveckling Med hjälp av presentationsstöd genomföra en muntlig redovisning av examensarbetet


LIA 1 40 p Kursens huvudsakliga innehåll Den studerande lär sig specialiserade kunskaper inom teoretisk och praktisk applikationsutveckling antingen med nativ- eller crossplatform-utveckling. Kursen ger kunskaper i att kunna omsätta teoretiska och praktiska kunskaper på en arbetsplats. Den studerande redogör för hur arbetet med kravhantering, applikationsdesign och dokumentation sker. Den studerande skapar kod som bidrar till en kommersiell applikation. Syftet med kursen är att få en djupare förståelse för arbetslivets krav för yrkesrollen. Kunskaper inom: • • • • •

Specialiserade kunskaper inom teoretisk och praktisk objektorienterad programmering Kravhantering Applikationsdesign Dokumentation Versionshantering

Färdigheter i att: • • •

Skriva native eller crossplatform kod och dokumentera arbetet Tolka en kravspecifikation och designdokument Använda ett versionshanteringsverktyg

Kompetenser för att: • • •

Självständigt eller i team skapa en applikation eller funktionalitet i en applikation Självständigt använda ett versionshanteringssystem’ Muntligt presentera sitt arbete


LIA 2 80 p Kursens huvudsakliga innehåll Kursen ger kunskaper i att kunna lösa sammansatta problem inom applikationsutveckling med välfungerande programmerings kod enligt företags krav på dokumentation och ”patterns”. Den studerande lär sig att bedöma en kravspecifikation, designdokument och skapa dokumentation i linje med ett företags riktlinjer. Den studerande lär sig att planera och organisera sitt arbete på ett effektivt sätt, och bidrar med egenskriven kod till en applikation genom att självständigt använda ett företags versionshanteringssystem. Syftet med kursen är att bli anställningsbar som applikationsutvecklare. Kunskaper inom: • •

Avancerad applikationsutveckling Arbetsprocesser och kvalitetskriterier inom teoretisk och praktisk applikationsutveckling i team

Färdigheter i att: • •

Lösa sammansatta problem inom programmering, utveckling och applikationsutveckling Producera programmeringskod som är kvalitetssäkrad utefter företagets riktlinjer

Kompetenser för att: • • •

Självständigt eller i team skapa en applikation eller funktionalitet i en applikation Arbeta som applikationsutvecklare på ett kommersiellt företag Muntligt presentera sitt arbete


Objektorienterad analys & design 10 p Kursens huvudsakliga innehåll Efter kursen ska den studerande kunna presentera principer och tekniker behjälpliga kring mjukvarudesign och kommunikation. Den studerande lär sig att skapa skalbar kodbas som smidigt och snabbt kan utbyggas. Kursen ger kunskaper i att kunna skapa kod som håller hög kvalité och ger grund för andra utvecklare att förstå producerad kod. Syftet med kursen är att uppnå effektivitet och hög kvalitet i utvecklingsarbetet. Kunskaper inom: • Design-patterns ex. MVC och MVVM • Sekvensdiagram • Klassdiagram • Designprinciper som SOLID, DRY och KISS Färdigheter i att: • Lösa kodproblem med hjälp av designmönster • Bryta ner ett user story i flera steg • Planera programutveckling och ange samband mellan klasser • Skapa skalbar och välstrukturerad kod Kompetenser för att: • Tolka och analysera krav • Bidra till en effektiv utvecklingsprocess • Säkerställa hög kvalitet i applikationer, t.ex. genom att göra applikationskod mer lättförståelig och underhållsvänlig • Skapa skalbar och strukturerad kod


Programmering iOS Objective-C och Swift 50 p Kursens huvudsakliga innehåll Efter kursen ska den studerande kunna skapa fungerande tillämpningar för iPhone, iPod Touch och iPad med programmeringsspråken Objective-C och Swift utifrån givna kravspecifikationer. Den studerande lär sig programmera fritt med Objecitve-C och Swift för att skapa native applikationer för iOS. Den studerande lär sig att redogöra för guidelines för att publicera appliaktioner på Appstore. Syftet med kursen är att skapa appar specifikt för iOS-plattformen. Kunskaper inom: • Specialiserade kunskaper inom teoretisk och praktisk iOS-programmering med Swift och Objective-C fri OS SDK • Xcode Protocols • Grundläggande funktionell programmering med Swift • Orientering i Apple:s ekosystem och redogöra för guidelines för publicering av applikationer på Appstore Färdigheter i att: • Använda avancerad ramverk inom iOS • Utveckla iOS-applikationer • Skapa funktionalitet till applikationer med hjälp av Xcode • Kunna använda Swift:s grundläggande verktyg för abstraktion • Skapa funktionell kod i Swift. Funktionell = består av matematiska funktioner och mnska oönskade sidoeffekter i Swift kod • Beroende på applikationens syfte och funktionalitet kunna anpassa den till Apples ecosystem Kompetenser inom: • Självständigt skapa native iOS-applikationer med Objective-C och Swift • Självständigt konstruera applikationer som följer Apples guidelines • Självständigt skriva skalbar och återanvändbar kod för iOS


Webbapplikationsutveckling 55 p Kursens huvudsakliga innehåll Efter kursen ska den studerande kunna programmera fritt med språken HTML, CSS och JavaScript för att skapa webbapplikationer, inklusive Single Page Applications och progressiva webbapplikationer (PWAapplikationer). Den studerande lär sig att tillämpa frontend-utveckling med HTML, CSS och JavaScript. Syftet med kursen är att effektivt kunna skapa och publicera rika, dynamiska och mobilanpassade webbapplikationer och mobilapplikationer, som kommunicerar med webbtjänster. Kunskaper inom: • HTML CSS, inkl. tekniker för layout (t.ex. Flexible Box Layout och Grid Layout) • JavaScript/ES6+ • Ramverk eller bibliotek för frontutveckling (t.ex. Polymer, React, Vue.js) • Responsiv webbdesign • Progressive enhancement och Progressive Web Apps (PWA) • Single Page Applications • Ajax • NodeJS • Paketering (t.ex. Webpack) HTTP och JSON • Pakethanterare (t.ex. npm, Yarn) Färdigheter i att: • Skapa struktur för webbsidor med hjälp av HTML-element • Stilsätta HTML-element och webbsidor • Skapa och lägga till funktionalitet i webbsidor • Hantera applikationstillståndsinformation och kommunikation mellan komponenter • Konfigurera webbsidor för att vara responsiva, dvs. att sidan anpassar sig till skärmens storlek • Använda progressive Web Apps (PWA)-funktionalitet, såsom Web App Manifest-konfigurationer och Service Workers • Tillämpa Routing – att olika innehåll visas vid olika webbadresser • Hantera den dynamiska förändringen i data utan att websidorna laddas om • Använda asynkrona anrop i webbutvecklingen • Planera och utföra applikationsdesign som förenklar utveckling, kommunicerar systemdesign samt är användarvänlig och attraktiv • Paketera assets och beroenden • Använda REST i webbanrop • Hantera paket och lösa beroende vid utvecklingen av webbapplikationer

Kompetenser för att: • • • • • •

Skapa dynamiska webbapplikationer och mobilanpassade webbapplikationer Skapa webbsidor som nyttjar api:er och webbtjänster Självständigt Skapa PWA (Progressive Web App)-applikationer och webbapplikationer som gör anrop mot webbtjänster Skapa webbsidor som anpassar sig till alla enheter, oavsett skärmstorlek Självständigt Skapa snabba och användarvänliga webbsidor Självständigt Publicera webbapplikationer på webben


• • • •

Skapa användarvänliga webbsidor där innehållet ändras utan att sidan laddas om Hantera uppbyggnad av stora webbapplikationer och skapa skalbara webbapplikationer Skapa snabba och lätta mobilapplikationer Självständigt Behandla teoretisk och praktisk applikationsutveckling med native- och crossplatform-utveckling som leder vidare till lärande och professionell utveckling


Turn static files into dynamic content formats.

Create a flipbook
Fördjupad kursplan Applikationsutvecklare till iPhone och Android by IT-Högskolan - Issuu