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, jonas.duregard@chalmers.se
Kursassistenter:
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
- Skrien, Dale, Object-Oriented Design Using Java: https://dokumen.pub/object-oriented-design-using-java-0072974168-9780072974164.html
- 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 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.
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: 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 |
---|---|---|