Kursöversikt
Kurs-PM
DAT055 Objektorienterade applikationer lp4 VT23 (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
Kursassistent:
Kursens syfte
Kursen skall ge fördjupade kunskaper och färdigheter i objektorienterad programutvecklingsteknik, med betoning på modellering och programutveckling i projektform.
Schema
Se TimeEdit.
Börja med att registrera dig på den slack som är uppsatt för kursen: länk till slack.
När du bildat en projektgrupp (bör vara 5 personer i varje grupp), registrera dig här.
Schema för möten med projekthandledare, här.
Kurslitteratur
Kursen kommer inte att ha någon fysisk kurslitteratur utan bara använda sig av webresurser.
Listan kommer att utökas under kursens gång.
- Chacon, Scott, Pro git.
Overhead från kursen kommer att läggas upp löpande på Canvas.
En bok som får betraktas som "avancerad" i kursens början men extremt läsvärd när kursens material har tillgodogjorts är "Effective Java, 3rd edition" av Joshua Bloch. Den är inte en konventionell lärobok men för den som vill programmera mer i Java efter kursens slut är den ovärderlig.
Kursens upplägg
Undervisningen består av föreläsningar, (ett fåtal) lärarhandledda övningstillfällen och handledda projektmöten. Kursen innehåller ett laborationsmoment i form av ett projektarbete. Projektgruppen 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.12 – v.19 krävs för godkänt projekt.
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 2023-06-02, 8:30-12:30, 4.5 hp.
Hjälpmedel: En sammanställning av vanliga standardklasser bifogas tentamenstesen.
Laborationer: I form av projektf ger 3 hp.
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änt projekt (resultat U eller G) och utgår endast från tentamensresultat (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.
- Kommunikation. Sockets, portar, datagram, client-server.
Mjukvaruutvecklingsverktyg
Det står gruppen fritt att välja. Två av de populäraste utvecklingsmiljöerna med bra Git-stöd som finns till Linux, Windows & MacOS är
IntelliJ och Eclipse. Det rekommenderas varmt att alla i gruppen använder samma utvecklingsmiljö.
LucidCharts är en mycket bra, men i gratisversion något begränsad, webapp för att rita diagram.
Gratistjänsten GitHub kommer vi att använda oss av. Er repositories ska i år vara privata. Delas inom en grupp och med gruppens handledare.
Kursplanering
Föreläsning | Innehåll | Läsanvisning | |
---|---|---|---|
LV 1/ V12 |
Kursens mål & syfte Introduktion till versionshantering & Git Projektet, beskrivning. Introduktion till OOA/OOD. Fortsättning OOA/OOD |
Kapitel 1 & 2 från Pro Git https://www.geeksforgeeks.org/object-oriented-analysis-and-design/ |
|
LV 2 / V13 |
Repetition MVC Mer MVC God design, design patterns I |
|
|
LV 3 / V15 |
Design patterns II I/O, strömmar, filer Serialisering. Introduktion till kommunikation, portar, socketar, datagram, client-server, m.m. |
|
|
LV 4 / V16 |
Trådar & parallellism |
|
|
LV 5 / V17 |
Design by contract, undantag (exceptions) (Enhets)testning |
||
LV 6 / V18 | F14 | Klassladdning & andra knivigheter | |
LV 7 / V19 |
Självstudier/projektarbete | ||
LV 8 / V20 | Projektredovisningar 2023-05-16 & 2023-05-17 | ||
LV 9 / V21 | Självstudier | ||
LV 10 / V22 | Tentamen fredag FM 2023-06-02. |
Studentrepresentanter
Erik Bejstam bejstam@student.chalmers.se
Peach Phongam phongam@student.chalmers.se
Anna Olsson olssanna@student.chalmers.se
Gamla inspelningar av föreläsningar
En student hade noterat att såna fanns och det stämmer, i alla fall bitvis. De följer inte nuvarande version av kursen helt exakt men kan kanske vara till glädje för någon. Var försiktiga med att röra ihop dem med årets version av kursen bara!
F1-Introduktion, F2-GUI, F3-OOA+OOD, F4-Versionshantering, F5-Design patterns, F6-MVC, F7-Strömmar+filer, F8-Serialisering+strömmar, F9-Trådar, F10-Datakommunikation, F11-Metaprogrammering+lite mer versionshantering.
Kursplan
Finns på Studieportalen.
Kurssammanfattning:
Datum | Information | Sista inlämningsdatum |
---|---|---|