LAB3: P-uppgiften
Kursens tredje moment, LAB3, är en större, personlig programmeringsuppgift i Python; en P-uppgift. Du får inte samarbeta med någon annan i arbetet med uppgiften. Uppgifterna är tänkta att vara något så när svåra och tidskrävande, räkna med ca 80 timmar. Betyget i kursen ges av detta moment.
P-uppgiften har flera delmoment: specifikation, prototyper, granskning och slutredovisning. Du måste boka en tid för slutredovisningen.
Det finns många olika uppgifter, och du får inte göra samma uppgift som någon annan i din grupp.
Alla P-uppgifter | Filer till P-uppgiften |
Delmoment |
|
Datum |
Redovisas på labbtid |
7 dec |
|
Prototyper (4 st) |
Redovisas på labbtid |
|
7 dec |
||
16 dec |
||
18 jan |
||
24 jan |
||
Peer review i Canvas. |
24-25 jan |
|
Boka en tid för redovisning |
30 jan |
Spec
Innan programmet skrivs ska en specifikation lämnas in. Syftet är att du ska dela upp problemet i mindre delar och strukturera upp ditt arbete.
Specen ska innehålla:
- Beskrivning av minst en klass, med attribut och metoder
- Förslag på funktioner med indata och utdata
- Beskrivning av datastrukturen, med bild
- Beskrivning av vad programmet ska göra (algoritm)
- Tidsplan: vilka datum och tider du tänker arbeta med uppgiften (avsätt ca 80 timmar totalt) och vad du planerar att göra varje vecka.
- Specen ska lämnas in i Canvas före specövningen, och redovisas muntligt (5 min/person). Redovisningen görs i Zoom.
Specen kan ge 4 bonuspoäng
Hur ska specen se ut? Här finns ett exempel:
Denna spec uppfyller inte alla kraven. Vad saknas?
Prototyper
Prototyperna ska vara körbara, men inte färdiga, versioner av ditt program. Tanken är att du ska träna upp ett bra arbetssätt, där du provkör efter varje ändring av programmet. Prototyperna ska lämnas in i Canvas.
Krav:
- Fyra prototyper ska lämnas in i Canvas, en per vecka.
- Prototypen redovisas via Zoom..
- Varje prototyp ska gå att köra.
- Varje ny prototyp ska innehålla en signifikant ändring jämfört med föregående.
- Prototypen ska ha en kommentar överst som kort beskriver vad som är nytt.
- Testkörning ska bifogas i en kommentar i slutet.
De fyra prototyperna kan ge en bonuspoäng var om dom redovisas i tid.
Granskning
Innan det färdiga programmet kan redovisas för en lärare ska det testas och läsas (granskas) av en kurskamrat. Det är obligatoriskt att granska ett program.
- Du som granskar ska kritiskt granska programmet, testköra det och fylla i ett granskningsprotokoll.
- Varför?
- Den du granskar får tips om förbättringar
- Du ser ditt eget program med nya ögon
- Du lär dig att kvalitetsbedöma kod
- När den du granskat redovisar sin p-uppgift ska du vara med (via Zoom). Glöm inte granskningsprokollet.
- Granska bara en uppgift (varför är det olämpligt att granska flera?)
- Öva på att granska programmet schlager.py Download schlager.py med datafil Eurovision2020.txt Download Eurovision2020.txt
Redovisning
Redovisningen kommer att genomföras i Zoom, som ett möte med dig, din granskare och en lärare.
- Boka en tid för redovisning.
- Lämna in ditt färdiga program i Canvas (Se P-uppgift (slutinlämning) under Uppgifter). För att förhindra fusk kommer din lösning att jämföras mot tidigare lösningar.
- Du får intyga att du följt hederskodexen.
- Läraren kollar leg
- Granskaren får berätta
- Läraren provkör
- Läraren tittar på koden
- Läraren frågar
- Läraren fyller i sitt protokoll
- Du får betyg (E,D,C,B,A eller komplettering)
Komplettering
- Om ditt program inte uppfyller kraven kan du få komplettera:
- Antingen senare samma dag (om läraren har tid)
- Annars: boka ny tid
- Granskaren behöver inte vara med vid kompletteringen (om inte granskaren också ska komplettera sin granskning).
Inte klar i tid?
- Efter kursens slut kan P-delen ge maximalt betyget E. Väntar du mer än ett år från kursstart med att redovisa måste du ta kontakt med kursledaren - det kan vara så att din P-uppgift inte längre finns kvar, så att du måste byta uppgift.
- Det anordnas uppsamlingstillfällen, se uppsamlingssidan
- Men det är bäst att bli klar i tid - då har du möjlighet att plussa för högre betyg inom ett år från kursstart.