Lärandemål
Efter avslutad kurs ska den studerande kunna
- Använda objektorienterad teknik för att utveckla robusta och väl strukturerade datorprogram.
- Felsöka datorprogram och rätta felaktig programkod.
- Redogöra för lösningar på ett professionellt sätt.
- Utveckla datorprogram som är hållbara för framtiden samt är anpassade mot internationell användning och är användbara även för personer med lättare funktionsnedsättning.
Innehåll
Klasser och objekt introduceras. Skillnaden mellan statisk och dynamisk minnesallokering diskuteras. Instans- och klassmedlemmar förklaras. Betydelsen av inkapslade medlemmar betonas. Konsekvenser av grund och djup kopiering analyseras. Vikten av att skriva tydlig kod och relevanta kommentarer betonas för att uppnå hållbara lösningar som är lätta att modifiera och korrigera i framtiden.
Olika typer av relationer mellan objekt och klasser studeras såsom associationer, aggregationer och generaliseringar. Abstraktioner av klasser i form av arvsheirarkier tas upp. Polymorfi i form av överlagrade metoder och sen bindning av anrop till metoder behandlas.
Objektorienterad analys och design nämns. UML (Unified Modelling Language) används för att skapa modeller av de problem som ska analyseras och för att beskriva designen av lösningar som är lämpliga att realisera i form av datorprogram.
Olika möjligheter att utveckla mer avancerad funktionalitet i datorprogram behandlas, såsom användargränssnitt med val av språk och stöd för funktionshindrade. En introduktion till databasaccess och flertrådade lösningar ges.
Examinationsformer
Kursens examination består av redovisning av inlämningsuppgifter (4 hp) och individuell redovisning av ett projektarbete (3,5 hp).
Arbetsformer
Betyg
Som betygsskala används U–VG.
Inlämningsuppgifter, U-G.
Kursens slutbetyg ges av betyget för projektet.
Förkunskapskrav
- Moment 1, Laborationer 3,5 hp avklarade i kursen Grundläggande programmering 7,5 hp alternativt Grundläggande programmering 7,5 hp