bild
Skolan för
elektroteknik
och datavetenskap

P-uppgift

Kursens tredje moment, LAB3, är en större, personlig programmeringsuppgift i Python; en P-uppgift. Uppgifterna är tänkta att vara något så när svåra och tidskrävande, räkna med ca 80 timmar. P-uppgiften redovisas i tre steg, specifikation, granskning och slutredovisning (se nedan). Du måste boka en tid för slutredovisningen. Det finns många olika uppgifter, och du ska inte göra samma uppgift som någon annan i din grupp. Uppgiftslydelsen kvitterar du ut hos din assistent.

P-uppgiftens delmoment

Specifikation
Innan programmet skrivs ska en specifikation lämnas in. Syftet är att du ska tänka igenom problemet innan du försöker lösa det. Specifikationen ska innehålla följande delar:
  • Algoritm
  • Datastruktur (rita också en minnesbild med exempeldata)
  • Funktioner
  • Klasser med attribut och metoder (om du använder klasser)
Specen redovisas muntligt vid ett laborationstillfälle.
Granskning
Innan det färdiga programmet kan redovisas för en handledare ska det testas (granskas) av en kurskamrat. Vid testen ska din granskare kritiskt granska ditt program, testköra det och fylla i ett granskningsprotokoll. Denna granskning är ett obligatoriskt moment. (Varje kursdeltagare måste granska en uppgift, och alla uppgifter som ska redovisas för handledare måste granskas först.) Syftet med granskningen är att du genom att kritiskt granska en annans program ska få en ökad förståelse för hur man ska (och inte ska) programmera.
Slutredovisning
Du väljer (normalt via webben) en tid för slutredovisning. Uppgiftslydelsen, specifikationen med uppdaterad minnesbild, besiktningsprotokollet och granskaren ska medföras till slutredovisningen, liksom en färsk programutskrift, och förstås programmet. Om du tar med en egen dator till redovisningen ska den vara uppkopplad mot Internet, eftersom vi (för att förhindra fusk) jämför din lösning mot tidigare lösningar.

Krav på P-uppgiftslösningen

Utöver kraven på funktionalitet som finns i uppgiftslydelsen gäller detta alltid:

  • Programmet ska vara kommenterat upptill med författare, datum och ev revisionsdatum. Överkommentera inte programmet i övrigt. Tänk på att det är kvalitet och inte kvantitet på kommentarer som räknas.
  • Programmet ska vara användarvänligt och presentera sig vid programstart. Tydliga instruktioner ska ges på skärmen. Det ska vara lätt att förstå vad programmet skriver ut. Det är tillåtet att anta att indatafiler är felfria om inte annat anges i uppgiftslydelsen.
  • Programmet ska vara vettigt uppdelat i funktioner, och eventuellt klasser. Funktioner ska inte vara alltför långa (max en skärmsida). Det ska vara lätt att i efterhand gå in och förstå och ändra i programmet. Robust, flexibelt och lättläst är nyckelord.
  • Varje variabel och funktion ska vara försedd med kommentarer. Ange vad variabeln representerar och vad funktionen gör. För funktioner bör man också ange vad indata (parametrar) och utdata (retur-värde) betyder. Det ska räcka att läsa kommentar och funktionshuvud för att förstå hur en funktion ska användas.
  • Namn på variabler och funktioner ska vara vettiga. Alla deklarerade namn ska vara på samma språk, liksom alla kommentarer (engelska namn och svenska kommentarer är OK). Koden skall vara snyggt formaterad.
  • Nästan identiska kodstycken ska inte upprepas. Gör i stället generella funktioner. Inför inte i onödan begränsningar. Inför konstanter för sådant som man kan tänkas vilja ändra framöver (om man skulle vilja arbeta vidare med din lösning) och för tal som inte ska ändras och går att beskriva med namn.

Redovisa senare?

Efter kursens slut kan P-delen endast redovisas i omtentaperioder och ger maximalt betyget E. Eftersom datorsystemen byts eller uppgraderas årligen så bör du vara medveten om att tiden du har på dig att redovisa din P-uppgift är begränsad. Väntar du mer än ett år från kursstart med att redovisa kan lydelsen till din P-uppgift behöva bytas ut. Du måste då ta kontakt med kursledaren. Vi reserverar oss för att byten av datorsystem kan medföra att vissa eller samtliga P-uppgifter inte går att utföra i framtiden. Du kan alltså bara vara säker på att det går att redovisa din P-uppgift fram till nästa kursstart. Lydelsen som ligger ute på nätet kan ändras när som helst. Se därför till att du skriver ut den lydelse du har valt och håller rätt på den tills du har redovisat.
Copyright © Sidansvarig: Sten Andersson <stene@nada.kth.se>
Uppdaterad 2012-08-27