Kursplan för Objektorienterad programmering och design

Kursplanen innehåller ändringar
Se ändringar

Kursplan fastställd 2023-11-06 av programansvarig (eller motsvarande).

Kursöversikt

  • Engelskt namnObject-oriented programming and design
  • KurskodTDA553
  • Omfattning7,5 Högskolepoäng
  • ÄgareTKITE
  • UtbildningsnivåGrundnivå
  • HuvudområdeInformationsteknik
  • InstitutionDATA- OCH INFORMATIONSTEKNIK
  • BetygsskalaTH - Mycket väl godkänd (5), Väl godkänd (4), Godkänd (3), Underkänd

Kurstillfälle 1

  • Undervisningsspråk Svenska
  • Anmälningskod 52128
  • Sökbar för utbytesstudenterNej
  • Endast studenter med kurstillfället i programplan.

Poängfördelning

0122 Tentamen 3 hp
Betygsskala: TH
0 hp3 hp0 hp0 hp0 hp0 hp
  • 09 Jan 2024 em J
  • 23 Aug 2024 em J
0222 Laboration 3 hp
Betygsskala: UG
0 hp3 hp0 hp0 hp0 hp0 hp
0322 Inlämningsuppgift 1,5 hp
Betygsskala: TH
0 hp1,5 hp0 hp0 hp0 hp0 hp

I program

Examinator

Gå till kurshemsidan (Öppnas i ny flik)

Kurstillfälle 2

  • Undervisningsspråk Svenska
  • Anmälningskod 52150
  • Sökbar för utbytesstudenterNej
  • Endast studenter med kurstillfället i programplan.

Poängfördelning

0122 Tentamen 3 hp
Betygsskala: TH
0 hp0 hp3 hp0 hp0 hp0 hp
  • 14 Mar 2024 em J
  • 23 Aug 2024 em J
0222 Laboration 3 hp
Betygsskala: UG
0 hp0 hp3 hp0 hp0 hp0 hp
0322 Inlämningsuppgift 1,5 hp
Betygsskala: TH
0 hp0 hp1,5 hp0 hp0 hp0 hp

I program

Examinator

Gå till kurshemsidan (Öppnas i ny flik)

Behörighet

Grundläggande behörighet för grundnivå
Sökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.

Särskild behörighet

Samma behörighet som det kursägande programmet.
Sökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.

Kursspecifika förkunskaper

Denna kurs är en direkt fortsättning på kursen TDA548 Grundläggande programvaruutveckling, vilken, eller en motsvarande kurs, utgör förkunskapskrav.

Syfte

Programvaruutveckling är centralt för en civilingenjör inom informationsteknik. Kursen presenterar det objektorienterade programmeringsparadigmet och lägger stor vikt vid design av objektorienterade program.

Lärandemål (efter fullgjord kurs ska studenten kunna)

Kunskap och förståelse
  • Redogöra för objektorienterade design-principer.
  • Känna igen och redogöra för olika objektorienterade design-mönster; inklusive deras syfte och effekt.
  • Redogöra för koncept inom objekt-orienterad design med användning av adekvat terminologi
  • Kommunicera objekt-orienterad design skriftligt, samt visuellt med hjälp av ett grafiskt modelleringsspråk (UML)

Färdigheter och förmåga
  • Använda och redogöra för grundläggande objektorienterade koncept, som klasser och objekt, primitiver och referenser, metoder och konstruktorer, variabler och attribut, etc.
  • Använda och redogöra för mer avancerade språkmekanismer och tekniker, som exceptions, generics, trådar, defensive copying, etc,
  • Använda 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.
  • Applicera design-principer och design-mönster för att åstadkomma sund objekt-orienterad design.
  • Designa och implementera objektorienterade program för en given domän på ett sunt sätt med avseende på korrekthet, modifierbarhet och återanvändbarhet.
  • Utföra och beskriva testning av objektorienterade program.
  • Utforma en tydlig och välstrukturerad resonerande text, enligt grundläggande principer för argumentation och diskussion
  • Identifiera och tillämpa verksamma metoder för 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
  • Analysera och utvärdera kod enligt principer för god objektorienterad design och implementation
  • Reflektera över olika strategier som främjar inkluderande samarbete i grupp

Innehåll

Kursen presenterar det objektorienterade programmeringsparadigmet och lägger stor vikt vid programkonstruktion och design.

Begreppsapparat och teknik utökas och fördjupas: metoder, objekt, abstrakta- och anonyma klasser, initiering, polymorfism, överlagring och överskuggning,implementations- och gränssnittsarv, användning generiska typer, konstruktion av enkla generiska klasser, felhantering, immutabilitet och defensive copying, och introduktion till trådar och trådsäkerhet m.m.

Hantering av tillstånd, beroenden, modulära program, programmeringstekniker, modifierbarhet, designprinciper, designmönster och MVC-modellen.

För att beskriva designen används elementära delar av the Unified Modelling Language (UML).

Organisation

Undervisningen består av föreläsningar, övningar och laborationer samt handledning i samband med dessa.

Litteratur

Information om aktuell litteratur ges innan kursstart på kursens hemsida.

Examination inklusive obligatoriska moment

Kursen examineras genom:

- Skriftlig tentamen (3 hp, betygskala: U, 3, 4, 5)
- Laboration (3 hp, betygskala: U, G)
- Inlämningsuppgift (1,5 hp, betygskala: U, 3, 4, 5)

Laborationerna utförs i grupper om normalt 3 studenter.

På hela kursen ges något av betygen: Underkänd (U), 3, 4, 5. För att bli godkänd på kursen krävs att få minst en 3:a på både Tentamen och Inlämningsuppgift, samt Godkänd (G) på Laboration. Betyget för hela kursen blir sammansatt av betyget för Tentamen och Inlämningsuppgift. I sammansättningen väger betyget för Tentamen tyngre.

Kursens examinator får examinera enstaka studenter på annat sätt än vad som anges ovan om särskilda skäl föreligger, till exempel om en student har ett beslut från Chalmers om pedagogiskt stöd på grund av funktionsnedsättning.

Kursplanen innehåller ändringar

  • Ändring gjord på kurstillfälle:
    • 2023-06-21: Examinator Examinator ändrat från Robin Adams (robinad) till Magnus Myreen (myreen) av Viceprefekt
      [Kurstillfälle 1]
    • 2023-05-11: EDU_LANG EDU_LANG ändrat från en till sv av Utbildningssekreterare/examinator
      [Kurstillfälle 1]
    • 2023-05-10: EDU_LANG EDU_LANG ändrat från en till sv av Utbildningssekreterare/examinator
      [Kurstillfälle 2]
  • Ändring gjord på kurs:
    • 2023-11-03: Examination Examination ändrat av PA
      Uppdaterat engelsk information om examination
    • 2023-10-31: Examination Examination ändrat av PA
      Uppdaterat information om examination