TDDE71 Programmering och datastrukturer
Examination
Kursen består av följande obligatoriska moment:
- LAB1 En laborationskurs, 3 hp
- UPG2 Datordugga, 0.5 hp
- PRA1 Ett projekt, 3 hp
- UPG1 Datorbaserade inlämningsuppgifter (OpenDSA), 1.5 hp
LAB1 - Laborationer
Laborationer utförs i grupper om normalt två personer. Även om laborationer löses i grupp görs i princip en individuell betygssättning.
Laborationsserien består av fyra uppgifter. Laborationerna utförs under läsperiod Ht1. Samtliga laborationer stilgranskas. Sträva alltid efter att skriva klar och tydlig kod som följer god praxis och konventioner. Redovisning ska alltid ske före respektive laborations deadline.
För att bli godkänd på en laboration krävs att:- regler för examination av datorlaborationer följts (se nedersta fliken på denna sida).
- laborationen redovisats muntligt och samtliga gruppmedlemmar kunnat redogöra för arbetet.
- källkod är skickad till assistenten med hjälp av givet inskickningssystem.
- alla ovanstående krav har uppfyllts före deadline (om inget annat bestämts i förväg).
- lösningen uppfyller normala korrekthetskrav och vad som i övrigt sägs i uppgifterna (följ specifikationerna).
- lösningen uppfyller god praxis och konventioner
- eventuell komplettering är inlämnad senast 8 kalenderdagar efter assistentens besked om komplettering.
Komplettering kan medges om en uppgift inte riktigt når godkänd nivå. Assistenten meddelar om komplettering är aktuellt.
Godkänt på laborationsserien som helhet ges när du har godkänt på samtliga laborationer. Laborationer examineras, och resultat rapporteras till LADOK, vid tre tillfällen under året:
- Ordinarie examination löpande under HT1 med rapportering i slutet av oktober tentamensperiod.
- Omexamination löpande under schemalagda delen av HT2 med rapportering i slutet av januari omtentaperiod.
- Omexamination under augusti omtentamensperiod med rapportering i slutet av densamma.
Det sker ingen examination i perioden februari fram till augusti omtentamensperiod.
UPG2 - Datordugga
Duggan är en individuell examination som tjänar två syften. Dels visar du att du uppnått kunskapsmålen för betyg 3 och dels visar du att du är tillräckligt förberedd att genomföra projektet. Det krävs alltså att du klarat duggan för att få börja projektet.
Duggan ges tre gånger, i oktober, november och december. Projektet kan påbörjas om du klarat duggan senast i november. Varje duggatillfälle är 90 minuter. Har du beslut om rätt till förlängd skrivtid är skrivtiden 120 minuter.
Duggan består av en uppgift som kräver förståelse av kalkylatorlabben. Du ska visa att du kan:
- Komma fram till vilka klasser och medlemmar som behövs och inte behövs.
- Placera medlemmar så de finns där de behövs men inte där de inte behövs utan kodupprepning.
- Skapa väl inkapslade och felhanterade klasser.
- Använda polymorfi i en arvshierarki utan slicing.
- Allokera och avallokera minne.
- Använda en std::vector för lagring av egenskapad datatyp.
- Skapa klasser som separata proggrammoduler (filuppdelning).
Tidigare duggor
Övningsmaterial
Övningsuppgift dugga 2024-10-21.
PRA1 - Projekt
Projektarbetet utförs i grupp om 5-6 personer. Bildandet av grupper överlåts åt kursdeltagarna själva. Om någon skulle ha problem med att hitta en grupp ska kursassistenten kontaktas. Det finns en deadline för s.k. projektgruppsregistrering som innebär att gruppen senast då ska ha meddelat projekthandledaren om att gruppen bildats och vilka som ingår samt ifall gruppen redan valt ett projekt att utföra. Grupper kan bildas över klassgränser.
Samtliga obligatoriska moment ska utföras och lämnas in enligt kursens aktivitetsplanering. Se separata krav för varje moment på kurshemsidans projektsidor.
Graden av kvalitet och medverkan på samtliga projektmoment ingår i slutexamination av projektet. Om skäl föreligger kan en individuell betygssättning (G/U) av gruppens medlemmar ske.
UPG1 - Datorbaserade inlämningsuppgifter (OpenDSA)
Görs på egen tid under kursens gång. För godkänt gäller att alla obligatoriska uppgifter är genomförda. Observera att detta ska genomföras individuellt då det är ett examinationsmoment. Misstanke om fusk måste anmälas av examinator till disciplinnämnden enligt LiU:s regler.
Bonusuppgifter för högre betyg.
Utöver de obligatoriska momenten kan du samla bonuspoäng, genom att utföra bonusuppgifter relaterade till laborationerna, projektet och OpenDSA. Dessa är prestationer som går utöver kraven för godkänt.
- Betyg 3: krav för godkänt uppfyllda
- Betyg 4: krav för godkänt uppfyllda + 20p
- Betyg 5: krav för godkänt uppfyllda + 40p
Bonusuppgifter lämnas in tillsammans med laborationen de ingår i.
En inlämnad bonusuppgift måste följa dess givna specifikation (utföra det uppgiften säger att den ska göra) för att den ska beaktas för bedömning. Det finns därför inte utrymme för större kompletteringar.
Regler för examination av datorlaborationer vid IDA
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, använda otillåtna hjälpmedel eller ej godkända AI-baserade assistenter) 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.
Kursens bedömningskriterier
TDDE71 kursmål | Betyg 3 | LAB | PRA | Betyg 5 | LAB | PRA |
använda grundläggande språkkonstruktioner | Utnyttjar lämpliga språkkonstruktioner I lösningar av grundläggande imperativa problem | x | x | |||
Använder språkkonstruktioner för korrekt minneshantering (allokering, avallokering, ej läckor, ej slicing) | x | x | genomgående användning av språkkonstruktioner för att säkra korrekt och effektiv minneshantering (referenser, flyttsemantik, kopiering, ägandeskap) | x | ||
använda designprinciper, metoder och tekniker som används inom objektorienterad programmering för att konstruera program som löser givna problem | Använder inkapslade och polymorfa klasser för att lösa givna problem (private, public, virtual, arv, konstruktor, destruktor) | x | x | genomgående korrekt användning av språkkonstruktionerna för att öka läsbarhet och säkra funktionalitet (pure virtual, anrop basklass, delegerande konstruktor, const, inkapsling, operator) | x | |
använda objektorienterade principer för att samarbeta i konstruktionen av ett mer omfattande program | Planerar, implementerar och dokumenterar ett objektorienterat projeket. Projektet fungerar med varierande uppsättningar av objekt som interagerar med varandra. Reflekterar över sina erfarenheter. | x | Implementerar systemet med hänsyn till hög kohesion och låg koppling. | x | ||
Demonstrerar förmåga att hålla god struktur, leda projektmöten och att kontinuerligt statusrapportera och följa upp projektplan. | x | |||||
komplexitetsberäkna och använda vanligt förekommande datastrukturer och algoritmer | Motiverar en given algoritms komplexitet med ordo-notation. | x | ||||
Uppfyller givna komplexitetskrav i sin implementation | x | |||||
Väljer och tillämpar lämpliga datastrukturer och algoritmer i sina lösningar på uppgifter med tydlig kravbild | x | Identifierar självständigt behov och väljer lämpliga datastrukturer och algoritmer | x | |||
För betyg 3 krävs uppfyllnad av alla bedömningskriterier för betyg 3. | ||||||
För betyg 4 krävs uppfyllnad för betyg 3 samt majoriteten av bedömningskriterierna för betyg 5. | ||||||
För betyg 5 krävs uppfyllnad för betyg 3 samt alla bedömningskriterier för betyg 5. |
Sidansvarig: Eric Ekström
Senast uppdaterad: 2025-04-09