HI1027 Objektorienterad programmering 8,0 hp
Object Oriented Programming
Utbildningsnivå
GrundnivåKursnivå (A-D)
AHuvudområde
Teknik
Betygsskala
A, B, C, D, E, FX, F
Kurstillfällen/kursomgångar
HT13 för programstuderande
Perioder
HT13 P1 (8,0 hp)
Anmälningskod
50089Kursen startar
2013 vecka: 36Kursen slutar
2013 vecka: 44Undervisningsspråk
SvenskaCampus
KTH HaningeAntal föreläsningar
Antal övningar
Undervisningstid
DagtidUndervisningsform
NormalAntal platser
Ingen begränsningMålgrupp
TIDAA2, TITEH inr TIDA2
Del av program
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
Object-oriented Software Development Using Java, 2nd edition, Xiaoping Jia, Addison Wesley, ISBN 0-321-21073-5, eller
Introduction to Java Programming, Comprehensive version, 7th edition, Y. Daniel Liang, Pearson Education, ISBN 0-13-605966-X
Examination
- TEN1 - Tentamen, 3,5 hp, betygsskala: A, B, C, D, E, FX, F
- ÖVN1 - Övningar, 4,5 hp, 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
STH/Data- och Elektroteknik
Examinator
Anders Lindström <anders.lindstrom@sth.kth.se>
Versionsinformation
Kursplan giltig från och med
HT11.
Examinationsinformation giltig från och med
HT11.
