En applikation är ett mjukvarusystem som utför en specifik uppgift direkt åt slutanvändaren, till exempel en ordbehandlare eller en fotoredigerare. En traditionell applikation som exempelvis en ordbehandlare interagerar med slutanvändaren genom ett grafiskt användargränssnitt baserat på fönster, ikoner, menyer och pekare. En applikation reagerar på händelser i form av musklick, tangentbordstryckningar, tidssignaler, etc; programflödet är händelsestyrt och trådar behöver användas för att säkerställa att applikationen förblir responsiv. Applikationer behöver också ladda, bearbeta och spara data lagrade i särskilda filformat. Eftersom en applikation är ett komplext system som ändras över tid i takt med att nya funktioner tillkommer, så ställs krav på att mjukvaran har en robust design som möjliggör att flera utvecklare samtidigt kan arbeta med olika delar.
Modul 1, teori, 3,0 hp Här bygger studenten en konceptuell förståelse för objektorienterad applikationsutveckling, vilket förutsätter en förståelse för exempelvis händelsestyrd programmering, trådar och trådsäkerhet, grafiska användargränsnitt för skrivbordsapplikationer, strukturerad datalagring och designmönster.
Modul 2, praktik, 4,5 hp Här övar studenten den programmeringsfärdighet som behövs för att utveckla applikationer. Teorin från modul 1 omsätts först till praktik genom ett antal mindre tematiska programmeringsuppgifter. Sedan konstruerar och implementerar studenterna en komplett applikation med ett grafiskt gränssnitt, trådar och händelsestyrd programmering. Programkoden hanteras i ett versionshanteringssystem (Git).
Förväntade studieresultat
Kunskap och förståelse Efter avslutad kurs ska studenten kunna:
(FSR 1) förstå koncept relaterade till trådar, synkronisering och trådsäkerhet
(FSR 2) förstå koncept relaterade till händelsestyrda system och grafiska gränssnitt för skrivbordsapplikationer
(FSR 3) förstå konceptet designmönster och beskriva syftet med och strukturen hos några konkreta designmönster
(FSR 4) förstå koncept relaterade till strukturerad datalagring (XML och JSON)
Färdighet och förmåga Efter avslutad kurs ska studenten kunna:
(FSR 5) använda synkroniseringsmekanismer för att uppnå trådsäkerhet
(FSR 6) använda designmönster vid utveckling av objektorienterade applikationer
(FSR 7) konstruera och implementera händelsestyrda skrivbordsapplikationer med grafiska gränssnitt och strukturerad datalagring
(FSR 8) använda UML-notation för att dokumentera en applikations konstruktion
Värderingar och förhållningssätt Efter avslutad kurs ska studenten kunna:
(FSR 9) reflektera över sin förmåga att slutföra uppgifter inom givna tidsramar
Behörighetskrav
För behörighet krävs: - Objektorienterad programmering (Java), 7,5 hp, eller motsvarande - minst 7,5 hp inom datastrukturer och algoritmer - minst 7,5 hp inom människa-datorinteraktion
Undervisningens upplägg
Undervisningen bedrivs i form av föreläsningar och övningar. Utöver schemalagda aktiviteter krävs även individuellt arbete med materialet.
Examination
Examination av modul 1, teori Examinationen omfattar FSR 1-4 och sker genom en salstentamen. På modulen sätts något av betygen Underkänd (U), Godkänd (3), Icke utan beröm godkänd (4) eller Med beröm godkänd (5).
Examination av modul 2, praktik Examinationen omfattar delar av FSR 5-9 och sker genom ett antal skriftliga inlämningsuppgifter. På modulen sätts något av betygen Underkänd (U), Godkänd (3), Icke utan beröm godkänd (4) eller Med beröm godkänd (5).
Betyg på kursen som helhet På kursen som helhet sätts något av betygen Underkänd (U), Godkänd (3), Icke utan beröm godkänd (4) eller Med beröm godkänd (5). Betyget utgörs av medelvärdet av betygen på de två modulerna avrundat nedåt.
Stöd på grund av funktionsnedsättning Avsteg från kursplanens examinationsform kan göras för en student som har beslut om pedagogiskt stöd på grund av funktionsnedsättning. Individuell anpassning av examinationsformen ska övervägas utifrån studentens behov. Examinationsformen anpassas inom ramen för kursplanens förväntade studieresultat. Efter begäran av studenten ska kursansvarig lärare, i samråd med examinator, skyndsamt besluta om anpassad examinationsform. Beslutet ska sedan meddelas studenten.
Byte av examinator En student som utan godkänt resultat har genomgått två prov för en kurs eller en del av en kurs, har rätt att få en annan examinator utsedd, om inte särskilda skäl talar emot det (HF 6 kap. 22 §). Begäran om ny examinator ställs till prefekten för Institutionen för datavetenskap.
Övriga föreskrifter
I en examen får denna kurs ej ingå, helt eller delvis, samtidigt med en annan kurs med likartat innehåll. Vid tveksamheter bör den studerande rådfråga studievägledare vid Institutionen för datavetenskap och/eller programansvarig för sitt program.
Speciellt gäller att denna kurs inte kan ingå i en examen samtidigt som 5DV135 Applikationsutveckling i Java.
Om kursplanen har upphört att gälla eller kursen slutat erbjudas garanteras en student som någon gång registrerats på kursen minst tre provtillfällen (inklusive ordinarie provtillfälle) enligt denna kursplan under en tid av maximalt två år från det att kursplanen upphört att gälla eller kursen slutat erbjudas.
Litteratur
Giltig från:
2022 vecka 26
Horstmann Cay S. Big Java : early objects. S.l. : John Wiley & Sons : 2019 : 708 pages : ISBN: 9781119588887 Obligatorisk Se Umeå UB:s söktjänst
Bilting Ulf Designmönster för programmerare 2., [utök.] uppl. : Lund : Studentlitteratur : 2011 : 225 s. : ISBN: 978-91-44-07608-9 Obligatorisk Se Umeå UB:s söktjänst