Göm menyn

Kursinformation

Objektorienterad programmering (OOP) är ett mycket vanligt paradigm för programutveckling, baserat på objekt, datastrukturer som innehåller både information och operationer / funktioner relaterade till denna information.

Den här kursen har två huvudsyften:

  • Du ska lära dig en uppsättning grundläggande, generella och relativt språkneutrala begrepp och tekniker inom OOP. Viktiga begrepp är t.ex. klasser och instanser, meddelanden och metoder, polymorfism, arv, och inkapsling (encapsulation). Även designprinciper specifika för OO-programmering är en del av kursen. Tonvikten ligger på OO-design och implementation snarare än OO-analys och modellering.

  • Du ska lära dig använda ett objektorienterat programmeringsspråk, både för att konkretisera begreppen och teknikerna och för att ge ett praktiskt användbart verktyg som du kan använda dig av i framtiden. Språket i kursen är Java, och du får möjlighet att lära dig både språkets grunder och en del om Javas standardiserade klassbibliotek.

Kombinationen av konkret erfarenhet av OO-programmering plus förståelse för de grundläggande begreppen ska ge en god bas för att även lära sig andra OO-språk i framtiden.

729A85, TDDD78 och TDDE30 innehåller:

  • En serie föreläsningar. Se också Länk till Zoom i Lisam för distansföreläsningar.

  • En serie inledande laborationer som utförs enskilt.

  • Ett friare projekt där man själv får välja vilket program man vill skapa. Detta utförs enskilt eller i par. Ni skriver all programkod från grunden utan tillgång till kodskelett eller liknande styrning. Detta ger bland annat praktiska erfarenheter av ren programmering i ett program som är för stort för att man ska kunna hålla alla rader programkod i huvudet på en gång.

TDDE30 (för D-programmet) innehåller även:

  • Rapportskrivning – språk- och strukturgranskning av projektrapporten.

Examination

Examinationen sker kontinuerligt under kursens gång, dels muntligt genom demonstration för din labbhandledare samt besvarande av frågor, dels "skriftligt" (elektroniskt) genom granskning av programkod och rapporter. Följande betyg ges:

  • Laborationer (3 hp): Komplettering/G

  • Projekt (3 hp):

    • TDDD78 (U), TDDE30 (D): Komplettering/3/4/5

    • 729A85 (Kogvet): Komplettering/G/VG

  • För TDDE30 (D): Skriftlig rapport (1 hp), Komplettering/G

Kursen har ingen tentamen.

Betygskrav TDDD78

I TDDD78 (U-programmet) finns två LADOK-moment (där "3" betyder att båda för tillfället är i sin tredje version). Betyget för kursen är lika med betyget för moment PRA3.

  • LAB3: Laborationer. Här får man betyg G om man har godkänt på labb 1-4.

  • PRA3: Praktiskt arbete, vilket inkluderar både projektet och labb 5 (som är specialanpassad för att demonstrera en del av den större bredd och djup som krävs för högre kursbetyg). De viktigaste betygskraven är följande:

    • Som grundkrav måste man bl.a. ha demonstrerat projektresultatet för en handledare med godkänt resultat, lämnat in ett underskrivet labbomslag, och lämnat in programkod i tid inför en deadline. Fler grundläggande krav kan framgå på websidorna om projektet.

    • För betyg 3 måste man dessutom ha fått betyg 3 eller högre på projektinlämningen (kod och dokumentation, inklusive innehållet i projektrapporten).

    • För betyg 4 måste man dessutom ha genomfört nivå 4 eller högre på Tetris med godkänt resultat, och fått betyg 4 eller högre på projektinlämningen.

    • För betyg 5 måste man dessutom ha genomfört nivå 5 på Tetris med godkänt resultat, och fått betyg 5 på projektinlämningen.

Betygskrav TDDE30

I TDDE30 (D-programmet) finns tre LADOK-moment. Betyget för kursen är lika med betyget för moment PRA1.

  • LAB1: Laborationer. Fungerar som TDDD78-LAB3 ovan.

  • PRA1: Praktiskt arbete, inklusive projekt samt labb 5. Fungerar som TDDD78-PRA3 ovan.

  • UPG1: Rapportskrivande. Här granskas projektrapporten i fråga om struktur och språk (till skillnad från PRA1, där programmeringskunniga granskar samma rapport med avseende på Java och objektorientering). Granskningen utförs inte på IDA utan av medarbetare på Institutionen för kultur och kommunikation (IKK). Här får man betyg G om rapporten blir godkänd med avseende på struktur och språk.

Betygskrav 729A85

I 729A85 (kognitionsvetenskap) finns två LADOK-moment. Betyget för kursen är lika med betyget för moment PRA3.

  • LAB3: Laborationer. Fungerar som TDDD78-LAB3 ovan.

  • PRA3: Praktiskt arbete, inklusive projektet samt labb 5. Fungerar som TDDD78-PRA3 ovan, med undantaget att:

    • Betyg G ersätter betyg 3.

    • Betyg VG motsvarar grundkraven, genomförande av nivå 4 eller högre på Tetris med godkänt resultat, och betyg VG på projektinlämningen.

Kursplan

Kursplaner för 2022 finns i LiU:s studieinfo: 729A85, TDDD78, TDDE30.

Gamla kursplaner för 2021 finns i LiU:s studieinfo: 729A85, TDDD78, TDDE30.

Gamla kursplaner för 2020 finns i LiU:s studieinfo: 729A85, TDDD78, TDDE30.

Gamla kursplaner för 2019 finns i LiU:s studieinfo: 729A85, TDDD78, TDDE30.

Gamla kursplaner för 2018 finns i LiU:s studieinfo: 729A85, TDDD78, TDDE30.

Tidigare kursplaner: TDDD78-2014, TDDD78-2015, TDDD78-2016, TDDD78-2017.

Allmänna regler om inlämning, deadlines och fusk

Följande allmänna regler gäller för samtliga kurser på IDA. Se också informationen om kursens egna specifika deadlines.

Regler för examinering av datorlaborationer vid IDA

Datorlaborationer görs i grupp eller individuellt, enligt de instruktioner som ges för en kurs. Examinationen är dock alltid individuell.

Det är inte tillåtet att lämna in lösningar som har kopierats från andra studenter, eller från annat håll, även om modifieringar har gjorts. Om otillåten kopiering eller annan form av fusk misstänks, är läraren skyldig att göra en anmälan till universitetets disciplinnämnd.

Du ska kunna redogöra för detaljer i koden för ett program. Det kan också tänkas att du får förklara varför du har valt en viss lösning. Detta gäller alla i en grupp.

Om du förutser att du inte hinner redovisa i tid, ska du kontakta din lärare. Då kan du få stöd och hjälp och eventuellt kan tidpunkten för redovisningen senareläggas. Det är alltid bättre att diskutera problem än att, t.ex., fuska.

Om du inte följer universitetets och en kurs' examinationsregler, utan försöker fuska, t.ex. plagiera eller använda otillåtna hjälpmedel, kan detta resultera i en anmälan till universitetets disciplinnämnd. Konsekvenserna av ett beslut om fusk kan bli varning eller avstängning från studierna.

Policy för redovisning av datorlaborationer vid IDA

För alla IDA-kurser som har datorlaborationer gäller generellt att det finns en bestämd sista tidpunkt, deadline, för inlämning av laborationer. Denna deadline kan vara under kursens gång eller vid dess slut. Om redovisning inte sker i tid måste, den eventuellt nya, laborationsserien göras om nästa gång kursen ges.

Om en kurs avviker från denna policy, ska information om detta ges på kursens webbsidor.


Sidansvarig: Jonas Kvarnström
Senast uppdaterad: 2022-01-17