Objektorienterad programmering och design
Object-oriented Programming and Design
Om kursplanen
Betygsskala
Kursens moduler
Inplacering
Kursen är obligatorisk inom Datavetenskap, kandidatprogram (N1COS).
Kursen ges även som fristående kurs vid Göteborgs Universitet.
Huvudområde med fördjupning
Behörighetskrav
- Godkänd kurs Imperativ programmering med grundläggande objektorientering, 7,5 hp.
- Därutöver krävs ytterligare 7,5 hp i programmering, t.ex. Introduktion till funktionell programmering.
Innehåll
Kursen introducerar det objekt-orienterade programmeringsparadigmet, samt ett objekt-orienterat hög-nivå programmeringsspråk med tillhörande plattformar och integrerade utvecklingsmiljöer (IDE), och lägger stor vikt vid objekt orienterade
koncept applicerade på skapande av program, och design av programvaruapplikationer.
Begreppsapparat och teknik utökas och fördjupas: metoder, objekt, typer och polymorfism, arv och överskuggning, felhantering, testning, m.m.
Designaspekter introduceras: vanliga principer för god objekt-orienterad design; namngivning, hantering av beroenden, modulära program, och muterbarhet; designmönster och MVC-modellen; klass- och objektdiagram.
Mål
Efter godkänd kurs ska studenten kunna:
Kunskap och förståelse
- Redogöra för koncept inom objekt-orienterad design, så som objekt, klasser, inkapsling och polymorfism, med användning av adekvat terminologi.
- Redogöra för objekt-orienterade design-principer (t ex Single Responsibility Principle, Open-Closed Principle).
- Redogöra för olika objektorienterade design-mönster, inklusive deras syfte och effekt.
Färdigheter och förmåga
- Implementera och redogöra för grundläggande objektorienterade koncept, som klasser och objekt, primitiver och referenser, metoder och konstruktorer, variabler och attribut, etc.
- Implementera och redogöra för mer avancerade språkmekanismer och tekniker, som felhantering och generics.
- Implementera och redogöra för arv och parameteriserade typer, och därtill hörande mekanismer, för att åstadkomma polymorfism och återanvändning av kod.
- Identifiera och implementera design-principer och design-mönster för att åstadkomma sund objekt-orienterad design.
- Designa, implementera och refaktorisera objektorienterade program för en given domän på ett sunt sätt med avseende på korrekthet, modifierbarhet och återanvändbarhet.
- Utforma en tydlig och välstrukturerad resonerande text, enligt grundläggande principer för argumentation och diskussion.
- Kommunicera objekt-orienterad design och källkod muntligt och skriftligt, samt visuellt med hjälp av diagram (t ex klassdiagram).
- Identifiera och tillämpa verksamma metoder för inkluderande samarbete i grupp.
Värderingsförmåga och förhållningssätt
- Argumentera för gjorda design- och implementationsval enligt principer för god objektorienterad design och implementation.
- Utvärdera program efter hur väl de kan förstås och modifieras, t ex genom koppling och sammanhållning mellan klasser och metoder.
- Uppskatta hur förändringar påverkar en programvarudesign.
- Reflektera över olika strategier som främjar inkluderande samarbete i grupp.
Hållbarhetsmärkning
Former för undervisning
Övningar, föreläsningar och datorlaborationer.
Undervisningsspråk: engelska och svenska
Kursen ges på svenska och engelska förekommer.
Examinationsformer
Kursen examineras genom en skriftlig salstentamen (3 hp), laborationer (3 hp), samt inlämningsuppgifter (1,5 hp). Laborationerna utförs i grupper.
Om en student som har underkänts två gånger på samma examinerande moment önskar byta examinator inför nästa examinationstillfälle ska en sådan begäran bifallas om det inte finns särskilda skäl däremot (6 kap. 22 § HF).
Om en student har fått besked om pedagogiskt stöd från Göteborgs universitet med rekommendation om anpassad examination och/eller anpassad examinationsform kan examinator, i det fall det är förenligt med kursens lärandemål och förutsatt att inte orimliga resurser krävs, besluta att bevilja studenten anpassad examination och/eller anpassad examinationsform.
Om en kurs har avvecklats eller genomgått en större förändring ska studenten erbjudas minst två examinationstillfällen, utöver ordinarie examinationstillfälle. Dessa tillfällen fördelas under en tid av minst ett år, dock som längst två år efter det att kursen avvecklats/förändrats. Vad gäller praktik och verksamhetsförlagd utbildning (VFU) gäller motsvarande, men med begränsning till endast ett ytterligare examinationstillfälle.
Om en student har fått besked om att denne uppfyller kraven för att vara student vid Riksidrottsuniversitetet (RIU-student) har examinator rätt att besluta om anpassning vid examination, om detta görs i enlighet med Lokala regler gällande RIU-studenter vid Göteborgs universitet
Betyg
Delkurser
- Skriftlig salstentamen, 3 hp
Betygsskala: Mycket väl godkänd (5), Väl godkänd (4), Godkänd (3) och Underkänd (U) - Laboration, 3 hp
Betygsskala: Godkänd (G) och Underkänd (U) - Inlämningsuppgifter, 1,5 hp
Betygsskala: Mycket väl godkänd (5), Väl godkänd (4), Godkänd (3) och Underkänd (U)
På kursen ges något av betygen Mycket väl godkänd (5), Väl godkänd (4), Godkänd (3) och Underkänd (U).
För att få betyget godkänt (3) på hela kursen måste studenten fått betyget godkänt på alla obligatoriska komponenter. För att få betyget 4 eller 5 på hela kursen krävs att studenten får motsvarande högre betyg på alla obligatoriska komponenter.
Kursvärdering
Kursen utvärderas genom möten, både under och efter kursen, mellan lärare och studentrepresentanter. Ett anonymt skriftligt frågeformulär skickas även ut till studenterna efter kursens slut. Resultaten av utvärderingarna används för att förbättra kursinnehållet och som indikation till vilka delar som skulle kunna läggas till, tas bort, förbättras eller ändras.
Övriga föreskrifter
Kursen är samläst med Chalmers.
Kursen ersätter DIT952 Objektorienterad programmering och design, 7,5 hp. Den här kursen kan inte ingå i en examen som innehåller DIT952. Den kan inte heller ingå i en examen som bygger på en annan examen där DIT952 ingår.