Till KTH:s startsida Till KTH:s startsida

Laboration 6 del 1

I denna labb ska du

  • Lära dig att använda domaren Kattis.
  • Lära dig att skriva testprogram med unittest.

Registrera dig på Kattis

Gör så här:

  1. Följ länken: Kattis
  2. Logga in (längst upp till höger) med ditt KTH-id
  3. Välj "COURSES" i övre menyn
  4. Välj "tilda15"

Lär dig använda Kattis

Läs avsnittet Tutorials (1 och 2) i dokumentationen och lös problemen Hello och A Different Problem.

Syntaxkoll

Du ska börja med att implementera dessa tre regler:

      <LETTER>::= A | B | C | ... | Z
      <letter>::= a | b | c | ... | z
      <num>   ::= 2 | 3 | 4 | ...

Läs igenom instruktionerna nedan och utför punkterna i ordning.

  1. Skriv en spec med namnen på de funktioner du behöver och en kommentar för varje funktion som beskriver vad funktionen ska göra.
  2. Gör en kopia av din LinkedQueue från labb 2, och lägg till metoden peek() som tittar på nästa värde i kön utan att plocka ut det.
  3. Gör ett eget särfall Syntaxfel som är subklass (ärver från) Exception.
  4. Skriv ett testprogram med unittest som ska kontrollera att funktionerna fungerar som avsett.
  5. Till sist - skriv själva funktionerna

Redovisning

Labben lämnas in på kurswebbsidan (se Inlämningsuppgifter i vänstermenyn) och redovisas muntligt av bägge gruppmedlemmarna.

Vid redovisningen ska du kunna

  • Demonstrera hur Kattis används
  • Förklara hur unittest används för testning
  • Redovisa de program (och specen) du skrivit i uppgifterna ovan

Betyg

Denna labb kan endast ge betyg E. Du måste lämna in den och redovisa den i tid för att få göra labbarna för högre betyg i period 2.

Lärare Linda Kann skapade sidan 30 september 2015

En användare har tagit bort sin kommentar
En användare har tagit bort sin kommentar
kommenterade 3 november 2015

 Ska vi använda oss av LinkedQ och metoden peek() i denna labb? Isåfall behövs det väl skrivas mer än tre funktioner som testas?

Lärare kommenterade 3 november 2015

@Jonathan

Det här är förberedelser för nästa del, Labb 6.2 så ni måste inte använda LinkedQ och peek.