Goblin: ett inlämnings- och bedömningssystem
Kursens övningsuppgifter lämnas in i ett webbaserat system som heter Goblin, som också bedömer (de flesta) uppgifterna omedelbart.
Inloggning
Goblin har sin egen webbadress: https://greengoblin.cs.hut.fi/. Du kan logga in med ditt WebLogin-användarnamn.
Då du loggar in för första gången i Goblin, fyll i frågeformuläret angående din tidigare programmeringserfarenhet. Denna information används för att utveckla grundkurserna i programmering. Ditt svar påverkar givetvis inte ditt kursvitsord.
Inlämnandet av uppgiften
Om du gör uppgifterna med ett par, skapa först en två personers grupp. Välj menyn Grupper -> Skapa ny grupp. Om du senare byter par, kan ni skapa en ny grupp. Att skapa en grupp binder dig inte till att lämna in alla uppgifter med samma par (eller att ha ett par överhuvudtaget).
Kursen har olika uppgifter -- se uppgiftssidan.
- "Fyll i frågeformuläret i Goblin"-uppgifter (t.ex. uppgift 1.3) och "Bekanta er med Vissleri-exemplen i Goblin"-uppgifter (t.ex. 2.4) hittas i Goblin och lämnas in enligt instruktionerna där.
- I uppgifter av typen "Följ uppgiftsbeskrivningen i projektet" (t.ex. uppgift 1.2) ändrar eller skapar man programkod, som har att göra med något av exempelprojekten i kursmaterialet. De ändrade och/eller nya filerna lämnas in i Goblin. Det här görs genom funktionen Lämna in i Goblins meny. När du väljer att lämna in en uppgift, meddelar Goblin vilka filer som ska lämnas in. Välj det arbetspar, i vars namn du lämnar in uppgiften (eller "ensam"). De önskade filerna laddas sedan upp via webbläsaren. Om du gör uppgifterna med Eclipse, finns filerna i din kursmapp (om du följde Eclipse-guiden), i den undermapp som projektet i fråga ligger i.
Oftast lämnar man in en eller flera Python-kodfiler, men i några uppgifter lämnar man in någonting annat, t.ex. ett helt projekt packat i ZIP-format. Detta nämns alltid skilt i uppgiftsbeskrivningen. (Se Eclipse-guiden för att ta reda på hur man packar ett projekt som en ZIP-fil.)
Du kan lämna in samma uppgift ett begränsat antal gånger. Programmeringsuppgifterna kan man lämna in högst 10 gånger och frågeformulär tre gånger. Vislaamo-uppgifter kan man lämna in oändligt många gånger.
Den bästa inlämningen blir alltid i kraft. Kom ihåg att ni kan själv köra ert program hur många gånger som helst före ni lämnar in det. Testa alltså på egen hand att programmet fungerar, före ni lämnar in lösningen till Goblin!
I samband med programmeringsuppgiftens inlämning frågar Goblin hur mycket tid ni satte ner på uppgiften. Svara hur länge uppgiften som helhet tog. Även denna information används bara för att utveckla kursen och påverkar inte bedömningen.
Om bedömningen
Goblin bedömer de flesta programmeringsuppgifterna automatiskt genom att jämföra användarens lösning med en modellösning. Sedan ges en rapport över hur det inlämnade programmet klarade testerna och hur många poäng det fick. I en del uppgifter kan en automatisk bedömning inte göras, utan kursassistenten bedömer inlämningen efter att ronden har stängts. Detta nämns också i uppgiftsbeskrivningen ifall det är aktuellt.
Observera: Goblins automatiska rättning är tämligen ytlig och baserar sig på en jämförelse av programutskrifter. På grund av rättningens natur är det ytterst viktigt att ditt program följer uppgiftsbeskrivningen väldigt noga. Ett minsta lilla fel kan orsaka att Goblin tolkar programmet som bristfälligt, och kan sänka poängen märkbart. Som med datorer och programmering i allmänhet är noggrannhet nyckeln till att undvika magsår.
Tolkning av Goblins feedback
Till en uppgift hör oftast ett par test, där programmet matas med slumpmässig data (t.ex. heltal från olika intervall).
Goblin kan ge tiotals rader feedback. Om det finns få fel, är det svårt att hitta själva felmeddelandet bland all text. Felen meddelas med röd text, som innehåller testets namn eller syfte, testets poängmängd och ordet "failed". Till exempel är betyder felmeddelandet "Line OK? 2 points failed" att man har jämfört en hel rad utskrift med modellösningen och att testet är värt 2 poäng (poäng som man inte fick).
Ovanför felmeddelandet syns utskrifterna från ditt program och modellösningen. Strängen "failed" kan man söka efter med webbläsarens sökfunktion, vilket underlättar det hela. I Firefox är kommandot t.ex. Edit -> Find.
Specialfall:
(Om du inte förstår följande i kursens början, gör det ingenting)
- Felmeddelandet "Termination succeed? 3 points failed" betyder sannolikt att Goblin slutade köra programmet efter att det gått en viss tid. Det typiska felet är att programmet har fastnat i en oändlig slinga eller annars bara fastnar. Ovanför detta meddelande kan det stå någonting som "Your program return value -1" och "Model program return value 0". Dessa behöver man inte uppmärksamma, eftersom problemet är att ditt program inte kunde utföras till slut, fast det borde gå.
- Goblin kan också få fnatt om det fattas ett radbyte i slutet på en utskriven rad. Då kan man få felmeddelandet "Expaca returned 11". Radbyte kan göras med
println
-metoden eller genom att lägga till strängen\n
i slutet av strängen som ska skrivas ut.