Nada

Kursanalys för 2D1373, 1999 års kursomgång

Kurs: Artificiella språk och syntaxanalys
Kursnummer: 2D1373
Antal poäng: 4 (2 poäng lab och 2 poäng tenta)
Kursledare och lärare: Lars Engebretsen
Undervisning: 24h föreläsning, 14h terminalövning
Antal registrerade elever: 54
Kurslitteratur: Parsons, Introduction to compiler construction, W.H. Freeman, New York.

Resultatstatistik

STATISTIK 990526
2D1373: Artificiella språk och syntaxanalys (syntax99)

   (antal elever totalt: 54)

TENTASTATISTIK

   Nr   Datum    Tot   U    (%)     3    (%)     4    (%)     5    (%)

   1    990311    42    6   14.3     7   16.7    12   28.6    11   26.2
   2    990415     6    1   16.7     1   16.7     2   33.3     0    0.0
   Totalt 41 godkända av 54 (75.9%)

LABSTATISTIK (ALLA)

   Lab   Ant G     (%)   Ant S     (%)   Totalt  (%)

   1       18     33.3      0      0.0     18     33.3

LABSTATISTIK (GODKÄNDA PÅ TENTA)

   Lab   Ant G     (%)   Ant S     (%)   Totalt  (%)

   1       16     39.0      0      0.0     16     39.0

LABSTATISTIK (EJ GODKÄNDA PÅ TENTA)

   Lab   Ant G     (%)   Ant S     (%)   Totalt  (%)

   1        2     15.4      0      0.0      2     15.4

18 godkända på lab1-momentet och 41 på ten1-momentet ger en prestationsgrad på 55%. Godkänt på hela kursen har 16 elever, det vill säga 30%.

Mål

Kursens mål är att

för att eleverna

Sammanfattning

Jag tycker kursen fungerar i stort sett bra. I år kändes takten jämnare än förra året. Det stora problemet är att så få klarar labbkursen i tid.

Undervisningen

Undervisningen bedrevs i föreläsningsform.

Examination

Halva kursen examineras med laborationer, halva med en skriftlig tentamen. Labbkursen består av fyra små laborationer, som inte behöver redovisas, och en projektuppgift som redovisas för kursledaren eller terminalassistent. Tentamen ska lösas utan hjälpmedel.

Kurslitteratur

Kurslitteraturen består delas av Parsons bok och dels av en exempelsamling med lösningar. Parsons bok passar hyfsat bra med kursens inriktning, exempelsamlingen fyller i de hål som finns. Tyvärr finns det ganska många tryckfel i boken, jag har med elevernas hjälp upprättat en errata på kursens hemsida.

Utvärdering

Efter kursen kallade jag till utvärderingsmöte. Tyvärr kom bara en elev dit, å andra sidan är han ordförande i studienämnden på D-linjen. Jag förde minnesanteckningar.

Kursens verkliga innehåll

Följande tabell visar innehållet på föreläsningarna. Angivelser inom parentes svarar mot avsnitt i kursboken.

vecka 3:
F1 - Hur en kompilator fungerar i stort (1.1-1.10), formella språk, ändliga automater (2.1-2.4). F2 - DFA=NFA, minimal DFA (2.5, appendix A). Kapitel 2 (ej 2.7-2.10) och 3 i exempelsamlingen. Uppgift 1 i laborationshäftet.
vecka 4:
F3 - reguljära uttryck, RE=DFA, Flex, reguljära uttryck i Unix, hur Flex fungerar (2.6-2.7, 2.9, appendix B.1, Flex-manualen). F4 - Språk som inte är reguljära, grammatik, syntaxträd, BNF (2.8, 3.1). Kapitel 4 i exempelsamlingen. Uppgift 2 i laborationshäftet.
vecka 5:
F5 - Syntaxanalys uppifrån och ner, rekursiv medåkning (3.2-3.5). F6 - Stackautomat (PDA), turingmaskin (TM), chomskyhierarkin (3.1.6-3.1.8). Resten av kapitel 2 samt kapitel 5 (ej 5.6) i exempelsamlingen. Uppgift 3 i laborationshäftet.
vecka 6:
F7 - Syntaxanalys nerifrån och upp, Bison (4.1, appendix B.2, Bison-manualen). F8 - Hur Bison fungerar, LR(k), LALR(1) (4.2-4.4). Kapitel 6 i exempelsamlingen. Uppgift 4 i laborationshäftet.
vecka 7:
F9 - Avancerad Bison (appendix B.2). F10 - Intern representation, kodgenerering, optimering, språkkonstruktion (5.1-5.3). Påbörja uppgift 5 i laborationshäftet.
vecka 8:
F11 - Attributgrammatik vid analys uppifrån och ner, (5.4). F12 - Attribut vid analys nerifrån och upp, att undvika ärvda attribut (5.5-5.8). Uppgift 5.6 i exempelsamlingen. Fortsätt med uppgift 5 i laborationshäftet.
vecka 9:
Avsluta och redovisa uppgift 5 i laborationshäftet.
vecka 11:
Reservtid för redovisning.
vecka 12:
Reservtid för redovisning.

Förändringar inför nästa kursomgång

Jag kommer inte att ha kursen nästa år, men har funderat på att göra om en av laborationsuppgifterna samt att byta bok. Ny bok skulle då bli kursboken i programspråksimplementationskursen. Jag kommer att diskutera detta med den nya kursledaren.


Sidansvarig: <enge@nada.kth.se>
Senast ändrad 26 maj 1999