HI1027 Objektorienterad programmering 8,0 hp

Object Oriented Programming

OBS!

Informationen nedan baseras på en kursplan som ännu inte har börjat gälla.

  • Utbildningsnivå

    Grundnivå
  • Huvudområde

    Teknik
  • Betygsskala

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

Kurstillfällen/kursomgångar

HT19 för programstuderande

HT18 för programstuderande

Lärandemål

Kursen skall ge studenterna grunderna i objektorienterat tänkande vid programmering samt goda kunskaper i syntax och programmeringsteknik i ett objektorienterat språk.

För godkänt betyg skall studenten:

  • Kunna redogöra för de olika faserna i objektorienterad programutveckling
  • Utifrån ett enkelt problemområde kunna skapa en objektorienterad modell med klasser med klart avgränsade uppdrag samt relationer mellan dessa som kan användas för att implementera en applikation
  • Kunna beskriva lösningen med hjälp av klassdiagram och dynamisk diagram enligt UML och då använda ett verktyg för OO programutveckling för detta
  • Skapa klasser som, där så är möjligt, kan återanvändas i liknande sammanhang

För godkänt betyg skall studenten dessutom, i ett objektorienterat språk, kunna:

  • Skriva klasser med klart avgränsade uppdrag där datat är inkapslat och som är lätta att underhålla och vidareutveckla
  • Använda sig av arv och implementering av interface för att utöka klassers funktionalitet
  • Skriva polymorf kod som kan exekveras för flera olika subtyper
  • Hantera undantag (exceptions) på lämplig nivå i programmet
  • Använda sig av strömmar för att läsa från/skriva till olika typer av källor/mål
  • Skapa parallella aktiviteter med hjälp av trådar samt kunna redogöra för vilka problem som kan uppstå vid parallella aktiviteter och implementera lösningar av dessa problem
  • Skriva händelsestyrda applikationer samt redogöra för hur händelsehantering fungerar
  • Skriva applikationer med grafiska gränssnitt med tillämpningar av mönstret model-view-controller
  • Använda sig av en utvecklingsmiljö för att skriva, felsöka och exekvera objektorienterade program
  • Identifiera och använda några grundläggande OO designmönster

För högre betyg skall studenten kunna:

  • Bearbeta större problemområden via utvecklingsfaserna analys och design och senare implementering
  • Designa och implementera flexibla och återanvändbara lösningar på generella designproblem som stödjer konstruktion av utbyggbara och ändringsbara mjukvarusystem

Kursens huvudsakliga innehåll

  • Bakgrunden till objektorienterad programmering: (abstrakta datatyper, inkapsling, återanvändning)
  • Principer för objektorienterad programmering: klasser, objekt, relationer mellan klasser och objekt, arv, polymorfism
  • Objektorienterad programutveckling: analys, design och implementering
  • Unified Modeling Language: användningsfall, sekvensdiagram och klassdiagram
  • Syntax och implementering i något objektorienterat språk
  • Felhantering
  • Strömmar
  • Trådprogrammering
  • Grafiska gränssnitt och händelsehantering
  • Introduktion till OO designmönster

Behörighet

Grundläggande kunskaper i programmering, t ex kursen HI1024 Programmering, grundkurs.

Litteratur

Introduction to Java Programming, Comprehensive version, 10th edition, Y. Daniel Liang, Pearson Education, ISBN 1-292-07001-3

Examination

  • TEN1 - Tentamen, 3,5, betygsskala: A, B, C, D, E, FX, F
  • ÖVN1 - Övningar, 4,5, betygsskala: A, B, C, D, E, FX, F

Godkänd tentamen (TEN1; 3,5 hp), betygsskalan A-F
Tentamen innehåller både teoretiska och praktiska moment.
Godkända laborationer (ÖVN1; 4,5 hp), betygsskalan A-F
Slutbetyget grundas på samtliga moment. Betygsskalan A-F.

Ges av

CBH/Medicinsteknik och hälsosystem

Examinator

Anders Lindström <anderslm@kth.se>

Versionsinformation

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