Hoppa till huvudinnehållet

HI1027 Objektorienterad programmering 8,0 hp

Kursen tar upp objektorienterat tänkande och modellering samt programmering i ett objektorienterat språk (för tillfället Java). Kursen ger kunskaper i objektorienterad programmering och modellering som kommer att användas inom andra områden i utbildningen.

I kursen ingår även implementering av applikationer med grafiska användargränssnitt.

Välj termin och kursomgång

Välj termin och kursomgång för att se aktuell information och mer om kursen, såsom kursplan, studieperiod och anmälningsinformation.

Kursval

Gäller för kursomgång

HT 2024 Start 2024-08-26 programstuderande

Anmälningskod

50011

Rubriker med innehåll från kursplan HI1027 (VT 2024–) är markerade med en asterisk ( )

Innehåll och lärandemål

Kursinnehåll

  • Bakgrunden till objektorienterad programmering, som inkapsling, abstrakta datatyper, gränssnitt, hög kohesion och låg koppling
  • Principer för objektorienterad programmering klasser, objekt, relationer mellan klasser och objekt, arv och interface, polymorfism
  • Introduktion till abstrakta datatyper och objektorienterade designmönster
  • Generisk kod med typarameter
  • Syntax och implementering i något objektorienterat språk
  • Felhantering
  • Strömmar för att läsa från och skriva data till olika typer av källor och mål
  • Trådprogrammering
  • Grafiska gränssnitt och händelsehantering
  • Funktionella inslag i objektorienterade språk, som funktionella interface, strömmar och lambda-uttryck

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:

  1. Kunna redogöra för objektorienterade principer som inkapsling, abstrakta datatyper, gränssnitt, arv, hög kohesion och låg koppling
  2. Utifrån en enklare problembeskrivning ta fram en objektorienterad modell för implementation med klasser, med data och metoder, samt relationer, som följer objektorienterade principer
  3. Kunna redogöra för några vanliga objektorienterade designmönster

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

4.       Implementera klasser som följer objektorienterade principer som inkapsling, tydliga gränssnitt, arv, hög kohesion och låg koppling

5.       Implementera några vanliga datatyper som lista, kö och stack samt några vanliga designmönster

6.       Använda undantag (exceptions) för att signalera fel samt hantera dessa på lämplig nivå i applikationen

7.       Implementera applikationer med flera trådar samt skydda delat data från synkroniseringsproblem 

8.       Skriva applikationer med grafiska gränssnitt och händelsehantering

Kurslitteratur och förberedelser

Särskild behörighet

Grundläggande behörighet samt avklarad kurs HI1024, Programmering, grundkurs eller motsvarande.

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 - Obligatoriska laborationer, 4,5 hp, betygsskala: P, F
  • TEN1 - Skriftlig tentamen, 3,5 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,5 hp), betygsskalan A-F
Tentamen innehåller både teoretiska och praktiska moment.

Godkända laborationer (LAB1; 4,5 hp), betygsskalan P, F

Slutbetyget grundas på samtliga moment. Betygsskalan A-F.

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 (anderslm@kth.se)