Course syllabus
DAT050 Objektorienterad programmering lp1 HT21 (7,5 hp)
Kursen ges av institutionen för Data- och informationsteknik.
Denna sida kommer att vara nästan helt oförändrad under kursens gång. De flesta tillägg och förändringar kommer endast att göras på kursens första sida.
Kursens upplägg
Denna kurs består av föreläsningar och laborationer; och slutar i en skriftlig tentamen. Laborationerna och tentamen är obligatoriska, dvs man måste klara dem för att komma genom kursen.
I år kör kursen i ett hybrid format med vissa delar på campus som vanligt (laborationerna) och vissa delar på distans via Zoom (de flesta föreläsningar). Vi kommer att använda oss mycket av Slack, Zoom och Fire.
Laborationerna
Planen är att laborationerna sker på campus som vanligt. OBS: man får gärna göra labbarna på egen tid på egna datorer, men handledning i labbarna sker i huvudsak i datorsalarna som används för labbarna. Man kan också fråga om labbarna på Slack, men var noga att följa reglerna om sådana frågor på Slack.
I den här kursen labbar vi i par och varje par lämnar in sina lösningar genom Fire systemet. Varje student bör skapa ett konto i Fire. Om två studenter, som heter A och B, vill vara ett par, då bör de göra så här: student A skapar en grupp i Fire och student B går med i den gruppen.
Varje lab har två deadlines. Till den första bör varje par skicka in en riktig lösning. Om handledaren som rättar lösningen hittar några saker som bör förbättras, då får man reject i systemet och då har man tid framtill den andra deadlinen att skicka in en lösning som uppfyller kraven som handledaren har skrivit i Fire.
Kursens laborationer:
- Lab 1: Den första labben — deadline 5 september 2021
- Lab 2: Rationella tal — deadline 19 september 2021
- Lab 3: Beräkning av pi — deadline 26 september 2021
- Lab 4: Testning — deadline 5 oktober 2021
- Lab 5: Ett ritprogram — deadline 17 oktober 2021
Tips: I nuläget rekommenderar jag att man tar med sig sin egen laptop till labbarna (om det är möjligt) p.g.a. brister i datorsalen (Jupiter 308) som används för labbarna.
Föreläsningarna
De första två föreläsningarna kommer att ske på campus och därefter resten att ske på distans via Zoom. Föreläsningar som sker på campus kommer inte att spelas in. Föreläsningar som ges via Zoom kommer att finnas som video inspelningar. Video inspelningar av förra årets föreläsningar kommer att finnas här.
Kursens föreläsningar:
- F01: Introduktion, verktyg och små Java exempel
- F02: Att använda klasser & objekt
- F03: Att skriva egna klasser
- F04: Att skriva en egen datastruktur
- F05: Immutable och Java generics
- F06: Interface, Iterator och polymorphism
- F07: Arv och UML
- F08: Abstrakta klasser, enum, testning, exceptions
- F09: Programmera GUI och händelsehantering
- F10: Att rita grafik med Graphics
- F11: Design mönster: Model View Controller
- F12: Mera MVC och filhantering (att spara till / ladda från filer)
- F13: Problemlösning: ritning i 3D och djup kopiering
- F14: Repetition
- F15: Inför tentan: hur tentan funkar och övningar
- F16: Inför tentan: repetition och övningar
Presentationerna som används på föreläsningarna kommer upp (som PDF) senast innan varje föreläsning.
Schema
Kontaktuppgifter
Föreläsare och examinator för kursen:
- Magnus Myreen myreen@chalmers.se
Handledare är:
- Jessica Barai mejlbarai@gmail.com
- Tobias Gabrielii tobias.gabrielii@gmail.com
- Johanna Schüldt schuldt@student.chalmers.se
Kursrepresentanterna är Abbas Faizi, Mirco Ghadri, Christina Meisoll och Mark Frederick Villarosa.
Kursens syfte
Kursen skall ge grundläggande kunskaper och färdigheter i objektorienterad programutvecklingsteknik innefattande modellering, programmeringsteknik, testning samt programdokumentation.
Kurslitteratur
Denna kurs har ingen obligatorisk kurs litteratur, men boken Objects first with Java : a practical introduction using BlueJ skriven av David J. Barnes och Michael Kölling rekommenderas.
Lärandemål
- konstruera små objektorienterade program.
- använda några vanligt förekommande programutvecklingsverktyg.
- behärska tekniker för datainkapsling, arv och polymorfism i ett objektorienterat programmeringsspråk.
- konstruera enkla objektorienterade modeller i ett grafiskt modelleringsspråk.
Examination
Examinations momenten i denna kurs är följande:
- Laborationer: Alla studenter ska antingen individuellt eller i par lösa laborationsuppgifterna och lämna in dem via Fire innan deadlines som står i Fire. För laborationerna får man antingen godkänt eller underkänt. För att få godkänt i kursen, måste man ha fått alla laborationer godkända.
- Skriftlig tentamen: Under tenta-veckan i slutet av LP1 kommer alla att sitta en skriftlig tentamen som betygsätts på skalan U, 3, 4, 5. Studenter som har fått laborationerna godkända får tentamensbetyget som betyg för hela kursen. I nuläget ser det ut som att den skriftliga tentan sker som vanligt i tentamenssal på campus.
Kusplan
Länk till kursplanen i studieportalen: kursplanen för DAT050 .
Förändringar sedan förra kurstillfället
Förra året gavs hela kursen på distans. Detta år kommer den att ges i en hybridform med delar på campus och delar på distans via Zoom och Slack.
Lab 3 har justerats sedan förra året. Lab 4 och 5 ersatts med ny uppgifter.