Kursöversikt

Kurs-PM

DAT055 Objektorienterade applikationer lp3 VT22 (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:

Felix Naredi, naredi@student.chalmers.se
Omar Sulaiman, omarsuliman52@gmail.com

Kursens syfte

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

Schema

I och med Coronarestriktioner så kommer samtliga element i kursen att ske på distans. Tiderna kommer att överensstämma med schemat i TimeEdit, men föreläsningar, övningar, presentation och labpass kommer att ske genom en kombination av Slack och Zoom.

Börja med att registrera dig på den slack som är uppsatt för kursen: länk till slack.

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 28 januari 2022.

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 2022-03-17, 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 i skala (U-5) ges efter godkända laborationer (betyg U eller 3) och baseras på tentamensbetyg (U-5).

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 Canvas.

Länk till laboration 1.

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: 28/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

Metaprogrammering + Versionshantering (2)

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

OH

Projekt
Git-övning
8 F12 Undantag + testning Projekt
9 Projekt

10

Projekt
Deadline 2022-03-04
11 Projektredovisningar 2022-03-10 & 2022-03-12
12 Tentamen torsdag EM 2022-03-17.

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

Studentrepresentanter

TBA

Länk till kursplanen i Studieportalen Studieplan

Kurssammanfattning:

Datum Information Sista inlämningsdatum