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

HI1007 Objektorienterad programmering med Java 7,5 hp

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

Innehåll och lärandemål

Kursinnehå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 av oop i språket Java
  • Felhantering
  • Strömmar
  • Trådprogrammering
  • Grafiska gränssnitt och händelsehantering

Lärandemål

Kursen skall ge studenterna grunderna i objektorienterat tänkande vid programmering samt goda kunskaper i syntax och programmeringsteknik i det objektorienterade språket Java.

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 enligt UML och då använda ett verktyg för OO programutveckling för detta
  • Kunna förstå användningsfall och sekvensdiagram skrivna enligt UML
  • Skapa klasser som, där så är möjligt, kan återanvändas i liknande sammanhang

För godkänt betyg skall studenten dessutom i språket Java 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 i Java samt kunna redogöra för vilka problem som kan uppstå vid parallella aktiviteter och implementera lösningar av dessa problem i Java
  • Skriva händelsestyrda applikationer i Java samt redogöra för hur händelsehantering fungerar
  • Skriva applikationer med enkla grafiska gränssnitt i Java 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

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

Kurslitteratur och förberedelser

Särskild behörighet

Grundläggande kunskaper i programmering, t ex kursen 6H2950 eller HI1900 Programmering, grundkurs.

Rekommenderade förkunskaper

Ingen information tillagd

Utrustning

Ingen information tillagd

Kurslitteratur

En av följande böcker (studenterna kan välja själva):

Object-oriented Software Development Using Java, 2nd edition, Xiaoping Jia, Addison Wesley, ISBN 0-321-21073-5

Introduction to Java Programming, Comprehensive version, 7th edition, Y. Daniel Liang, Pearson Education, ISBN 0-13-605966-X

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

  • TEN1 - Tentamen, 3,0 hp, betygsskala: A, B, C, D, E, FX, F
  • ÖVN1 - Övningar, 4,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.

Övriga krav för slutbetyg

Godkänd tentamen (TEN1; 3 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.

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

Informationsteknik, Teknik

Utbildningsnivå

Grundnivå

Påbyggnad

Ingen information tillagd

Kontaktperson

Anders Lindström, anders.lindström@sth.kth.se

Övrig information

Kurslitteratur på engelska används.

Tidigare kursnummer: 6H3101