DD1385 Programutvecklingsteknik 6,0 hp

Software Engineering

En fortsättningskurs i datalogi som behandlar objektorienterad programmering i Java, objektorienterad modellering och analys, programutveckling med designmönster samt avancerade klassbibliotek i Java.

  • Utbildningsnivå

    Grundnivå
  • Huvudområde

    Teknik
  • Betygsskala

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

Kurstillfällen/kursomgångar

HT19 prutt19 för programstuderande

HT18 prutt18 för programstuderande

HT18 Doktorand för fristående studerande

  • Perioder

    HT18 P1 (2,0 hp), P2 (4,0 hp)

  • Anmälningskod

    10161

  • Kursen startar

    2018-08-27

  • Kursen slutar

    2019-01-14

  • Undervisningsspråk

    Svenska

  • Studielokalisering

    KTH Campus

  • Undervisningstid

    Dagtid

  • Undervisningsform

    Normal

  • Antal platser

    Ingen begränsning

  • Kursansvarig

    Vahid Mosavat <vahid@kth.se>

  • Målgrupp

    För doktorander på KTH

Lärandemål

Efter fullgjord kurs ska studenten kunna:

  • redogöra för objektorienterade begrepp och tekniker som lös koppling, inkapsling, arv och polymorfism samt använda dem i eget programmeringsarbete,
  • beskriva och tillämpa kriterier för god objektorienterad design,
  • känna igen och förklara vanliga designmönster inom objektorienterad programutveckling samt välja lämpliga mönster för enkla tillämpningsexempel,
  • rita UML-klassdiagram som överskådligt och tydligt dokumenterar eget programmeringsarbete,
  • tolka och förklara UML-klassdiagram,
  • använda avancerade språkelement i Java som undantag, trådar, grafiska komponenter, objektsamlingar och nätprogrammering i eget programmeringsarbete,
  • förklara språkelementens uppbyggnad och funktion,
  • förklara och tillämpa testdriven programutveckling

i syfte att:

  • vara förberedd att delta i programutvecklingsprojekt,
  • kunna arbeta med programutveckling i Java.

Kursens huvudsakliga innehåll

Objektorienterad programmering i Java. Användning av klassbibliotek i Java för objektsamlingar, enkla grafiska komponenter, avancerade grafiska komponenter, klient-server-programmering och trådar. UML-klassdiagram.

Designmönster för objektorienterad programutveckling.

Kriterier för god design. Testning och testdriven programutveckling.

Orientering om objektorienterad analys.

Orientering om vanliga utvecklingsmetodiker.

Laborationer i Java som samtliga dokumenteras med UML-klassdiagram.

Behörighet

Rekommenderade förkunskaper

Programmeringsteknik, algoritmer och datastrukturer motsvarande någon av kurserna DD1320, DD1321, DD1325, DD1327, DD2325 eller ID1020. Javaprogrammering motsvarande DD1380/DD2310 Javaprogrammering för Pythonprogrammerare.

Litteratur

Meddelas senast 10 veckor före kursstart på kurswebben.

Examination

  • LAB1 - Laborationsuppgifter, 3,0, betygsskala: A, B, C, D, E, FX, F
  • PRO1 - Projekt, 1,5, betygsskala: A, B, C, D, E, FX, F
  • TEN1 - Tentamen, 1,5, betygsskala: A, B, C, D, E, FX, F

Om särskilda skäl finns kan annan examinationsform användas.I denna kurs tillämpas skolans hederskodex, se: http://www.kth.se/csc/utbildning/hederskodex.

Krav för slutbetyg

Godkända laborationsuppgifter, projekt och tentamen.

Ges av

EECS/Datavetenskap

Kontaktperson

Vahid Mosavat (vahid@kth.se) Ann Bengtsson (ann@kth.se)

Examinator

Ann Bengtsson <ann@kth.se>

Vahid Mosavat <vahid@kth.se>

Övrig information

Kursen ersätter DD2385.

DD1385 kan inte kombineras med DD1332, DD1346, DD1392, DD1393 eller DD2385.

Versionsinformation

Kursplan gäller från och med VT2019.
Examinationsinformation gäller från och med VT2019.