IV1350 Objektorienterad design 7,5 hp

Object Oriented Design

  • Utbildningsnivå

    Grundnivå
  • Huvudområde

    Teknik
  • Betygsskala

    A, B, C, D, E, FX, F

Kurstillfällen/kursomgångar

VT19 för programstuderande

VT20 för programstuderande

Lärandemål

Efter avklarad kurs ska du, utifrån en given kravspecifikation, kunna utveckla robust, flexibel och lättförstådd kod. Du ska även kunna kritiskt och systematiskt utvärdera olika förslag på mjukvarudesign enligt kriterier som låg koppling, hög sammanhållning och inkapsling. Du ska vara så förtrogen med området att du med gott självförtroende kan föra en diskussion om en designs för- och nackdelar och då referera till vedertagna termer.

För att uppnå dessa mål ska du efter avklarad kurs:   

  • Kunna utföra en objektorienterad analys och kunna föra en diskussion om den.   
  • Kunna använda viktiga principer för objektorienterad design, exempelvis låg koppling, hög sammanhållning, inkapsling och polymorfism. Du ska även kunna föra en diskussion om en design utifrån dessa principer.   
  • Kunna använda viktiga principer för objektorienterad programmering, exempelvis kodkonventioner, kommentarer och grundläggande refactorings. Du ska även kunna föra en diskussion om ett program utifrån dessa principer.   
  • Kunna använda ett fåtal välkända designmönster (främst GoF) och kunna referera till dessa när du diskuterar en design.   
  • Utan problem kunna uttrycka kod i UML och kunna översätta grundläggande UML-diagram till kod.
  • Förstå och kunna förklara behovet av, och den vetenskapliga grunden för, objektorienterad analys, design, arkitektur och programmering.
  • Kunna skapa abstraktioner och modeller av objektorienterade program. Kunna använda dessa modeller för att förutse programmens egenskaper. Utifrån en modell kunna föra en diskussion om ett programs för- och nackdelar jämfört med andra sätt att implementera program med samma funktionalitet.
  • Förstå och kunna förklara hur god objektorienterad arkitektur och design bidrar till hållbar utveckling genom att göra program anpassningsbara.

Kursens huvudsakliga innehåll

 Kursens huvudsakliga innehåll

  • Objektorienterad design och designmönster   
  • Riktlinjer för objektorienterad programmering, till exempel refactorings   
  • Objektorienterad analys   
  • UML (Unified Modeling Language)   
  • Arkitektur och arkitekturella mönster   
  • Dokumentation av arkitektur och design   

Behörighet

Grundläggande kunskaper i objektorienterad programmering motsvarande kurs ID1018 Programmering I.

Rekommenderade förkunskaper

Grundläggande kunskaper i objektorienterad programmering motsvarande kurs ID1301/6B2915  eller nyare ID1018.

Litteratur

Lindbäck: A First Course in Object Oriented Development, http:///leiflindback.se/iv1350/object-oriented-development.pdf

Examination

  • LAB1 - Laborationer, 4,5, betygsskala: A, B, C, D, E, FX, F
  • TEN1 - Tentamen, 3,0, betygsskala: A, B, C, D, E, FX, F

Kursen har två moment, LAB1 och TEN1. I båda ges betygen A-F.

Slutbetyget beräknas enligt formeln (4.5*LAB1 + 3*TEN1) / 7.5, korrekt avrundat. Vid denna beräkning överätts betygen A-F till siffrorna 5-0.

Båda momenten måste vara godkända (betyget E) för att slutbetyg ska ges. 

Ges av

EECS/Datavetenskap

Kontaktperson

Lindbäck, Leif

Examinator

Leif Lindbäck <leifl@kth.se>

Övrig information

Kursen utvärderas och utvecklas i enlighet med KTH:s policy för kursanalys.

Påbyggnad

Arkitektur och Design av globala applikationer, IV1201

Versionsinformation

Kursplan gäller från och med VT2019.
Examinationsinformation gäller från och med VT2019.