Kursöversikt

Kurs-PM

DAT055 Objektorienterade applikationer lp3 VT20 (7,5 hp)

Kursen ges av institutionen för Data- och informationsteknik

Kontaktuppgifter

Kursansvarig & lärare:

Pelle Evensen, evensen@chalmers.se

Examinator:

Jonas Almström Duregård,

Kursassistenter:

Kursens syfte

Kursen skall ge fördjupade kunskaper och färdigheter i objektorienterad programutvecklingsteknik, med betoning på modellering och programutveckling i projektform.

Schema

TimeEdit

Kurslitteratur

  • Barnes & Kölling, Objects first with Java, 6:e upplagan, https://www.bluej.org/objects-first/
    Det går även bra att använda 5:e upplagan.
  • Skansholm, Jan, Java direkt med Swing, 8:e upplagan, Studentlitteratur 2014
    Skansholms bok rekommenderas som allmän resursbok för Java.

Gratisböcker

Overhead från kursen kommer att läggas upp löpande på Canvas.

Kursens upplägg

Undervisningen består av föreläsningar och handledda projektmöten. Kursen innehåller två laborationsmoment. Den första är en relativt liten uppgift som genomförs i grupper om två personer och redovisas i början av den andra läsveckan. Den andra genomförs i form av ett projektarbete där man i grupp konstruerar och dokumenterar ett program med objektorienterad metodik. Ett lyckat projektresultat förutsätter individuella insatser och engagemang av gruppmedlemmarna!
Aktivt deltagande under hela projekttiden v.5 – v.11 krävs för godkänt projekt.
Laboration 1 redovisas senast 31 januari 2020.

Lärandemål

De studerande skall efter genomgången kurs kunna:

  • Konstruera objektorienterade program med grafiska användargränssnitt, trådstruktur samt
    kommunikation och filhantering.
  • Konstruera objektorienterade modeller i det grafiska modelleringsspråket UML.
  • Använda vanligt förekommande utvecklingsverktyg för objektorienterad modellering, kodutveckling samt versionshantering.
  • Arbeta med programutveckling i projektgrupp.

Examination

Tentamen: Skriftlig tentamen 2020-03-19, 4.5p.

Hjälpmedel: En sammanställning av vanliga standardklasser bifogas tentamenstesen.

Laborationer: Två laborationer (varav en i projektform) ger tillsammans 3p.

För att bli godkänd på projektet krävs aktivt deltagande i projektgrupp under hela projekttiden.

Slutbetyg Slutbetyg i skala (3-5) ges efter godkända laborationer och baseras på tentamensbetyg.

Innehåll

I kursen används Java som programmeringsspråk och UML som modelleringsspråk.
Uppräkningen är inte kronologisk.

  • Programutvecklingsprocess.
  • Objektorienterad modellering i UML. Olika diagramtyper. Användningsfallsanalys.
  • Distribuerade arbetsflöden och versionshantering av kod. Utvecklingsverktyg.
  • Grafiska användargränssnitt.
  • Model-View-Controller-arkitekturen för program med grafiska användargränssnitt.
  • Orientering om några vanliga designmönster.
  • Strömmar och filer.
  • Program med parallell exekvering. Aktiva objekt och trådad programstruktur.
  • Kommunikation. Socketar, portar, datagram, multicasting, client-server.
  • Javas reflektionsmekanism. Klassladdning.

Programkod

All given programkod kommer att läggas upp under Moduler -> Föreläsningsanteckningar i form av zip-filer.

Redovisning av laborationer

Laborationerna redovisas elektroniskt via det webbaserade Fire-systemet. För att kunna använda
Fire måste varje labbgrupp registrera sig i systemet, registrering sker på https://ooa-lp3-20.fire.cse.chalmers.se/.

Se under Moduler -> Laborationer för mer detaljerad information om labbredovisning.

Mjukvaruutvecklingsverktyg

BlueJ, Eclipse (Java), Poseidon (UML), UMLet (UML)
Gratisversion av Eclipse kan hämtas från www.eclipse.org,
UMLet från http://www.umlet.com
Poseidon från http://www.gentleware.com/
Githotellet GitHub finns på https://github.com

Poseidon från Gentleware är ett av många gratisverktyg för UML-modellering, UMLet ett annat.
UMLet är lätt att använda och fullt tillräckligt för kursens behov.

Kursplanering

Föreläsning 3-4 tvåtimmarspass per vecka de tre första veckorna.
Laboration/Projekt Ett fyratimmarspass med handledning per projektgrupp och vecka.

Vecka

Föreläsning Innehåll Läsanvisning Projekt
4

F1

F2

F3

F4

Grafiska användargränssnitt

Grafiska användargränssnitt forts.

Applikationsdesign, utvecklingsprocess,
modellering i UML

Versionshantering (1)

BK 13

BK 13

BK 15.1-6, JS 4, DS


OH, H 1, C 1-2

Laboration
Deadline: 31/1
5

F5

F6

F7

Designmönster

MVC-modellen

Strömmar och filer

BK 15.7, Skr

BK 15.7.5

JS 16

Projekt
6

F8

F9

F10

Objektserialisering, objektströmmar

Aktiva objekt och trådar

Kommunikation, portar, socketar, datagram, multicasting, client-server, m.m.

JS 16.4.2

JS 12

JS 18

Projekt
Övning
7

F11


F12

Versionshantering (2)

Reflektion, klassladdning

OH, H 2-, C 3, 4.10, 5, 9.1-4

OH

Projekt
Git-övning
8 Projekt
9 Projekt

10

Projekt
Deadline 2020-03-06
11 Projektredovisningar 2020-03-12 & 2020-03-13
12 Tentamen torsdag EM 2020-03-19.

BK = Barnes & Kölling (6:e uppl.)
JS = Skansholm
DS = Skrien
C = Chacon
H = Hodson

Studentrepresentanter

TIDAL  tmauritzon@hotmail.com  Tobias Mauritzon
TIELL   robinebrehnberg@gmail.com       Robin Rehnberg
TIDAL   filip.reuterberg@live.com       Filip Reuterberg
TIDAL   antonoskar@hotmail.com  Anton Söfting
TIDAL   tepic@student.chalmers.se       Alexander Tepic

Länk till kursplanen i Studieportalen Studieplan

Kurssammanfattning:

Datum Information Sista inlämningsdatum