Till KTH:s startsida Till KTH:s startsida

Komma igång

Kattis-systemet

På flera av labbarna i kursen använder vi rättningssystemet Kattis. Ni skickar in er kod till Kattis, och koden testas sedan på lite olika testfall och ni får nästan direkt svar på om er kod var godkänd eller inte.

Ni loggar in i Kattis med ert KTH-id.

Om ni inte använt Kattis tidigare rekommenderas att ni går igenom guiden som finns för att lösa ett enkelt problem.  Gå till https://kth.kattis.com/help, välj vilket programmeringsspråk du vill använda, och läs under "Solving a problem". Detta tar bara några minuter och kommer hjälpa er att orientera er i systemet.

Ni behöver också registrera er på kursen progp16 i Kattis. Detta gör ni genom att (1) logga in i Kattis, (2) gå till progp16 i Kattis och (3) klicka länken för att registrera er högst upp.

Git

Läs informationen på sidan om Inlämning av labbar via Git och prova att lämna in testlabben via Git.

Komma igång med Haskell

I kursen använder vi GHC. Den finns installerad på skolans Ubuntu-datorer. Det finns två kommandon som är bra att känna till:

  • ghc: kompilerar Haskell-kod till ett körbart program
  • ghci: interaktiv interpretator som är praktisk för att testa sin kod när man utvecklar den, den ger möjlighet att provköra funktioner man har skrivit och vid behov stega igenom exekveringen.

ghci

När man startar ghci ser det ut så här.

>ghci
GHCi, version 7.10.3: http://www.haskell.org/ghc/  :? for help
Prelude>

Som anges så kan man få hjälp med ":?", kolla det och se vad som finns.

För att ladda in en modul med funktioner som ni skrivit använder man ":load ". Om ni t.ex. tagit kodskelettet till labb F1 och sparat det i en fil F1.hs, så kan ni skriva (om ni startar ghci i katalogen som F1.hs ligger i):

Prelude> :load F1.hs
[1 of 1] Compiling F1 ( F1.hs, interpreted )
Ok, modules loaded: F1.
*F1>

Nu är funktionerna i modulen F1 laddade och ni kan provköra dem, t.ex. så här (värdena som returneras här är ju fel svar, eftersom vi bara tog kodskelettet i uppgiften och inte har skrivit den riktiga lösningen ännu):

*F1> fib(5)
0
*F1> rovarsprak("Hej")
"Hej"

Läs vidare om ghci i GHC-manualen här, speciellt om hur man använder debuggern.

Andra operativsystem

GHC finns för andra plattformar som Windows och Mac men jag (Per) har aldrig testat det. Se GHCs hemsida.