Kursöversikt

Kurs-PM

TDA550 Objektorienterad programvaruutveckling, fortsättningskurs, lp2 HT19 (7,5 hp)

Kursen ges av institutionen för Data- och informationsteknik

Kontaktuppgifter

Kursansvarig & lärare:

Pelle Evensen, evensen@chalmers.se

Lärare:

Christer Carlsson, carlsson@chalmers.se

Examinator:

Wolfgang Ahrendt, ahrendt@chalmers.se

Kursassistenter:

Patrick Franz, gusfranpa@student.gu.se
Robert Palm, robert.palm@live.se
Emma Svensson, emma.svensson@masvab.se
Jonathan Persgården, jpersgarden@gmail.com

Kursens syfte

Kursen ska ge fördjupade kunskaper om objektorienterad programmering. Efter genomgången kurs skall studenten känna till mer sofistikerade koncept och tekniker som är speciellt användbara för att utveckla större programvaruapplikationer. Kursen skall utveckla studentens förmåga att utifrån genomgången teori värdera olika programmerings- och designmässiga kvalitéer, t. ex. med avseende på utbyggbarhet, testbarhet, återanvändbarhet och underhåll.

Kursen skall även träna upp kompetenserna problemlösning, modellering samt ingenjörsmässighet (kompetenserna beskrivs närmare i programplanen).

Kursplanen finns på Studieportalen.

Schema

Se TimeEdit

Kurslitteratur

Kursens upplägg

Schemalagd undervisning består av föreläsningar, övningar och handledda laborationstillfällen.

Laborationer

Kursen innehåller 3 obligatoriska laborationer, uppdelade i 5 delar, som delvis kan utföras under laborationstillfällena. Se separat sida här. Som inlämingssystem kommer vi använda Fire.

De lärarledda övningstillfällena (ej obligatoriska) syftar till att ge fördjupade kunskaper i frågor och problemställningar som sannolikt är nya för de flesta studenter på kursen.
Övningsmaterialet för varje vecka kommer att publiceras löpande på denna sida.

Förändringar sedan förra kurstillfället

Ny kursplattform, Canvas, används.

Lärandemål

Efter genomförd kurs förväntas du kunna:

  • Beskriva principerna för objektorienterad programmering, använda dem i programmeringsfasen och förklara hur de kan realiseras i ett specifikt objektorienterat programspråk.
  • Använda UML's klassdiagram för att på ett överskådligt sätt planera och dokumentera eget programmeringsarbete.
  • Resonera om och utvärdera olika egenskaper för program, bedöma dess fördelar och nackdelar med avseende på olika utvecklingsmål - t ex underhåll, återanvändning och robusthet - och därpå göra lämpliga val.
  • Tillämpa ett antal vanligt förekommande designprinciper och designmönster för att åstadkomma en design som underlättar underhåll och återanvändning.
  • Implementera generiska programenheter.
  • Använda och beskriva hur ett applikationsramverk kan vara uppbyggt.
  • Beskriva olika kriterier och principer för god programdesign.
  • Redogöra för innebörden av synkronisering och trådsäkerhet samt kunna implementera trådsäkra objekt.
  • Utforma och implementera objektorienterade lösningar för medelstor programvara, samt att avlusa och testa implementeringen.
  • Använda centrala delar i en integrerad utvecklingsmiljö för design, implementering och omstrukturering av program.

 

Examination

I kursen ingår en skriftlig tentamen. Se separat sida här.

Beskrivning av hur kursens examinerande moment – salstentamen och andra – är upplagda och hur de bedöms.

 

Kursrepresentanter:

Haris Cehic, TKIEK, hariscehic99@outlook.com

Linda Ekblad, TKIEK, ekbladlinda@gmail.com

Karl Lenberg, TKIEK, karl.lenberg@gmail.com

Christian Nilsson, TKTEM, christni@student.chalmers.se

Lydia Viberud, TKIEK, lydde.viberud@live.se

 

Kurssammanfattning:

Datum Information