Vanliga fel vid Tentamen i EDAA30 Programmering i Java

LUNDS TEKNISKA HÖGSKOLA
Institutionen för datavetenskap
EDAA30 Programmering i Java – fortsättningskurs
HT 2014
Vanliga fel vid Tentamen i EDAA30 Programmering i Java –
fortsättningskurs
Tentamen består av 4 - 6 uppgifter som tillsammans ger 36 poäng. För godkänt krävs 18 poäng. För att få poäng på
en uppgift måste det finnas en rimlig lösning eller huvuddelen av en sådan. Poängavdrag på en uppgift kan aldrig
överskrida maxpoängen på den uppgiften. D.v.s. man kan inte få mindre än noll på någon uppgift. Om samma fel
upprepas flera gånger i samma uppgift görs avdrag bara en gång.
Mindre fel (M) ger 0,5 poängs avdrag, normala fel (N) ger 1-2 poängs avdrag och grova fel (G) ger 2-4 poängs
avdrag. Nedan följer en lista över de vanligaste typfelen vid de senaste tentorna. Detta är ingen heltäckande lista
över möjliga fel.
Teorifrågor
Avdrag ges för vaga motiveringar eller inkompletta definitioner.
Generik
• Glömt typargument <E> (M)
Arv
• Försök att instansiera ett interface (M)
• Låter strukturen snarare än elementen implementera comparable (N)
Länkade datastrukturer
• Glömmer skapa nodobjekt (N)
• Blandar ihop element och nod (N)
• NullPointerException (N)
• Missar borttagning (t.ex. p.g.a. avsaknad av pekare
till föregående nod) (G)
• Glömmer skugga equals vid skuggning av hashCode (M)
Rekursion
• Blandar ihop extends och implements (M)
• Ineffektiv rekursion (G)
• Glömmer skugga viktiga metoder (t.ex. vid tillägg
av attribut såsom räknare) (N)
• Lägger till attribut istället för att använda lokala
variabler (G)
• Skuggar metoder i onödan (N)
• Glömmer skicka med referens till datastruktur (G)
• Glömmer kontrollera typ (instanceof()) vid t.ex
skuggning av equals (N)
• Saknar basfall (G)
• Felaktigt anrop av superklassens metod (utan super) (N)
Jämförelser
• Jämför objekt med ==,<,> istället för compareTo
(N)
• Jämför primtiva typer med compareTo (N)
• NVänder på jämförelsen vid compareTo (N)
Datastrukturer generellt
• Missar del av rekursion (t.ex. ett subträd) (G)
• Tar inte hand om resultaten av rekursiva anrop (G)
Att följa instruktioner
• Felaktigt format på utskrifter (M)
• Avsaknad av eller felaktigt returvärde (N)
• Hittar på, justerar eller väljer annan datastruktur
än angiven (G)
• Implementerar inte enligt kommentarerna till specificerade metoder och klasser (G)
• Blandar ihop null och tom struktur (M)
• Glömmer typkonvertering av Object (M)
• Fel intervall eller missad gräns vid traversering (av
t.ex. matris eller vektor) (M)
Allmänna fel
• Missar generera exception (N)
• Missar hantera specialfall (N)