Hoppa till huvudinnehållet
Till KTH:s startsida Till KTH:s startsida

HI1201 Objektorienterad programmering 6,0 hp

Kursen kommer att avvecklas. Sista kursomgång är/var VT 2021. Därefter kommer kuren att examineras under två år, i slutet av period 3 och i omtentamensperioden efter period 4, totalt fyra tillfällen.

Kvarvarande laborationer kan redovisas i anslutning till de fyra tentamenstillfällena nämnda ovan. Inga nya laborationsuppgifter kommer att ges, vilket innebär att den som påbörjat LAB1 kan tillgodoräkna sig tidigare godkända uppgifter.

Kursomgångar saknas för aktuella eller kommande terminer.
Rubriker med innehåll från kursplan HI1201 (HT 2019–) är markerade med en asterisk ( )

Innehåll och lärandemål

Kursinnehåll

  • Objektorienterad programmering: abstrakta datatyper, inkapsling, gränssnitt, återanvändning, klasser, objekt, relationer mellan klasser och objekt, arv, polymorfism
  • Datatyper som stackar, köer, listor och träd
  • Syntax och implementering i något objektorienterat språk
  • Objektorienterad programutveckling: analys, design och implementering
  • Modellering med Unified Modeling Language
  • Felhantering
  • Händelsestyrda applikationer och programmering av grafiska användargränssnitt
  • Introduktion till OO designmönster

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 faserna analys och design i objektorienterad programutveckling
  • Utifrån ett problemområde skapa en objektorienterad modell, som kan användas som grund för implementation
  • Beskriva lösningen med hjälp av klassdiagram och dynamiska diagram enligt Unified Modeling Language

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

  • Skriva klasser med klart avgränsade roller och väldefinierade gränssnitt
  • Implementera arv och interface samt beroenden som association och aggregat
  • Implementera datastrukturer som stackar, köer, listor och träd
  • Hantera undantag (exceptions) på lämplig nivå i en applikation
  • Identifiera och använda några grundläggande objektorienterade designmönster
  • Skriva händelsestyrda applikationer samt redogöra för hur händelsehantering fungerar
  • Skriva applikationer med grafiska användargränssnitt och då tillämpa designmönstret Model-View-Controller
  • Använda sig av en utvecklingsmiljö för att skriva, felsöka och exekvera objektorienterade program

För högre betyg skall studenten kunna:

  • Bearbeta större problemområden, via utvecklingsfaserna analys och design, och skapa väl strukturerade objektorienterade modeller och implementationer
  • Designa och implementera flexibla och återanvändbara lösningar på generella designproblem som stödjer konstruktion av utbyggbara och ändringsbara mjukvarusystem

Kurslitteratur och förberedelser

Särskild behörighet

Grundläggande kunskaper i programmering, t ex kursen H1200, Grundläggande programmering.

Rekommenderade förkunskaper

Ingen information tillagd

Utrustning

Ingen information tillagd

Kurslitteratur

Introduction to Java Programming and Data Structures, Comprehensive version, 11th edition, Y. Daniel Liang, Pearson Education

Examination och slutförande

När kurs inte längre ges har student möjlighet att examineras under ytterligare två läsår.

Betygsskala

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

Examination

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

Examinator beslutar, baserat på rekommendation från KTH:s handläggare av stöd till studenter med funktionsnedsättning, om eventuell anpassad examination för studenter med dokumenterad, varaktig funktionsnedsättning.

Examinator får medge annan examinationsform vid omexamination av enstaka studenter.

Godkänd tentamen (TEN1; 3,0 hp), betygsskalan A-F
Tentamen kan innehålla både teoretiska och praktiska moment.
Godkända laborationer (LAB1; 3,0 hp), betygsskalan A-F

Slutbetyget grundas på samtliga moment.

Möjlighet till komplettering

Ingen information tillagd

Möjlighet till plussning

Ingen information tillagd

Examinator

Etiskt förhållningssätt

  • Vid grupparbete har alla i gruppen ansvar för gruppens arbete.
  • Vid examination ska varje student ärligt redovisa hjälp som erhållits och källor som använts.
  • Vid muntlig examination ska varje student kunna redogöra för hela uppgiften och hela lösningen.

Ytterligare information

Kursrum i Canvas

Registrerade studenter hittar information för genomförande av kursen i kursrummet i Canvas. En länk till kursrummet finns under fliken Studier i Personliga menyn vid kursstart.

Ges av

Huvudområde

Teknik

Utbildningsnivå

Grundnivå

Påbyggnad

Ingen information tillagd

Kontaktperson

Anders Lindström (anders.lindstrom@sth.kth.se)