Avancerad objektorienterad programmering, 7,5 hp
Advanced Object Oriented Programming, 7.5 credits
Kurskod: DT4014
Akademin för informationsteknologi
Nivå: Grundnivå
Välj kursplan
Fastställd av: Forsknings- och utbildningsnämnden, 2024-09-18 och gäller studenter antagna vårterminen 2025.
Huvudområde med fördjupning
Datateknik, Grundnivå, har mindre än 60 hp kurs/er på grundnivå som förkunskapskrav. (G1F)Behörighetskrav
Programmering 7,5 hp samt Algoritmer och datastrukturer 7,5 hp. Engelska 6.
Kursens inplacering i utbildningssystemet
Kursen ingår i Civilingenjör i datateknik 300 hp och i Dataingenjör 180 hp samt ges som fristående kurs.
Mål
För att kunna konstruera programkomponenter som är förändringsbara och återanvändbara krävs goda kunskaper om avancerade språkkonstruktioner och programmeringstekniker.
Kursens syfte är att studenterna ska tillägna sig utökade kunskaper om objektorienterade programmeringstekniker (OOP) samt färdigheter som krävs för att förstå och utnyttja moderna bibliotek för objektorienterad programmering. Ett annat syfte är att studenterna, genom samarbete i team under projektarbete och genom användning av en agil utvecklingsmetodik, ska tillämpa avancerade objektorienterade programmeringstekniker för att utveckla Java-baserade applikationer.
Efter avklarad kurs ska studenten kunna:
Kunskap och förståelse
- förklara och tillämpa arvsteknik, polymorism och enhetstestning
- förklara begreppet modellbaserad applikationsdesign och utveckling med hjälp av lämpligt modelleringsspråk eller formalism
Färdighet och förmåga
- utifrån befintlig kravspecifikation designa, konstruera och programmera Javaapplikationer med återanvändbara abstrakta typer och datastrukturer
- använda ett distribuerat versionshanteringssystem
- identifiera och tillämpa genomgångna designmönster utifrån givna problem
- använda kodreflektion och Java annotations för att göra program och programbibliotek "självmedvetna"
- presentera resultatet av sitt arbete skriftligt och muntligt
Värderingsförmåga och förhållningssätt
- värdera och deltaga i utvecklingen av återanvändbara programbibliotek
- utvärdera resultatet av sitt arbete och föreslå förbättring
Innehåll
Designmönster och fallstudier av dessa, polymorfism och arv, överlagring av metoder, abstrakta typer och datastrukturer, återanvändning av kod genom programmering i ramverk, programmering mot abstrakta gränssnitt, Unified Modelling Language (UML) diagram, Java kodreflektion, Java annotationer och enhetstestning. Distribuerad versionshantering. Utöver avancerad objektorienterad programmering innehåller kursen utveckling av Javaapplikationer i ett professionellt utvecklingsverktyg.
Kursens utformning ger praktisk erfarenhet av hur ett småskaligt projekt kan drivas och ger därmed en introduktion till metodik för agil programvaruutveckling för större projekt och organisationer.
Undervisningsspråk
Undervisning
Undervisningen omfattar en serie föreläsningar som presenterar objektorienterade begrepp och tekniker. Föreläsningarna följs upp med handledda programmeringsövningar där studenten ges möjlighet att öva på dessa. Kursen omfattar ett obligatoriskt projektarbete, där studenten får öva på att självständigt i team lösa ett större programmeringsproblem med hjälp av introducerade metoder och tekniker.
För projektarbetet erbjuds handledning och konsultation.
Betygsskala
Examinationsformer
Kursen examineras gruppvis genom laborationer, skriftlig och muntlig redovisning av projektarbetet samt individuell skriftlig tentamen.
Kursbetyget ges av heltalsdelen av medelvärdet av betygen på projektet och den skriftliga tentamen.
2501: Laborationer, 1,5 hp
Tvågradig skala (UG): Underkänd (U), Godkänd (G)
2502: Projekt, 3 hp
Fyrgradig skala, sifferbetyg (TH): Underkänd (U), Godkänd (3), Väl godkänd (4), Mycket väl godkänd (5)
2503: Skriftlig tentamen, 3 hp
Fyrgradig skala, sifferbetyg (TH): Underkänd (U), Godkänd (3), Väl godkänd (4), Mycket väl godkänd (5)
Undantag från angiven examinationsform
Om särskilda skäl finns får examinator göra undantag från angiven examinationsform och medge att en student examineras på annat sätt. Särskilda skäl kan till exempel vara beslut om riktat pedagogiskt stöd.
Kursvärdering
I kursen ingår kursvärdering. Denna är vägledande för utveckling och planering av kursen. Kursvärderingen dokumenteras och redovisas för studenterna.
Kurslitteratur och övriga läromedel
Litteraturlista 2025-01-20 – Tills vidare
*Horstmann, Cay. Object Oriented Design & Patterns 3:a upplagan, Wiley
Övrigt föreläsningsrelaterat material finns på kursens webbplats.
* Elektronisk version tillgänglig från kursläraren.