Examination
Kursmoment och deras examination
- Laborationer i Python (1.5hp) LAB1
- Datorprov (1.5hp) LAB2
- P-uppgift (3hp) LAB3
Moment examineras löpande under kursen med P/F förutom P-uppgiften.
P-uppgiften avgör hela kursens betyg enligt följande:
- E = Godkänd P-redovisning, (max tre påpekande på redovisningsprotokollet)
- D = Godkänd P-redovisning (inga påpekande på redovisningsprotokollet)
- C = Kraven för D + en extrauppgift med betyget C
- B = Kraven för C + en extrauppgift med betyget B
- A = Kraven för B + en extrauppgift med betyget A
Betyg på kursen blir alltså betyg på p-delen, men betyg registreras först när en är klar på alla ladokmoment.
(Det kommer att delas ut bonuspoäng för att ha utfört moment i tid, 8 bonuspoäng (av 10.5) eller fler leder till ett snäpp upp på betygskalan från D och upp)
- Varje laboration 1.25 bp (totalt 7.5bp)
- Datorprov 1bp
- Specifikation 1bp
- Prototyp 1 bp
Obs! Om har en inte har fått något betyg på P-uppgiften innan kursens avslut kan en endast få betygen E eller D. Detta kan inte påverkas av bonuspoäng.
Laborationer
Momentet LAB1 består av sex obligatoriska datalaborationer i Python. Labbarna ska göras i grupper av två personer. Varje labb ger 1 bonuspoäng om den redovisas i tid, d.v.s innan deadline.
Datorprov
Datorprovet är ett prov som ges i mitten av kursen. Provet är på 60 minuter och består av 20 flervals och frisvarsfrågor. För godkänt krävs ~15 rätt.
Kursens första tillfälle är klockan 8, 14 oktober 2021.
P-del
Kursens tredje moment, LAB3, är en större, individuell programmeringsuppgift i Python; en "P-uppgift". P-delen redovisas i tre steg under kursens andra period. Uppgifterna är tänkta att vara något så när svåra och tidskrävande, räkna med ca 80 timmar.
Specifikation
Innan programmet skrivs ska en specifikation för grunduppgiften (inga extrauppgifter) skrivas. Syftet med specifikationen är att du ska tänka igenom problemet innan du försöker lösa det. Din spec måste godkännas för att du ska bli klar med kursen.
Prototyp
Efter att en har fått godkänt på specifikationen ska en bygga ut programskelettdelen av programmet till något som går att köra och visar något av hur programmet är tänkt att fungera när det är klart.
Granskning
Innan det färdiga programmet kan redovisas för en handledare ska det testas (granskas) av en student. Studenten får du välja själv, men för din egen skull bör det vara någon svårflirtad, eller kritisk person. Vid testen ska teststudenten kritiskt granska ditt program, testköra det och föra ett besiktningsprotokoll (Länkar till en externa sida.). Denna granskning är ett obligatoriskt moment. Varje kursdeltagare måste granska en uppgift. 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 en ska (och inte ska) programmera. Erfarenhetsmässigt ökar samtidigt chansen att bli godkänd vid redovisningen med minst 50% genom att ta hänsyn till granskarens kommentarer och eventuellt förbättra programmet innan det är dags för redovisningen.
Tips! Välj granskare först när du är klar att redovisa, och välj då någon som också är klar med sitt program, så att ni kan granska varandra.
Slutredovisning
Du väljer (normalt via webben) en tid för slutredovisning. Besiktningsprotokollet och granskaren ska medföras till slutredovisningen. Granskare som inte medföljer till slutredovisningen kan inte redovisa sin granskning.
P-uppgifterna är av olika omfång vilket kräver olika mycket tid, men tidsåtgången är framförallt beroende av dina kunskaper när du börjar med P-uppgiften.
Som ett komplement till de "inbyggda" finesserna i Python så finns ytterligare pythonfiler (Länkar till en externa sida.) för P-uppgiften. Utnyttja gärna dessa, men tänk på att i enlighet med hederskodexen (Länkar till en externa sida.) ALLTID ange varifrån koden kommer när det inte är din egen.
Efter kursens slut kan P-delen fortfarande redovisas men under speciella tillfällen. Eftersom datorsystemen byts eller uppgraderas årligen så bör du vara medveten om att tiden du har på dig att redovisa din P-del ä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-del fram till nästa kursstart.
Krav på P-uppgiftslösningen
Utöver kraven på funktionalitet som finns i uppgiftslydelsen gäller detta alltid:
- 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. Ingen felkoll behöver göras för att upptäcka om indatafiler verkligen existerar.
- 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 vettigt uppdelat funktioner, klasser (minst en, för att demonstrera kunskaper i objektorienterad programmering) och metoder, och 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 klass, funktion och metod ska vara försedd med kommentarer. Ange vad klassen och variabeln representerar och vad metoden gör. För metoder bör man också ange vad indata (parametrar) och utdata betyder. Det ska räcka att läsa kommentar och metodhuvud för att förstå hur en metod ska användas.
- Namn på klasser, variabler och metoder 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, klasser och metoder. 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.
- Funktioner, metoder och klasser får inte använda globala variabler. KONSTANTER är dock tillåtna utan förbehåll.
Omexamination
Omexamination av laborationer sker kontinuerligt under laborationstillfällena.
Omexamination av P-uppgiften bokas som vanlig P-uppgift.
Datorprov kommer att ha omprov i början av period 2 och i slutet av period 3.