Objektorienterad design, programmering och algoritmer 15 hp

Akademin för teknik och miljö
KURSPLAN
Faculty of Engineering and Sustainable Development
Objektorienterad design, programmering och algoritmer 15 hp
Object-Oriented Design, Programming and Algorithms 15 credits
Fastställd av Akademin för teknik och miljö
Version
Beslutad den
2012-03-21
2012-11-07
Fördjupning
G1F
Utbildningsnivå
Grundnivå
Kurskod
DVG301
Högskolepoäng
15 hp
Huvudområde
Ej definierat
Ämnesgrupp
Datateknik
Utbildningsområde
Tekniska området 100%
Mål
Gäller fr.o.m.
2012-03-21
2013-01-21
Efter avslutad kurs ska studenten kunna
1. ingående redogöra för de teoretiska begreppen inom objektorientering och algoritmer och
abstrakta datatyper samt begreppens tillämpning i olika programmeringssituationer med ett
objektorienterat programmeringsspråk
2. designa robusta objektorienterade lösningsmodeller för ett givet problem genom att
modellera olika aspekter av problemet med hjälp av statiska och dynamiska UML-diagram
3. utifrån en vald design skapa goda objektorienterade program med grafiska
användargränssnitt, och där programmens interna representation tydligt avspeglar
problemdomänen
4. analysera, förklara, välja och använda några vedertagna designmönster
5. använda abstrakta datatyper och algoritmer som ingår i befintliga programbibliotek och
definiera enkla generiska abstrakta datatyper med hjälp av typparametrisering
6. genomföra grundläggande algoritmanalys och beskriva tidskomplexitet och
tillämpningsområden för de vanligaste algoritmerna och datastrukturerna
7. tillämpa och integrera ovanstående kunskaper genom att på ett självständigt sätt
genomföra en programmeringsuppgift
8. kommunicera, diskutera och kritiskt granska andras såväl som sina egna designval och
programmeringstekniska lösningar, och presentera egna slutsatser i seminarieform.
Sida 1 av 3
Högskolan i Gävle accepterar inte fusk i någon form. Plagiat är en form av fusk, som innebär att du imiterar eller kopierar någon annans arbete, till exempel en text,
en bild eller en tabell, och framställer materialet som ditt eget. Högskolan använder antiplagiatsystem för att förebygga och upptäcka fusk i samband med skriftliga
inlämningsuppgifter.
Kursens innehåll
Kursen ger praktiska och teoretiska kunskaper om objektorienteringens grundläggande
principer samt algoritmer och datastrukturer, och utgör en god grund för fortsatta studier
inom datavetenskap.
Teoretiska begrepp inom objektorientering
- abstraktion, klass, subklass, konstruktor, interface, arv, arvshierarkier, inkapsling,
informationsdöljning, modularisering, överlagring, överskuggning, polymorfi, dynamisk
bindning, delegering
Fördjupning i UML
- klassdiagram med statiska relationer, interaktionsdiagram
Designmönster
- singleton, adapter, iterator, strategy, factory method, bridge, observer,
model/view/controller
Programmering av grafiska användargränssnitt
- komponenter, behållare (containers), hantering av layout, trådade grafiska gränssnitt
Händelsestyrd programmering
- lyssnarobjekt, listener, adapter, event, inre klass, anonym klass
Undantagshantering
- exceptions, runtime exceptions
Koppling till databaser
- avbildning mellan relationsdata och objekt via Data Access Objects som döljer frågespråket
SQL
Algoritmer och abstrakta datatyper
- språkstöd för implementation av abstrakta datatyper: dynamisk minneshantering, referenser,
typparametrisering
- rekursion
- generiska algoritmer och generiska standardbibliotek
- användning och implementation av listor, stackar och köer
- användning av prioritetsköer, träd, tabeller och grafer
- algoritmer för sökning och sortering
- introduktion till algoritmanalys och Ordo-notation
- praktiska undersökningar av tidskomplexitet
Ett antal inlämningsuppgifter och ett avslutande utvecklingsprojekt har avsikten att ge goda
praktiska färdigheter.
Undervisning
Undervisningen bedrivs i lektionsform och utgörs av föreläsningar, praktiska övningar,
projekthandledning och redovisningsseminarier.
Förkunskaper
Minst 15 hp inom området Datavetenskap, varav en grundläggande programmeringskurs
(minst 7,5 hp) och en introduktionskurs till databaser skall ingå. Rekommenderade kurser är
Datorer och programvaruutveckling och Introduktion till GIS-systemering och databaser.
Grundläggande kunskaper i Java förväntas.
Examinationsform
Skriftlig tentamen, inlämningsuppgifter och utvecklingsprojekt.
Moment
0010 Skriftlig tentamen Objektorienterad design och programmering 3 hp, Betyg: AF
0020 Inlämningsuppgifter Objektorienterad design och prog. 3 hp, Betyg: UV
0030 Skriftlig tentamen: Algoritmer och datastrukturer 3 hp, Betyg: AF
0040 Inlämningsuppgifter: Algoritmer och datastrukturer 3 hp, Betyg: UV
0050 Utvecklingsprojekt 3 hp, Betyg: AF
Sida 2 av 3
Högskolan i Gävle accepterar inte fusk i någon form. Plagiat är en form av fusk, som innebär att du imiterar eller kopierar någon annans arbete, till exempel en text,
en bild eller en tabell, och framställer materialet som ditt eget. Högskolan använder antiplagiatsystem för att förebygga och upptäcka fusk i samband med skriftliga
inlämningsuppgifter.
Betyg
A, B, C, D, E, Fx, F
Begränsningar
Betygskriterier meddelas av examinator eller kursansvarig i samband med kursstart.
Projektet kan endast examineras en gång per läsår.
Kursen kan ej ingå i examen tillsammans med någon av följande kurser: Java Application B,
Objektorienterad programmering 1, Objektorienterad programmering B, Objektorienterad
programmering II B eller Algoritmer och datastrukturer I.
Kursen är huvudsakligen avsedd för studenter på IT/GIS-programmet.
Övriga föreskrifter
Saknas
Hållbar utveckling
Inslag av hållbar utveckling är inte relevant för kursen.
Kurslitteratur
Holm, Per (Senaste upplagan). Objektorienterad programmering och Java. Studentlitteratur.
Weiss, Mark A. (senaste upplagan). Data Structures & Problem Solving in Java. Pearson
Education.
Webbreferenser och utdelat material.
Referenslitteratur
Bilting, Ulf (senaste upplagan). Designmönster för programmerare. Studentlitteratur.
Booch, Grady; Maksimchuk, Robert A.; Engel, Michael W. (senaste upplagan). ObjectOriented Analysis and Design with Applications. Addison-Wesley.
Valfri litteratur om Java, t.ex. The Java Tutorials från Oracle
(http://docs.oracle.com/javase/tutorial/)
Sida 3 av 3
Högskolan i Gävle accepterar inte fusk i någon form. Plagiat är en form av fusk, som innebär att du imiterar eller kopierar någon annans arbete, till exempel en text,
en bild eller en tabell, och framställer materialet som ditt eget. Högskolan använder antiplagiatsystem för att förebygga och upptäcka fusk i samband med skriftliga
inlämningsuppgifter.