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, jonas.duregard@chalmers.se
Kursassistenter:
Kursens syfte
Kursen skall ge fördjupade kunskaper och färdigheter i objektorienterad programutvecklingsteknik, med betoning på modellering och programutveckling i projektform.
Schema
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
- Skrien, Dale, Object-Oriented Design Using Java: http://www.allitebooks.com/object-oriented-design-using-java/
- Hodson, Ryan, Git Succinctly: https://www.syncfusion.com/resources/techportal/ebooks/git
- Chacon, Scott, Pro git: http://git-scm.com/documentation
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, Versionshantering (1) |
BK 13 BK 13 BK 15.1-6, JS 4, DS
|
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
|
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 |
---|---|---|