|
Automatiskt bedömd uppgift. Uppgift där kandidaterna skriver in en kodesnutt som körs och valideras automatiskt. |
Uppgiftstypen Kompilering i Inspera Assessment låter kandidaterna skriva in en kodesnutt som automatiskt körs och valideras. Denna uppgiftstyp är för närvarande i Open Beta och kräver en aktiv internetanslutning för att fungera.
För att använda den måste uppgiftstypen aktiveras för din Inspera Assessment-miljö; vänligen kontakta din huvudsakliga kontaktperson på Inspera för mer information.
Denna artikel ger en introduktion till uppgiftstypen Kompilering, förklarar nyttig terminologi för författare, beskriver hur du skapar dessa uppgifter, förtydligar rollen för testfall, skisserar testprocessen för både författare och kandidater, samt listar kända begränsningar.
Översikt och nyckelterminologi
Uppgiftstypen Kompilering är utformad för automatisk bedömning av programmeringsuppgifter. Kandidaterna skriver sin kod i en dedikerad editor, som sedan kompileras (for kompilerbara språk) och körs mot testfall som definierats av författaren.
- Kandidaterna skriver sin kod i en specialiserad kodredigerare med syntaksfärgning och radnumrering, likt uppgiftstypen Programmering. Denna editor presenteres som en inmatningsruta direkt i uppgiften, vilket tar bort behovet för kandidaterna att öppna en ny flik. För vissa språk stöds även en viss grad av autokorrigering. Författare kan välja om denna autokorrigering ska vara tillgänglig.
-
Du definierar testfall för att validera kandidatens kod. Varje testfall består av input (indata) och en förväntad output (utdata). För att ett testfall ska köras korrekt måste kandidatens kod läsa indata från Input Stream och skicka utdata till Output Stream.
Som visas i exempelbilden: om indata är ”hallo”, ska den korrekta utdatan vara ”hllo”, vilket indikerar att bokstaven ”a” togs bort.
Till exempel i C++ erhålls indata från std::in och utdata skickas via std::out. Utdatan och den förväntade utdatan måste matcha exakt, så kandidat bör inte skicka någon annan information genom utdataströmmen.
Skapa en kompileringuppgift
När du skapar en kompileringsuppgift sätter du upp uppgiftstexten, definierar programmeringsmiljön och tillhandahåller eventuell standardkod.
-
Du kan konfigurera generella inställningar för denna uppgiftstyp i sidopanelen. Dessa inkluderer inställningar för poäng, bedömningsmatris, återkoppling med mera. För mer information om generella inställningar, se artikeln Generella inställningar för uppgifter.
Följande generella inställningar är specifika för uppgiftstypen Kompilering:
-
Dessa definierar hur bedömningen av uppgiften ska ske.
Kandidatens kod körs mot testfall för bedömning. Om alla testfall godkänns får kandidaten den totala poängen. Om minst ett av fallen misslyckas får uppgiften 0 poäng.
Som sådan använder du endast inställningen Poäng för alla rätt vid poängsättning av uppgiften. För mer information om bedömning, se Avancerad poängsättning.
-
Kandidatens kod körs mot dessa testfall för att utvärdera korrekthet och poängsätta uppgiften därefter. Författaren kan definiera så många testfall för bedömning som önskas. Kandidaten har ingen tillgång till dessa testfall.
Varje testfall består av indata och förväntad utdata. Du kan använda x-tecknet uppe till höger för att ta bort ett specifikt testfall. Det är viktigt att notera att om något testfall för bedömning misslyckas, blir poängen för uppgiften 0 (se sektionen om Poäng).
- Exempel-testfall fungerar på samma sätt som testfall för bedömning men med ett annat syfte. Kandidaterna kan se dessa testfall och kan köra sin kod mot dem för att testa den innan de lämnar in uppgiften. Inga poäng är kopplade till dessa testfall.
-
-
Du kan konfigurera generella inställningar för denna uppgiftstyp i sidopanelen. Dessa inkluderar inställningar för poäng, bedömningsmatris, återkoppling med mera. För mer information om generella inställningar, se artikeln Generella inställningar för uppgifter.
Följande generella inställningar är specifika för uppgiftstypen Kompilering:
-
Dessa definierar hur bedömningen av uppgiften ska ske.
Kandidatens kod körs mot testfall för bedömning. Om alla testfall godkänns får kandidaten den totala poängen. Om minst ett av fallen misslyckas får uppgiften 0 poäng.
Som sådan använder du endast inställningen Poäng för alla rätt vid poängsättning av uppgiften. För mer information om bedömning, se Poängsättning för uppgifter - Enkel.
-
Kandidatens kod körs mot dessa testfall för att utvärdera korrekthet och poängsätta uppgiften därefter. Författaren kan definiera så många testfall för bedömning som önskas. Kandidaten har ingen tillgång till dessa testfall.
Varje testfall består av indata och förväntad utdata. Du kan använda x-tecknet uppe till höger för att ta bort ett specifikt testfall. Det är viktigt att notera att om något testfall för bedömning misslyckas, blir poängen för uppgiften 0 (se sektionen om Poäng och bedömningsmatris).
- Exempel-testfall fungerar på samma sätt som testfall för bedömning men med ett annat syfte. Kandidaterna kan se dessa testfall och kan köra sin kod mot dem för att testa den innan de lämnar in uppgiften. Inga poäng är kopplade till dessa testfall.
-
Specifika inställningar
Genom att klicka på svarstallen kan författaren definiera uppgiftens instruktion (standard är Fyll i ditt svar här) och komma åt alternativ specifika för uppgiftstypen Kompilering.
- Författare kan välja från ett brett utbud av kodspråk och kompilatorversioner. Detta val ger automatiskt syntaksfärgning anpassad efter det valda språket.
- Efter att ha valt programmeringsspråk (och stängt och öppnat kodinställningarna på nytt) kan författare skriva kod som kommer att vara synlig och redigerbar för kandidaten när de startar provet. Denna kod visas tillsammans med uppgiftstexten.
- Koden som skickas in av kandidaten måste vara fullt körbar, inklusive nödvändiga importer eller includes. Till exempel i språk som C++ måste det finnas en main-funktion, och i Java måste klassen kallas Main.
- Författaren kan tillhandahålla denna kod i förväg för att minska risken för fel hos kandidaten och vägleda dem i hur indata- och utdataströmmen ska användas.
Testa koden
-
-
Innan uppgiften lämnas in kan kandidaten testa sin kod mot exempel-testfallen genom att klicka på knappen Testa kod.
-
Efter några sekunder ser kandidaten resultatet för varje exempel-testfall om koden kompilerades framgångsrikt. For varje testfall ser kandidaten Input, Förväntad utdata, Status (Rätt eller Fel), och hur lång tid det tog att köra dem.
-
Om ett kompileringsfel uppstår visas ett felmeddelande för kandidaten.
- Genom att klicka på Stäng (oavsett om kompileringen lyckades eller inte) går kandidaten tillbaka till uppgiften, där de kan fortsätta redigera eller gå vidare till nästa fråga.
-
-
-
Vid förhandsgranskning av uppgiften har författaren samma upplevelse som kandidaten. Men författaren kan välja att köra koden mot både exempel-testfallen och testfallen för bedömning genom att klicka på knappen Kontrollera validering av testfall för utvärdering, vilket inte är tillgängligt för kandidater.
-
Efter att ha kört koden mot testfallen för bedömning kan författaren köra den igen mot exempel-testfallen genom att klicka på Kontrollera validering av exempel-testfall.
-
Kända begränsningar
- Kandidaten kan endast testa sin kod mot de exempel-testfall som definierats av författaren.
- Varken kandidaten eller författaren kan se den faktiske utdataen (Actual Output) för testfallen, utan endast Input, Förväntad utdata, Status (Rätt eller Fel) och exekveringstid.
- Koden som skickas in av kandidaten måste innehålla allt som krävs för att köras, inklusive eventuella importer, includes etc. Till exempel:
- För språk som C++ krävs en main-funktion
- I Java måste klassen kallas Main
- Denna uppgiftstyp saknar stöd för offline-läge.
- Service-level agreements (SLA) inkluderar inte denna uppgiftstyp.
- Användare kan uppleva fördröjningar eller lag i vissa fall.
- Vid fel i kodkompilering görs inga automatiska nya försök, utan kandidaten måste försöka igen manuellt.
- Vi rekommenderar inte att denna funktion används på stora prov (dvs. över 500 kandidater).
- Uppgiften är inte kompatibel med designinställningen Visa varning vid navigering bort från sidor med ofullständiga svar. För mer information, se artikeln om Designinställningar i uppgiftsgrupper.