Examination
För att klara kursen behöver du klara följande tre obligatoriska moment i Ladok:
Moment i Ladok | Examinationsmoment | Högskolepoäng | Betygstyp | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
LAB1 | Laborationer | 1.5 hp | P/F | ||||||||||||
LAB2 | Datorprov | 1.5 hp | P/F | ||||||||||||
LAB3 | P-del | 3.0 hp |
E-A (om du redovisar p-uppgiften efter kursens slut kan du högst få ett D som betyg)
|
Slutbetyg blir samma betyg som på p-delen, men slutbetyget registreras först när man är klar på alla tre ladokmoment LAB1, LAB2 och LAB3.
Laborationer
Momentet LAB1 består av fem obligatoriska datalaborationer. 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. Bonuspoängen har man nytta av på datorprovet.
Datorprov
Datorprovet är ett prov som ges i mitten av kursen. Provet är på 55 minuter och består av 20 flervalsfrågor. För godkänt krävs 16 rätt men med bonuspoängen kan man klara sig med färre antal rätt enligt följande tabell:
Antal i tid godkända test i OLI-plattformen + antal godkända labbar i tid. | Minst antal rätt på provet för godkänt |
Färre än 4 | 16 |
4 till 7 | 15 |
8 till 10 | 14 |
+11 | 13 |
För att ett test i varje OLI-module ska räknas som "godkänt i tid" krävs minst 60% rätt på testen .
P-del
Kursens tredje moment, LAB3, är en större, individuell 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-delen redovisas i tre följande stegen Specifikation, Granskning och Slutredovisning.
Specifikation
Innan du börjar skriva programkod för den uppgiften du har valt ska du skriva en datorskriven specifikation för grunduppgiften (inga extrauppgifter) och redovisas under något labbtillfälle. Syftet med specifikationen är att du ska tänka igenom problemet innan du försöker lösa det. Specen är inte obligatorisk men det är starkt rekommenderat att göra en spec.
Granskning
Att kunna upptäcka brister hos ett program skrivet av någon annan är ett av kursmålen. Varje kursdeltagare måste granska EN uppgift. En P-uppgift som ska redovisas måste ha granskats innan redovisningen och endast av EN annan student. Syftet med granskningen är att du genom att kritiskt granska en annans program ska kunna visa att du kan upptäcka brister hos programmet och kunna värdera det på det sättet.
När du känner dig klar med din uppgift för redovisning kan börja söka efter andra studenter som också känner sig färdiga för redovisning så att ni kan granska varandras program och redovisa granskningen i samband med redovisning av den uppgift som du granskat. Studenten får du välja själv, men för din egen skull bör det vara någon "ovän", eller kritisk person. Vid testen ska du kritiskt granska programmet, testköra det och föra ett besiktningsprotokoll Download besiktningsprotokoll. Denna granskning är ett obligatoriskt moment. 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. Specifikationen, besiktningsprotokollet
Download besiktningsprotokollet och granskaren ska finnas med på slutredovisningen. Granskare som inte medföljer till slutredovisningen har ingen chans att försvara sin granskning och riskerar därmed att bli underkända.
Här kommer att finns lista på p-uppgifterna med länkar till lydelserna för att du ska kunna skumma och bestämma dig för en uppgift. På bokningssidan som snart publiceras kan du välja en uppgift.
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 för P-uppgiften. Utnyttja gärna dessa, men tänk på att i enlighet med hederskodexen 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) 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.