Institutionen för informationsteknologi

Inlämningsuppgifter

Instruktioner (PDF) Version 1.01 Uppdaterad 16/2 -06

Samtliga uppgifter skall lösas i grupper om exakt två personer. Uppgifterna är av ökande svårighetsgrad så det underlättar förmodligen att göra uppgifterna i tur och ordning.

Alla uppgifter är delar av ett program: Kortspelet Klondike.
Ni får redan från början en fullt fungerande version av spelet och er uppgift är att successivt byta ut olika delar av programmet. Uppgiften är att skriva filen cardpile.c. Observera att de delar ni ska skriva redan finns implementerade i COURSE_cardpile.o. Detta är inte en källkodsfil utan en objektfil. (Det skulle inte bli så mycket till uppgift om ni fick källkoden). Observera att det finns två versioner av denna fil, en för sparc och en för x86. Uppgift ett beskriver hur ni ska göra för att kompilera och länka ihop filerna. Det är att betrakta som fusk att dissassemblera den givna objektfilen, även om jag betvivlar att det skulle ge någon information som underlättar lösandet av uppgifterna.

Om uppgifterna

Uppgift 1 Bekanta dig med koden och gcc. Funktioner att skriva: colormatch, suittochar, valuetostring, successor. Stopptid: Onsdag 22/2 -06 kl 8:14.

Uppgift 2 Utskrifter, enklare pekarhantering. Funktioner att skriva: printcard, printcardpile, countcards, unmarkpile. Stopptid: Onsdag 1/3 -06 kl 8:14.

Uppgift 3 Mer avancerad pekarhantering. Funktioner att skriva: placeontop, drawone, shuffle, movemarked. Stopptid: Onsdag 8/3 -06 kl 8:14.

Uppgift 4 Minnesallokering och makron. Funktioner att skriva: initdeck, cleanupdeck. Plus ett antal makron. Stopptid: Onsdag 15/3 -06 kl 8:14.

Uppgift 5 (endast DVP) Kodförståelse. Funktion att skriva: nomoremoves.
Stopptid: Måndag 29/3 -06 kl 8:14.

Inlämning

Inlämning sker via Course Manager.

Endast en person per grupp ska lämna in uppgiften. Använd inte CM:s grupp-funktion. Se till att alla gruppmedlemmars namn står i källkodsfilen.
Alla uppgifter löses i grupper om exakt två personer. Uppgifterna ska lösas tillsammans, det är inte meningen att ni ska dela upp jobbet i mindre delar och lösa var sin del på egen hand. Alla gruppmedlemmar ska vara beredda att svara på frågor om och redogöra för hela lösningen.

På inlämningsuppgifter lämnas något av betygen godkänd (G), komplettering (K) eller underkänd (U). Komplettering innebär att lösningen inte är tillräckligt bra utan måste förbättras och lämnas in för ny betygsättning senast vid stopptiden för nästa inlämningsuppgift. Underkänt betyg får man om man inte gjort ett seriöst försök att genomföra uppgiften och lämnat in innan stopptiden eller om ev. komplettering inte är tillräckligt bra. (Och förstås om man fuskat.)

För att en inlämning ska räknas som ett "seriöst försök" ska följande kriterier vara uppfyllda:

  • Programmet ska vara ämnat att lösa det problem som uppgiften beskriver.
  • Källkoden ska passera kompilatorn (gcc) med de flaggor som uppgiften kräver utan varningar.
  • Kända fel och brister i inlämningen ska vara dokumenterade i källkoden.

Man kan alltså bli godkänd på en inlämningsuppgift på ett av två sätt:

  • Genom att lämna in en tillräckligt bra lösning i tid.
  • Genom att lämna in ett "seriöst försök" till lösning i tid och dessutom lämna in en tillräckligt bra lösning ("komplettering") senast vid nästa inlämningstillfälle.

Det finns en kodningsstandard för hur lösningarna skall vara utformade. Om inte denna standard följs kan resultatet bli komplettering/underkännande utan att vi ens tittar på vad lösningen faktiskt gör.

Uppdaterad  2006-02-22 18:16:25 av Jesper Wilhelmsson.