LabbarHär hittar ni kursens labbar. UppläggKursen innehåller fyra labbar, som är en del av problemlösningsmomentet i kursen. Varje labb innehåller ett antal labbuppgifter. Målet med labbarna är att ni ska utveckla ett återanvändbart kodbibliotek med implementationer av användbara algoritmer och datastrukturer. Labbarna är inte obligatoriska, men det finns två goda skäl att göra dem ändå; dels ger de betygspoäng, dels kommer ni att ha möjlighet att använda det ni gjort på labbarna under problemlösningssessionerna och även för att lösa hemtalen. Varje labb kan ge upp till 9 betygspoäng på moment LAB1. Labbarna kan göras i grupper om upp till tre personer. Labbar lösta efter deadline ger inga poäng alls. Bedömning av labbarBedömningen av inlämnade labbar består av två delar:
InlämningEn labbupgift anses inlämnad om motsvarande Kattis-uppgift är löst vid deadline för labben. Vid granskningen kommer vi att titta på den senaste godkända inskickningen som inkom innan deadline. Tänk på att det är den koden som kommer att granskas (och som därför ska vara bra kommenterad). Obs! Varje person i labbgruppen måste själv skicka in en lösning på Kattis-uppgiften för att lösningen skall registreras för honom/henne. DeadlinesDeadlines anges i labblydelserna. Krav på kodenAllmänna kravKoden ska vara kommenterad och snyggt strukturerad. Till varje uppgift ger vi förslag på vad funktionen/klassen som ska implementeras kan ta för parametrar och vad den kan returnera. Detta är dock inte något som ni behöver följa slaviskt, om ni tycker att det blir snyggare att göra på något annat sätt går det bra, så länge funktionen fortfarande löser uppgiften som ska lösas. Läs gärna GNU coding standards och/eller Google coding standards för inspiration, men använd ert sunda förnuft. FörfattareFörfattarens (eller författarnas, om det är en grupp) namn ska finnas som en kommentar högst upp i koden. DokumentationAlla funktioners och klassers funktionalitet ska vara dokumenterad med kommentarer i koden. FelhanteringIdealiskt vore förstås om era algoritmer och datastrukturer var helt robusta och generella, men det kan vara svårt. Exceptionella fall måste hanteras på något sätt, t.ex. genom att kasta undantag eller åtminstone genom att ni dokumenterar dem. Mer detaljerade kravHär följer tolkningar, tillämpningar och tumregler som har med kraven att göra. Det är inte en uttömmande lista på vad som behövs.
|