Kursanalys, 2D1361 Programmeringsparadigm

Här analyseras kursen 2D1361 Programmeringsparadigm.

Kursdata

Kurs2D1361 Programmeringsparadigm, 5p, period 1+2, ht 2006.
KursledareLars Arvestad, Alexander Baltatzis
HandledareAnn Bengtsson och Inge Frick från CSC. Niklas Bergström, Max Charas, Erik Gustafsson Erik Hammar, Joel Palmert rekryterades från D-äldre.
Undervisningstimmar21 föreläsningar om 2 h, samt 24 h laborationer i halvklass.
140 registrerade studenter, varav 94 från D-05 och två (borde vara fler) från TDATM-05. Om man tittar på labstatistiken i RES kan man räkna med ca 100 aktiva studenter. Det var 101 som skrev tentamen.

Examinationsgraden är 57 % när detta skrivs, trots att 80 % klarade tentan. Prestationsgraden är ca 73 %. Det är framförallt laboration 2 som är flaskhalsen.

45 studenter fyllde i kursenkäten som finns bifogad i slutet på denna kursanalys.

Kursmål

Kursen ska introducera viktiga begrepp i programmering, framförallt relaterat till funktionell programmering i Haskell och logikprogrammering i Prolog. Dessutom ingick för andra året ett block om syntaxanalys. Alexander Baltatzis agerar gästföreläsare som introducerar C-programmering och TCP/IP (mha Java) över fyra föreläsningar.

Förändringar inför denna kurs

Detta år gav Lars Arvestad kursen för första gången.

Den omdiskuterade schack-uppgiften i Haskell ersattes med en lab som gick ut på att givet molekylära data skatta ett evolutionärt träd.

I kursens syntaxdel tog jag upp reguljära uttryck.

Den enklaste Prolog-labben utgick och blev en frivillig introduktion som inte behövde godkännas.

Sammanfattning

1. Upplever du kursen som lätt eller svår?
  1. 2% (1 st) Mycket lätt.
  2. 11% (5 st) Lätt.
  3. 51% (23 st) Medel.
  4. 36% (16 st) Ganska svår.
  5. 0% (0 st) Mycket svår.
3. Tycker du att kursen är intressant och meningsfull?
  1. 42% (19 st) Ja, mycket.
  2. 44% (20 st) Ja.
  3. 13% (6 st) Neutral.
  4. 0% (0 st) Inte särskilt.
  5. 0% (0 st) Nej.
Jag är nöjd med kursen och min egen insats givet att det var första gången jag gav den, men erfarenheten hjälpte mig identifiera flera punkter där kursen kan förbättras. Studenterna var på det hela taget nöjda med kursen, men påpekar i sina kommentarer flera punkter där kursen bör ändras.

Det är många som blivit intresserade av funktionell programmering, i betydligt högre grad än vad Prolog har lockat, och syntaxanalysavsnittet verkar inte ha varit stimulerande.

Den nya lab 2 som var avsedd att vara enklare och mindre uppfyllde inte målen utan blev en ny stötesten. Den bör göras om, gärna genom att brytas upp, men också göras om.

Jag är inte heller nöjd med att ha betygssättning genom tenta och skulle vilja se en ny modell där laborationernerna och deras antal och/eller svårighetsgrad påverkar betyget, se avsnitt Inför nästa år.

Undervisningen

Kurslitteratur

8. Vad tycker du om kursboken Hutton: Programming in Haskell?

  1. 9% (4 st) Mycket bra.
  2. 44% (20 st) Bra.
  3. 20% (9 st) Hyfsad.
  4. 9% (4 st) Mindre bra.
  5. 2% (1 st) Dålig.
  6. 16% (7 st) Har inte använt den.
9. Vad tycker du om utdraget längst bak i boken, A gentle introduction to Haskell av Hudak et al?

  1. 7% (3 st) Mycket bra.
  2. 9% (4 st) Bra.
  3. 29% (13 st) Hyfsat.
  4. 7% (3 st) Mindre bra.
  5. 2% (1 st) Dåligt.
  6. 44% (20 st) Har inte använt det.

Haskell

För Haskell användes åter Graham Huttons bok i särtryck av CSC. Boken är uppskattad, men särtrycket är inte omtyckt. Den fungerade inte bra som referens (ett register saknas) och viktiga eller intressanta delar fanns inte med. Särtrycket är kompletterat med utdrag ur "A gentle introduction to Haskell" av Hudak et al, men alla inte har upptäckt att det finns med i slutet på boken. Utdrag ur en "tutorial" kan heller aldrig nå ända fram.

Eftersom Huttons bok publicerats officiellt efter att kursen avslutades blir det naturligt att använda den vid nästa omgång. Enligt Adlibris.se kostar den häftade versionen av boken 335 kr vilket måste ses som ett skäligt pris.

Prolog

10. Vad tycker du om kursboken Prolog Programming av Brna?

  1. 2% (1 st) Mycket bra.
  2. 22% (10 st) Bra.
  3. 36% (16 st) Hyfsad.
  4. 13% (6 st) Mindre bra.
  5. 13% (6 st) Dålig.
  6. 13% (6 st) Har inte använt den.
Brnas bok om logikprogrammering var inte lika populär, om än acceptabel. Även den lider av att vara lite för mycket av ett utkast till bok. Priset är naturligtvis lockande, men studenterna finner att de betalar i att boken är svåranvänd.

Inte alla verkar ha använt boken, kanske klarar man labbarna i alla fall? I kommenterarer framhålls att den är svår att använda (inget register, dålig layout). Jag själv tycker att boken passar kursen ganska bra. Ambitionsnivån är rätt och presentationen duger bra. Jag vet inte vilken bok som skulle vara en lämplig ersättare, men jag har inte heller undersökt detta.

Syntaxanalys

11. Vad tycker du om kurshäftet Kusoffsky: Lite grann om syntax, semantik och syntaxanalys

  1. 4% (2 st) Mycket bra.
  2. 13% (6 st) Bra.
  3. 33% (15 st) Hyfsat.
  4. 20% (9 st) Mindre bra.
  5. 16% (7 st) Dåligt.
  6. 13% (6 st) Har inte använt den.
Området syntaxanalys täcktes av ett litet häfte som Leif Kusoffsky har satt ihop. Det fick sämre kritik än den övriga litteraturen och blev också sämre mottaget än förra året. Den huvudsakliga anledningen till det är att jag tog upp reguljära uttryck som en viktig del i avsnittet och det är bara omnämnt i ett stycke i häftet. Dessutom var mitt upplägg till syntaxanalysen antagligen väsentligt annorlunda jämfört med Leifs.

Jag borde ha förstärkt syntaxdelens litteratur på något sätt och det är viktigt att det åtgärdas inför nästa omgång. När detta skrivs har jag inget förslag på hur detta ska göras. Det faktum att jag vill införa reguljära uttryck via Javas Scannar-klass samt syntaxanalys med JavaCC i syntaxlabben (se avsnitt Inför nästa år) kommer också att ställa nya krav på litteraturen.

Föreläsningsanteckningar

Mina PDF-presentationer var tillgängliga över WWW och uppfattades tydligen som kurslitteratur, varför jag nämner dem här. Det var omtyckta och användbara, men flera kommenterar (se fråga 12) att de inte gick att förstå om man inte varit på föreläsningen. Jag tror tyvärr inte att det går att uppnå utan att skriva en helt ny kurslitteratur och det har jag inte ambitionen att göra.

Föreläsningar

14. Vad tycker du om föreläsningarna pedagogiskt sett? (Förklaras stoffet bra? Talar och skriver läraren tydligt? Används stordia i lagom omfattning?)

  1. 13% (6 st) Mycket bra.
  2. 62% (28 st) Bra.
  3. 13% (6 st) Acceptabelt.
  4. 2% (1 st) Mindre bra.
  5. 2% (1 st) Dåligt.
  6. 4% (2 st) Har inte deltagit.
Jag är nöjd med min insats och får stöd för det i enkäten. De negativa kommentarerna handlar framförallt om negativa aspekter med datorpresentationer.
Från kursenkäten:

Mitt främsta problem var att jag hela tiden låg efter med förberedelserna; Det var alltför mycket som gjordes i sista stund. Det var betydligt jobbigare att ta över kursen än vad jag hade räknat med, och då var jag ändå inställd på att det var en stor, viktig kurs med många deltagare.

Eftersom jag hade svårt att överblicka kursen när jag planerade försökte jag följa det huvudsakliga upplägget som den tidigare föreläsaren hade haft, men fann detta mycket svårt. Trots att jag haft föreläsningsanteckningar som beskriver varje föreläsning tidigare år har mina upplägg och presentationer skilt sig mycket från de tidigare och tidsåtgången på olika avsnitt var svåra att förutsäga. Jag vill plocka bort två Prolog-föreläsningar nästa år och antagligen lägga deras tid på Haskell och syntaxanalys istället.

Datorlaborationer

16. Får du den hjälp du behöver på datorövningarna (är handledarna kunniga, lättillgängliga, vänliga)?

  1. 38% (17 st) Javisst.
  2. 40% (18 st) Javars.
  3. 22% (10 st) Acceptabelt.
  4. 0% (0 st) Sällan.
  5. 0% (0 st) Aldrig.

Handledning

Som framgår av svaren på fråga 16 har det fungerat väl med handledarna som jag också är mycket nöjd med.

Det enda som gick dåligt med handledningen var att lab 2 var svår att ge hjälp till och detta kan vi inte lasta handledarna för.

Uppgifter

18. Var någon/några av laborationerna mer givande än de övriga? (Du kan kryssa för flera alternativ.)

  1. 40% (18 st) Lab 1: Intro till Haskell
  2. 38% (17 st) Lab 2: Evolution i Haskell
  3. 31% (14 st) Lab 3: Logiska gåtor i Prolog
  4. 36% (16 st) Lab 4: Tidernas knepigaste problem
  5. 40% (18 st) Lab 5: Stabila äktenskap
  6. 18% (8 st) Lab 6: Syntax
  7. 40% (18 st) Lab 7: C-programmerings
  8. 31% (14 st) Lab 8: Internet
Jag frågade (se fråga 18) om någon lab är mer givande än de övriga, men svaren var väl spridda över alla laborationer, med undantag för syntaxuppgiften. Är detta ett uttryck för att den inte är omtyckt eller bara uppfattas oviktig? Resultatet förvånade mig lite. På frågan om någon lab var överflödig (se fråga 19) syntes dock inte att syntaxuppgiften skulle vara oviktig. Däremot syntes att lab 2 inte var omtyckt.

Haskell

Som tidigare år var det två uppgifter som skulle lösas med Haskell, några introduktionsuppgifter i lab 1 samt en större uppgift i lab 2. Det nya var att den omdiskuterade schacklabben var ersatt av en uppgift där man skulle läsa in en fil med molekylära data och skriva ut ett evolutionärt träd baserat på en enkel teknik. Lab 1 gav inte några större problem, men lab 2 har varit ett fortsatt sorgebarn. Ett grundläggande problem har varit att formuleringen som jag skrev var dålig. Jag fick ägna en föreläsning åt en särskild genomgång av den algoritm som man skulle använda och det var ju inte meningen från början. En förklaring till att det gick så dåligt var att jag förlitade mig på att principen för att skatta trädet var enkel och att en enkel och snabb förklaring skulle ge folk möjlighet att göra sina egna implementationer och fylla i de detaljer som behövs efter eget huvud. Det fungerade inte. Jag borde ha gjort en mycket mer noggrann beskrivning. Lustigt nog är det enklaste sättet antagligen att då beskriva en mer avancerad metod. Trots dessa svårigheter finns många som tycker lab 2 är kul och det vore olyckligt att helt kasta ut den. Jag hoppas att den helt enkelt känns relevant eftersom det är ett "riktigt" programmeringsproblem. Jag tror den rätta ansatsen är att dels skriva om uppgiften, dels bryta upp den i mindre delar och göra den svårare biten frivillig och betygshöjande, se Inför nästa år.

Prolog

Det verkar finnas en hel del blandade känslor om Prolog och dessa labbar har gett folk mer huvudvärk än jag räknat med. Det var tre Prologuppgifter i år. Den enklaste Prolog-labben utgick och blev en frivillig introduktion som inte behövde godkännas. Det fungerade bra och verkade utnyttjas av de som tyckte att det vore bra att komma igång på de viset.

Bland de avslutande frivilliga kommentarerna i kursenkäterna finns några som påpekar att Prologuppgifterna borde göras om, bland annat eftersom de mer handlar om pussel än programmering. Detta var en observation som jag hade gjort men inte ville ändra innan kursen eftersom mitt intryck från Leif och tidigare kursutvärdering var att de var omtyckta. Jag la in fråga 19 för att testa just detta, men kan inte se någon signal hos studenterna i allmänhet för detta. Jag vill ändå plocka bort en lab i Prolog, helst lab 4: "tidernas knepigaste problem", till nästa år. Både lab 4 och lab 5 introducerar samma teknik (generera-och-testa) som är typisk för Prolog kanske, men knappast något som man i allmänhet vill sprida. De lösningar som vi accepterar på lab 4 är dessutom en bra bit ifrån det sätt som den typen av program är tänkta att vara skrivna som. Den "rätta" typen av lösning (genererar inga redundanta lösningar, m.m.) är helt enkelt för svår.

Det jag vill se är istället en uppgift som är rättfram Prolog-programmering. I lab 3 gör man funktioner som använder två eller tre rader och det behövs ett nästa-steg. Jag fann på tentan att det var många som inte kunde skriva de enklaste saker i Prolog trots tre laborationer.

Syntaxanalys

Uppgiften i syntaxanalys, lab 6 om "danska räkneord", är en trevlig liten uppgift där man ska skriva kod som ovandlar danska ("fem og tyve") till ett heltal. Man får fritt välja mellan rekursiv medgång i Haskell eller Java och DCG i Prolog. Som startpunkt har man en grammatik på BNF.

Jag gillar upplägget och uppgiften, men måste konstatera att det inte är rätt uppgift i denna kurs. För det första upptäckte jag vid tentarättningen och prat med studenter att man kan gå igenom kursen utan att ha en aning om vad Backus-Naur-form är trots att man gjort denna lab. Det kom som en överaskning för mig eftersom grammatiken är så central här. För det andra så är det bara de duktigare och ambitiösa som tar tills sig någon av teknikerna, för det andra så introduceras inte alla till ett vettigt verktyg. Jag har sett att flera av de som löst uppgiften i Java ändå inte har förstått vad rekursiv medgång går ut på, utan de har bara följt det mönster som finns i exemplen. För det tredje behöver de inte sätta ihop en grammatik själva utan kan använda den som ges i uppgiften. För det fjärde har vi inget moment om reguljära uttryck, något som jag tycker är ett fundament i syntaxanalysen och som jag ville ha med i kursen.

Jag tror lösningen på detta är att ersätta Danska räkneord med en uppgift där man

  1. själv tar fram en enkel grammatik med de nödvändiga terminalerna.
  2. skapar en lexikal analysator med klassen Scanner i Java (kanske efter en enkel introduktionsuppgift).
  3. implementerar grammatiken i JavaCC, kopplade till lexern.
Eftersom det är etablerade teknik behöver det inte bli en alltför omfattande lab. Märk att rekursiv medgång i Java nu innebär att man sätter sig in i hur en "hemgjord" (av Leif Kusoffsky) klass för terminaler fungerar.

C och TCP/IP

Dessa två labbar, som känns lite som gökungar i kursen, verkar fungera i stort sett bra. De flesta studenter verkar vara neutrala till dem och med tanke på hur de ligger till i kursen tror jag man får vara nöjd med det. C-laborationen verkar uppfattas som lite spretig och det kan man väl förstå eftersom det är lite av varje som täcks in.

Internetlaborationen verka lida av att det är många som inte har varit på föreläsningarna och då missar en del av vad man förutsätts göra (beskriva protokoll till exempel). Den har också lidit av studenternas tidsbrist. Det är många som tycker att det inte finns tillräckligt med tillfällen mot slutet, men jag är osäker på om man inte bara skjuter problemet framför sig med fler redovisningstillfällen i december.

Jag har tänkt att det vore kul om man kunde knyta ihop uppgiften i syntaxanalys med TCP/IP-labben och har minst en idé om hur detta skulle kunna göras, men inblandade parter måste vara överens om att det är genomförbart!

Utfall

20. Hur tycker du att tentan speglade kursinnehållet?

  1. 22% (10 st) Mycket bra.
  2. 56% (25 st) Bra.
  3. 11% (5 st) Hyfsat.
  4. 2% (1 st) Mindre bra.
  5. 4% (2 st) Dåligt.
  6. 0% (0 st) Tentade inte.
Enligt svaren till fråga 20 fungerade tentan ganska bra, även om det finns gott om reaktioner på den (se kommentarerna).

Mina egna reflektioner är att bonuspoängen fick lite för stor påverkan på betyget. Man kunde bli godkänd utan att det såg ut som om man kunde något om Prolog till exempel. Det egentliga problemet är, tycker jag, att kursbetyget helt beror på tentan. Laborationerna måste få ett genomslag här och tentan ska mest fungera som en undre gräns för vad man ska kunna efter kursen.

Inför nästa år

Jag vill här beskriva hur jag skulle vilja ändra kursens examination till nästa år. Det handlar dels om hur mycket laborationsarbete som ska krävas, dels om hur betygen ska sättas. För mig är förändringarna bara aktuella för kursens tre huvudämnen: Haskell, Prolog, och syntaxanalys. C och TCP/IP är för allmänbildande för att motivera de ändringar jag föreslår här.

Förutsättningar

Som framgår ovan har framförallt lab 2 krävt för mycket arbete, men även lab 4 och 5 har krävt en stor arbetsinsats av vissa studenter och det man vinner i inlärning där motsvarar inte mängden arbete. De studenter som jag ser som naturliga kandidater till ett högt betyg är de som också snabbt löste samma uppgifter och de gör bra ifrån sig på tentan också.

Samtidigt kan jag se att de som har kapacitet att ta till sig mer stoff inte behöver det varken för att få bra betyg eller klara examinationen. Det tydligaste exemplet här är i syntaxlabben där man väljer en av tre strategier för att lösa problemet och följaktligen bara lär sig den, trots att insatsen för de övriga sedan inte är särskilt stor.

Förslag

De tre huvudämnena ska ha två eller tre nivåer som ska motsvara kunskapernivåer. Det enklaste exemplet på hur detta implementeras i kursen är för syntaxavsnittet.

För att få ett högt kursbetyg måste man ha utfört flera betygshöjande uppgifter (och kanske fått pluspoäng för bra resultat på tentan).

I exemplet innebär baslaborationen faktiskt mer arbete för just syntaxdelen. Det försvarar jag med att det borde vara en ren förbättring av kursen som dessutom borde vara lätt att motivera för studenterna eftersom de inför kunskaper som man kan se används utanför KTH. Vi ersätter uppgifter i ovanliga språk (Haskell och DCG/Prolog) eller CSC-specifika bibliotet (Java-klassen TerminalList). I avsnitten Prolog och Haskell skulle vi däremot vinna på att skära ner i uppgifterna. Lab två som idag uppfattats som alltför jobbig skulle kunna brytas upp i två eller tre delar och med en gång bli mer tillgänglig för fler.

Fördelar

Jag ser en rad fördelar med förslaget.
Lars Arvestad
Last modified: Fri Jan 11 13:17:33 CET 2008

Bilaga: Resultat av kursutvärdering


  1. Upplever du kursen som lätt eller svår?

    1. 2% (1 st) Mycket lätt.
    2. 11% (5 st) Lätt.
    3. 51% (23 st) Medel.
    4. 36% (16 st) Ganska svår.
    5. 0% (0 st) Mycket svår.


  2. Fick du i början av kursen klart för dig vad kursens mål var?

    1. 69% (31 st) Ja.
    2. 24% (11 st) Tveksam.
    3. 7% (3 st) Nej.


  3. Tycker du att kursen är intressant och meningsfull?

    1. 42% (19 st) Ja, mycket.
    2. 44% (20 st) Ja.
    3. 13% (6 st) Neutral.
    4. 0% (0 st) Inte särskilt.
    5. 0% (0 st) Nej.


  4. Känner du dig inspirerad att läsa mer om funktionella språk?

    1. 44% (20 st) Ja
    2. 40% (18 st) Kanske
    3. 13% (6 st) Nej


  5. Känner du dig inspirerad att läsa mer om logikprogrammering?

    1. 18% (8 st) Ja
    2. 51% (23 st) Kanske
    3. 29% (13 st) Nej


  6. Känner du dig inspirerad att läsa mer om syntaxanalys?

    1. 24% (11 st) Ja
    2. 38% (17 st) Kanske
    3. 38% (17 st) Nej


  7. Tycker du att dina förkunskaper var tillräckliga när kursen startade?

    1. 87% (39 st) Ja.
    2. 7% (3 st) Tveksam.
    3. 7% (3 st) Nej.


  8. Vad tycker du om kursboken Hutton: Programming in Haskell?

    1. 9% (4 st) Mycket bra.
    2. 44% (20 st) Bra.
    3. 20% (9 st) Hyfsad.
    4. 9% (4 st) Mindre bra.
    5. 2% (1 st) Dålig.
    6. 16% (7 st) Har inte använt den.

    Ev. kommentar om boken:

    Delen om typer kanske hade kunnat förklarats lite mer ingående
    ---
    Läste väldigt lite i den
    ---
    Jag läste inte så mycket i böckerna, föreläsningarna och labbarna räckte för att jag skulle få (53,5 14) p.
    ---
    Det bästa är dock övningarna, men boken är riktigt bra!
    ---
    Tyckte bättre om den alternativa boken om Haskell. Jag tycker att det var bra att det fanns en alternativ bok om Haskell eftersom den kompletterade den andra väldigt bra på tentan.
    ---
    Har använt den lite för att kolla upp vissa specifika funktioner, men inte tillräckligt för att bilda en uppfattning om boken.
    ---
    Använd en riktig kursbok med bra layout osv som är läsbar.
    ---
    Det kändes som mycket saknades när man skulle använda Haskell. Dålig referens.
    ---
    Skulle ha varit bättre om den hade haft facit till uppgifterna. Annars tycker jag att den var bra
    ---
    Frustrerande att kapitel saknas i boken. Man bläddrar i index, hittar vad man letar efter, och sen märker man att sidan inte finns.
    ---
    Den var lätt att plöja igenom men innehåller bara det nödvändigaste för kursen... Det kan ju vara både bra och dåligt...
    ---
    Tycker den var lite otydlig i början, det tog liksom ett bra tag innan man förstod vad man egentligen höll på med...
    ---
    Ganska tunn
    ---
    Bra bok. Lätt att förstå.
    ---
    Tråkigt att det inte fanns något register. Annars var den bra.


  9. Vad tycker du om utdraget längst bak i boken, A gentle introduction to Haskell av Hudak et al?

    1. 7% (3 st) Mycket bra.
    2. 9% (4 st) Bra.
    3. 29% (13 st) Hyfsat.
    4. 7% (3 st) Mindre bra.
    5. 2% (1 st) Dåligt.
    6. 44% (20 st) Har inte använt det.

    Ev. kommentar om utdraget:

    Utdraget från: A gentle introduction to Haskell skulle varit "större", då det kändes som om den förklarade vissa saker bättre än Programming in Haskell.
    ---
    Använd en riktig kursbok med bra layout osv som är läsbar.
    ---
    Huh? Vilket uttdrag?
    ---
    "rakt på", kanske behövs lite mer "kött på benen"
    ---
    Den var ganska obegriplig när jag läste den först och jag fick ingen större insikt om hur man gjorde och vad som var vad... Kanske berodde på att det var engelska även om jag är rätt bra på det...
    ---
    Lite för kort om datatyperna


  10. Vad tycker du om kursboken Prolog Programming av Brna?

    1. 2% (1 st) Mycket bra.
    2. 22% (10 st) Bra.
    3. 36% (16 st) Hyfsad.
    4. 13% (6 st) Mindre bra.
    5. 13% (6 st) Dålig.
    6. 13% (6 st) Har inte använt den.

    Ev. kommentar om boken:

    Läste väldigt lite i den
    ---
    Läste om differens listor strax innan tentan. Men annars inte så mycket, se kommentar om Haskell
    ---
    Den är i min mening för invecklad. Den klarar inte att förklara på en låg nivå och ge tydliga exempel. Detta är dock förståligt då prolog rent generellt är "svårare" att förstå.
    ---
    Helt klart största felet med Prolog-boken var att den saknade ett register längst bak i boken vilket gjorde att när man undrade över något så fick leta igenom halva boken efter det (innehållsförteckningen i början var inte tillräcklig). Dessutom så hade det varit bra med ett tips på alternativ kursbok i Prolog (med register).
    ---
    Använd en riktig kursbok med bra layout osv som är läsbar.
    ---
    använde den väldigt lite
    ---
    Prolog är tråkigt, och boken gjorde det inte så mycket roligare. Bara lite mindre tråkigt.
    ---
    Språket kändes onödigt avancerat på sina ställen. Kändes inte som om syftet var att göra det så lättförståeligt och pedagogiskt som möjligt.
    ---
    använde den knappt.. hittade inget i den
    ---
    Även denna var relativt lätt att plöja igenom för att sedan kunna experimentera med koden... Logikprogrammering i allmänhet var svårast... Kan ju ha med IQ att göra...
    ---
    Tycker den var för hög nivå på, att man liksom inte i varje steg kunde hålla koll på vad som faktiskt hände.
    ---
    ganska tunn
    ---
    Tog lite tid innan man började förstå.
    ---
    Lite få "praktiska" kodexempel kanske.
    ---
    Väldgt omständligt språk


  11. Vad tycker du om kurshäftet Kusoffsky: Lite grann om syntax, semantik och syntaxanalys

    1. 4% (2 st) Mycket bra.
    2. 13% (6 st) Bra.
    3. 33% (15 st) Hyfsat.
    4. 20% (9 st) Mindre bra.
    5. 16% (7 st) Dåligt.
    6. 13% (6 st) Har inte använt den.

    Ev. kommentar om häftet

    Häftet skulle nog behöva anpassas så att det mer tar upp vad som faktiskt kommer efterfrågas på tentan, alternativt att man kompletterar med ytterliggare material för ex. reguljära uttryck.
    ---
    Det känns dock som att den inte tog upp allt som handlade om syntaxanalys som senare kom på tentan. Det var därför väldigt svårt att få grepp om vad syntaxanalysen verkligen innebar. Skulle gärna se ett utökat material om syntaxanalys och även mer nogrann genomgång om detta på föreläsningarna.
    ---
    Hjälpte inget på tentan
    ---
    Går säkert att korta ner.
    ---
    Gott om exempel och kul att språkalternativen finns.
    ---
    Går det inte att göra ämnet intressant?
    ---
    Jag fattade inte mycket alls av det häftet.
    ---
    Det stod ingenting om reguljära uttryck
    ---
    Inget regexp, och jobbig text att läsa.
    ---
    På det hela taget är det bra, men det är lite för inriktat på praktiska exempel tycker jag. Jag skulle gärna se lite mer om teorin om syntaxanalys.
    ---
    Kushäften innehöll en del, fast det som man behövde på tentan var dock inte inkluderat.
    ---
    tydligare, men fortfarande inte bra... inte bra alls...
    ---
    Inte tillräkligt rigoröst för att det ska vara någon poäng med att ha en syntaxdel.
    ---
    tunn med
    ---
    Dålig. Tog flera dagar bara för att läsa den. Oförståerligt.
    ---
    Skulle kunna ha lite mer teori.
    ---
    Vissa kodexempel kändes mycket förvirrande, kändes som om det inte matchade föreläsningarna/tentan överhuvudtaget.


  12. Vad tycker du om föreläsningsanteckningarna (PDF-filer på WWW)

    1. 36% (16 st) Mycket bra.
    2. 47% (21 st) Bra.
    3. 11% (5 st) Hyfsad.
    4. 4% (2 st) Mindre bra.
    5. 0% (0 st) Dålig.
    6. 0% (0 st) Har inte använt dem.

    Ev. kommentar om föreläsningsanteckningarna

    Hjälpte när man skulle programera
    ---
    Förutom blå bakgrund och gul text då ;P
    ---
    Föreläsningsanteckningarna om Internetprogrammering var de enda dåliga (t.o.m. värdelösa).
    ---
    Bra att ha till hands när man glömmer bort vad du sagt på en viss föreläsning. Mycket bra referens till alla uppgifter.
    ---
    Eftersom föreläsningarna i sig är rikiga sömpiller borde anteckningarna utökas så att man kan ta till sig informationen utan att gå dit.
    ---
    Väldigt användbara faktiskt
    ---
    Bra att lägga ut anteckningarna på nätet. Fast det känns samtidigt som om man kanske inte lär sig lika mycket på föreläsningarna, då jag personligen tycker jag lär mej lite mer om jag antecknar ner det som sägs.
    ---
    Mycket bra att de ligger ute. Kanske kan man till och med skriva ut dem och lämna ut på varje föreläsning, så kan man själv anteckna det som sägs på varje blad. Har fungerat bra i andra kurser.
    ---
    Mycket bra för att repetera, men nästan omöjliga att förstå om man inte var på föreläsningen.
    ---
    Om man bara ser till OH-bilderna utan att ha varit och hört föreläsningen så är vissa saker mindre begripliga...
    ---
    Det som utan diskussion räddade labbarna...
    ---
    mkt svåra att följa om man inte var på föreläsningen
    ---
    Kanske lite svårt att koppla om man inte var på föreläsningen, men det kanske inte är tanken.


  13. Hur stor del av föreläsningarna har du varit på?

    1. 4% (2 st) Mindre än 20%.
    2. 11% (5 st) 20-40%.
    3. 9% (4 st) 40-60%.
    4. 16% (7 st) 60-80%.
    5. 60% (27 st) Mer än 80%.


  14. Vad tycker du om föreläsningarna pedagogiskt sett? (Förklaras stoffet bra? Talar och skriver läraren tydligt? Används stordia i lagom omfattning?)

    1. 13% (6 st) Mycket bra.
    2. 62% (28 st) Bra.
    3. 13% (6 st) Acceptabelt.
    4. 2% (1 st) Mindre bra.
    5. 2% (1 st) Dåligt.
    6. 4% (2 st) Har inte deltagit.

    Ev. kommentar (gärna konstruktiv):

    Hade gärna sett mer undervisning utan powerpoint. Föreläsningen där Lars endast använde tavlan var bäst rent pedagogiskt sett.
    ---
    Tycker att speciellt föreläsningarna om syntaxanalys inte gav tillräckligt med information för att kunna klara syntaxdelen på tentan. Skulle gärna sett en mer nogrann genomgång av detta område och den typen av frågor som kan komma på tentor (typfrågor).
    ---
    Ibland lite väl mycket kod på slidesen
    ---
    Powerpoint och en mörk sal fungerar inte för mig, somnar på 2 minuter. Okay dom få gångerna ja lyckades hålla mig vaken.
    ---
    Arvestad har gott flyt och presenterar skickligt. PP skulle dock se bättre ut med vit bakgrund och svart text. Jag är dock övertygad om att Arvestad kommer att göra det bättre nästa år då han har vanan med sina presentationer och därmed får mer flyt ;) Lycka till Lars!
    ---
    Jag har lätt för att lära mig olika språk, och tyckte föreläsningarna va bra för att de blev som en språkreferens. Frl tog upp hur man skrev språket, vad man fick/inte fick göra, vissa bra knep.
    ---
    Om det är nödvändigt att använda projektor så försök att bli riktigt bra på att föreläsa för annars är det bara en garanti för att man ska somna, dagdrömma, gå där ifrån osv. I allmänhet var föreläsningarna sömnpiller! I övrigt hör inte homo-skämt hemma på KTH. Sedan undrar jag varför kursledaren vid ett flertal tillfällen säger att han inte kan svara på frågor angående aktuellt ämne för att han inte hållt på med det ena eller andra på ett tag? Är det inte meningen att kursledaren ska vara påläst och ha aktuell kunskap?
    ---
    Mörkt rum kl 8 på morgonen är ingen höjdare för mig... Annars bra.
    ---
    Tycker dom var ok. Avsnitt som jag tycker måste förbättras är syntax-delen, för där fattade jag i princip ingenting. Tycker det kunde ha vart bättre om du gått igenom det lite grundligare. Det kändes som om du utgick från att man skulle kunna en del från början på syntaxdelen, vilket inte jag gjorde.
    ---
    Personligen föredrar jag föreläsningar på tavla framför projektor.
    ---
    I början kändes det lite som om föreläsningarna började på en grundläggande nivå, för att sedan, en halvtimme in eller så, hoppa upp ett antal nivååer för att förklara någon halvskum funktion i Haskell (eller liknande).
    ---
    Bra föreläsningar, men kan ibland vara lite mörka (sömniga). Tror inte man behöver dra ner gardinerna eller släcka ner så mycket, det syns ändå. Kanske också kan vara bättre att köra svart text på vit bakgrund, istället för den mörkblåa varianten. Föreläsningarna blev väldigt mörka... och sova-frestande :)

    Annars tycker jag Lars är en bra föreläsare och blir inte tråkig, men "miljön" kan förbättras!

    ---
    Kursupplägget är bra, men själv har jag svårt för PPpressentationer och OH, då informationen försvinner innan man hunnit förstå hälften :(
    ---
    även när man var på föreläsningen var det svårt att följa dian. muntliga var dock bra.
    ---
    Väldigt bra överlag. Blev lite jobbigt att följa när det var relativt stora kodutdrag på powerpointen dock.
    ---
    Inspirerande!
    ---
    Tycker förläsningarna har varit intressanta. Bra försök att aktivera studenterna och låta oss komma med förslag på lösningar.


  15. Förbereder du dig till föreläsningarna (läser igenom relevanta avsnitt i boken/kompendiet etc)?

    1. 0% (0 st) Ja, alltid.
    2. 7% (3 st) Ofta.
    3. 29% (13 st) Ibland.
    4. 31% (14 st) Sällan.
    5. 31% (14 st) Aldrig.


  16. Får du den hjälp du behöver på datorövningarna (är handledarna kunniga, lättillgängliga, vänliga)?

    1. 38% (17 st) Javisst.
    2. 40% (18 st) Javars.
    3. 22% (10 st) Acceptabelt.
    4. 0% (0 st) Sällan.
    5. 0% (0 st) Aldrig.

    Ev. kommentar:

    lite för få...
    ---
    Ofta fick man vänta ett bra tag på att få redovisa. Om man hade gjort något fel så hinner man inte rätta det innan labben var slut pga en timmes väntetid.
    ---
    Jag och min labb kompis såg till att ligga i fas och lite till. Labb delen tog rätt så mycket tid, men det är nog iofs poängen med kursen.

    Labb 2 beskrivningen kan bli tydligare.

    ---
    Behövde inte mycket hjälp, men handledarna va väldigt trevliga och mänskliga.
    ---
    Hände flera ggr att handledarna inte kunde svara på frågor och/eller ursäktade sig med att de inte hade hållt på med ditt eller datt.
    ---
    Oftast tog det ett tag innan man kunde få hjälp då det ofta var många som stod i kö samtidigt. Oftast fick man bra hjälp, fast under lab 2 var hjälpen inte den bästa.
    ---
    Jag tycker inte att lab2 bör skrivas om, jag kom åt knappen och kan inte få bort markeringen.
    ---
    Jag redovisade bara när jag var där och det dröjde väll en timme ibland beroende på kön...
    ---
    Ofta fick man den hjälp man behövde. Dock så verkade vissa assar överentusistiska, och uppmuntrade hellre "snygga och effektiva" lösningar än lätförståliga. Det var, för vår del, anledningen till att lab 2 blev försenad, då vi fick en "effektiv" princip beskriven, som vi inte förstod hur man skulle implementera.
    ---
    Dock behövde jag ingen hjälp. :)


  17. Tycker du att lab 2, Evolution i Haskell, borde skrivas om?

    1. 62% (28 st) Ja.


  18. Var någon/några av laborationerna mer givande än de övriga? (Du kan kryssa för flera alternativ.)

    1. 40% (18 st) Laboration 1: Intro till Haskell
    2. 38% (17 st) Laboration 2: Evolution i Haskell
    3. 31% (14 st) Laboration 3: Logiska gåtor i Prolog
    4. 36% (16 st) Laboration 4: Tidernas knepigaste problem
    5. 40% (18 st) Laboration 5: Stabila äktenskap
    6. 18% (8 st) Laboration 6: Syntax
    7. 40% (18 st) Laboration 7: C-programmerings
    8. 31% (14 st) Laboration 8: Internet


  19. Var någon/några av laborationerna överflödig? Vilken skulle du i så fall plocka bort? (Du kan kryssa för flera alternativ.)

    1. 0% (0 st) Laboration 1: Intro till Haskell
    2. 16% (7 st) Laboration 2: Evolution i Haskell
    3. 0% (0 st) Laboration 3: Logiska gåtor i Prolog
    4. 7% (3 st) Laboration 4: Tidernas knepigaste problem
    5. 11% (5 st) Laboration 5: Stabila äktenskap
    6. 13% (6 st) Laboration 6: Syntax
    7. 9% (4 st) Laboration 7: C-programmerings
    8. 11% (5 st) Laboration 8: Internet


  20. Hur tycker du att tentan speglade kursinnehållet?

    1. 22% (10 st) Mycket bra.
    2. 56% (25 st) Bra.
    3. 11% (5 st) Hyfsat.
    4. 2% (1 st) Mindre bra.
    5. 4% (2 st) Dåligt.
    6. 0% (0 st) Tentade inte.


    Ev. kommentar till tentan:

    I delen på hemsidan där det stod vad som skulle komma på tentan stog det inte att man skulle kunna differenslistor, eller att man skulle kunna skriva egna grammatiker(bara att man skulle känna igen dom). Dessutom tycker jag att man fick för mycket bonuspoäng från labbarna, det vart på så sätt väldigt lätt att få högre betyg även om man kanske inte riktigt var värd det.
    ---
    Lite förvirrande frågor.. ord kan vara llite förvirrande vad man menar med dem ibland..
    ---
    Det enda jag har att klaga på är syntaxdelen, som det kändes som vi inte fått tillräckligt med information på föreläsningar/kurslitteratur för att klara. Borde gå igenom detta område nogrannare och gärna säga typfrågor till tentan, eftersom det va väldigt otydligt vad som skulle kunna komma på tentan på denna del.
    ---
    Vi kan enbart det som vi har laborationer på och förväntar oss sådana uppgifter på tentan. Prologdelen speglade inte laborationerna som man studerat till vilket gav ett dåligt resultat.
    ---
    Pascaluppgiften kunde gott ersatts av en mer typisk Prologuppgift, pascaluppgiften känns mer haskell.
    ---
    Syntaxanalysen förstod jag ingentin alls av och för svåra uppgifter i prolog jämfört med det vi fick göra på labbarna.
    ---
    Jag gillade bowling uppgiften.

    Den var inte för svår i alla fall.

    ---
    Aritmetik i Prolog!!! Nej! Varför testa oss på det? I övrigt var tentan helt underbar. Ta istället aritmetik på någon labb, det är inte nödvändigt att förstå hur fult aritmetik är i prolog på tentan. Jag tycker även att det var lite väl generöst med betygen, men vem är jag att dömma?
    ---
    En större del haskell, en inte lika stor del prolog och en mindre del syntax, ungefär som det varit under kursen.
    ---
    Det borde funnits mer uppgifter på syntax att träna på
    ---
    Mitt enda klagomål är syntaxdelen av tentan, som handlade mycket om regexp, något som gåtts igenom på föreläsningar lite granna, men egentligen saknas i allt kursmaterial.
    Menar då inte att regexp inte ska vara med i kursen, menar att kursmaterialet ska vara bättre :)

    ---
    Nästan lite för mycket bonuspoäng för labbarna när de dubblerades. Man kunde i stort sett få en femma utan att ha en aning om Prolog, om man bara kunde allt annat bra.
    ---
    Prologdelen var helt fel ute, det andra var bra
    ---
    Aritmetik i Prolog var ingen höjdare, men annars utmärkt spegling av innehållet i kursen.
    ---
    saknar helt och hållet en föreläsning som tar upp hur man skriver regex. det som gicks igenom var i mina ögon 2 exempel på regex och inget om tex regler för att skriva egna.
    ---
    Speciellt prolog delen. Det som var på tentan skillde sig mycket än i boken och övningarna. Syntaxdelen försökte inte jag ens göra.
    ---
    Syntaxdelen matchade inte riktigt kurslitteraturen, prolog-delen var lite svår. Kanske lite för generöst med bonuspoäng, fast det är väl kanske inte dåligt :)
    ---
    Tycker inte man behöver en tenta i en sådan kurs. Labbarna räcker eftersom programmering inte kan jämföras med t ex matte där man bör testa om studenten kan diverse beräkningar.


  21. Hur många andra kurser har du läst parallellt med den här kursen (i period 1)?

    1. 4% (2 st) En.
    2. 47% (21 st) Två.
    3. 18% (8 st) Tre.
    4. 31% (14 st) Fyra eller fler.


  22. Hur stor del av din totala studietid under period 1 har du ägnat åt den här kursen?

    1. 2% (1 st) Mindre än 15%.
    2. 49% (22 st) 15-30%.
    3. 33% (15 st) 30-50%.
    4. 11% (5 st) 50-70%.
    5. 2% (1 st) Mer än 70%.


  23. Kursen är på 5p (3p för tentan och 2p för laborationskursen). Vad tycker du om det jämfört med andra kursers poängantal?

    1. 71% (32 st) Lagom med 5p.
    2. 24% (11 st) Borde vara 6p.
    3. 2% (1 st) Borde vara 7p.
    4. 2% (1 st) 5p är för mycket.


  24. Förslag till förbättringar av kursen:

    Ändra andra haskell-labben. Den är för svår i förhållande till vad man kan!
    ---
    Varför inte ha examinera haskell och prolog delarna praktiskt vid datorer? Det finns många andra kurser som har liknande examination. De övriga delarna(Allmän kunskap, regex och grammatik) skulle man kunna ha en egen mindre skriftlig tentamen för.
    ---
    Poängen till tentan från labbar borde avspeglas mer beroende på hur svåra labbarna är.. tex var lab2 inte så farlig att vänta med så länge man gjorde resen..
    ---
    Som jag nämnt tidigare så skulle syntaxdelen förbättras, men bättre förklaringar och mer nogrannt. Vi visste heller knappt vad som skulle komma på tentan i denna del, och det var därför väldigt svårt att plugga till denna delen på tentan.
    ---
    Tvinga folk att lära sig saker med hjälp av labbarna(tänker speciellt på prolog), men var beredd på att få ge fler labbtillfällen.
    ---
    2a haskelllabben var väldigt svår jämfört med alla andra som var relatift lätta.
    ---
    En aritmetiklabb i prolog, så att man berört det och förstår hur det fungerar.
    ---
    2p för tentan och 3p för laborationerna är en bättre representation av hur arbetet man la ner på kursen fördelade sig.
    ---
    Förbättra föreläsningarna (bort med projektorn), labbarna och labblydelserna (som delvis var dåliga). Om labbdelen ska vara så här stor så bör den ge fler poäng.
    ---
    Lab 2...? Brutalt stor och jobbig. Den måste bort. Sen borde labbarna ge 3 poäng, eftersom de är så många vissa var riktigt stora (Lab 2...). Sedan borde du göra om syntax-delen av kursen. På syntax-föreläsningarna fattade jag i princip ingenting, kunde lika gärna ha stannat hemma på dom. Du får gärna förklara lite mer om vad det egentligen är som händer, istället för att bara nämna en massa ord som en del personer inte fattar/har hört tidigare.
    Nämnde jag lab 2?

    ---
    Gör om C-labben. Den är värdelös i nuvarande form. För någon som inte programmerat C eller är speciellt hemma i Unix, börjar labben med att be en förklara hur make fungerar. Make är bra att kunna, men det bör snarare stå i labbpeket hur det funkar, inte tvärt om.
    Anvisningar till att läsa en enorm man-fil rörande flaggor i är också helt värdelöst för någon som försöker lära sig C.

    C-labben i sig är väl bra, men beskrivningen om vad mna faktiskt ska göra behöver även den jobbas på.

    ---
    Prologdelen var lite svårförståelig, både föreläsningarna och labbarna. Det kändes som att enda sättet att klara prologlabbarna var att skriva om de givna exempel man hade att tillgå i labbhäftet och det gav ingen direkt förståelse för programmeringssättet eller språket i sig. Å andra sidan är väll inte prolog direkt nåt lätt språk att lära sig :), iaf inte jämfört med haskell eller något imperativt språk.
    ---
    Baltatzis föreläsningar var inget vidare. Kändes som om han kom på vad han skulle säga samtidigt som han stod där framme. Det var kladdigt på tavlan och det verkade ostrukturerat och ogenomtänkt. Men annars var de ju ganska intressant innehåll i dem, men svårt när det är så varierande nivå i klassen.
    ---
    Lab 2 kunde haft en tydligare beskrivning av hur de olika sakerna fungerar... Jag fick leta på internet för att förstå att ett sånt där träd kan skrivas på olika sätt utan att det är fel t ex... Vet inte om det där lät luddigt :) Tydligare beskrivning kanske gör att fler tycker den är lättare iaf...
    ---
    Kurslitteraturen måste innefatta _allt_ som ska tas upp på tentan, fanns en del begrepp i tentan som inte innefattades av någon litteraturdel. Syntaxdelen måste göras bättre för att det ska finnas någon poäng för att ta med den över huvud taget.
    ---
    Skulle inte skada om svårighetensgraden av labbarna drogs ner lite. Vissa labbar tog alldeles för lång tid. Som Evolutions labben. Många av labbarna hade mindre att göra med att programmera i en paradigm och mer med att lösa problem allmänt.
    ---
    Plocka bort en prologlab och lägg till en i haskell (som är lite knepigare än den första).
    ---
    bättre förklaringar till labbarna skulle göra att mindre tid spilldes på oviktigheter, och då skulle för min del labbarna också kunna göras lite svårare.
    kanske lite mer av haskell (och ev prolog), samt lite mindre av c och java som är mindre konstiga(de flesta kan dem mindre inlärningströskel --> mindre viktiga).

    ---
    Syntaxdelen behöver förklaras mer. Inte alla har programmerat i flera år( eller inte alls förutom java introduktion ).
    ---
    Syntax labben kunde göras utan att ha någon aning om vad syntaxanalys är. En till c lab och en mindre prolog vore kul.
    ---
    Laboration 1 borde ha varit lite mer omfattande. Introt kunde ha gått in djupare med tanke på att studenterna redan kan programmera. Det kanske hade minskat tröskeln till laboration 2.
    ---
    Gör om prologlabbarna helt, skulle vara bättre med labbar som faktiskt lärde än språket än konstiga pussel. C-delen kändes överflödig, vi läser ju det i datortekniken! Internetprogrammeringen kändes också lite felplacerad och intetsägande.
    Lab2 var ganska svår men man fick i varje fall sätta sig in ordentligt i Haskell.
    Syntaxanalyshäftet borde ersättas med något vettigare material.

    ---
    Låt den inte gå samtidigt som Nummen som också har stora labbar. Labb 2 är på tok för stor efter att man bara haft en introlabb i haskell. Den har jag fortfarande inte gjort klart.
    ---
    Ta bort tentan. gör fler labbar för att fylla ut poäng.
    ---
    Absolut en annan labb 2, tyckte inte att deluppgifterna i labben ledde fram till målet utan slutade med att vi fick skriva om stora delar av det vi tidigare skrivit.

    Behövs även mer tid till labb 8, vipps så var alla labbtillfällen borta och har ännu inte gjort labben.


  25. Ytterligare kommentarer om kursen:

    Det borde ha funnits lite mer övningsuppgifter på regex och grammatik. Man hade ingen aning om vad man skulle öva på till de delarna på tentan.
    ---
    Jag kunde C/C sen innan så jag kanske är partisk. Det skulle vara bättre om man kunde skippa C i den här kursen och ha mer C datortekniken istället.
    ---
    Jag hoppas arvestad kommer att fortsätta att hålla i den, han gör ett riktigt bra jobb.
    ---
    Det var bra att det fanns gästföreläsare.
    ---
    Prolog va väldigt intressant och roligt, men SICStus verkade mer vara ett utvecklings- eller inlärningsverktyg (på gott och ont). Vore roligt att få veta hur man integrerar Prolog-kod i andra språk då man kommer kunna börja leka med det hemma också (typ Java, C, C osv). Om det går.
    ---
    Mycket besviken. Kurser på KTH borde hålla högre kvalitet än såhär!
    ---
    Varför finns bara ett svar på fråga 17.
    Det känns som en ledande fråga. :)

    ---
    Det som störde mej mest under kursen, eller snarare efter kursen var den tid det tog att rätta tentan. Den här kursen är nog den sämsta jag har haft när det gäller rättning av tentan. Först tar det över 3 veckor(!!!) innan tentan är rättad, och när den väl är rättad så är den felrättad (bonuspoängen). Skärpning till nästa år!
    ---
    Lab 2 hade varit mycket bättre med tydligare instruktioner.
    ---
    Kul kurs! Tungt att läsa parallellt med nummen (labba hela natten, labba hela dan..), men helt klart rolig och bra att läsa.
    ---
    Kursen kändes ganska krävande med alla laborationer, jag har de två sista kvar själv, och det har varit lite stressande bredvid labbarna i numeriska metoder...
    ---
    Intressant kurs, har varit givande.
    ---
    intressant kurs med stor potential. men som sagt, mer av de "ovanligare" grejerna: funktionell, syntaxanalys och regex
    ---
    Tentan ( omtentan ) behöver skrivas om. Prolog och syntaxdelen speglade inte övningarna.
    ---
    Bra föreläsningar, trevlig föreläsare.

    PS. Bra förslagsalternativ till fråga 17? ;)