Sök i programutbudet

Använd sökfunktionen för att leta efter kurser och program i Chalmers utbildningsutbud. Den programplan och utbildningsplan som avser dina studier är i allmänhet från det läsår du började dina studier.

​​​​​​​​​​​​​

Kursplan för

Läsår
DAT151 - Programspråk  
Programming language technology
 
Kursplanen fastställd 2018-02-13 av programansvarig (eller motsvarande)
Ägare: MPALG
7,5 Högskolepoäng
Betygskala: TH - Fem, Fyra, Tre, Underkänd
Utbildningsnivå: Avancerad nivå
Huvudområde: Datateknik, Informationsteknik
Institution: 37 - DATA- OCH INFORMATIONSTEKNIK


Undervisningsspråk: Engelska
Sökbar för utbytesstudenter: Ja
Blockschema: B

Modul   Poängfördelning   Tentamensdatum
Lp1 Lp2 Lp3 Lp4 Sommarkurs Ej Lp
0112 Tentamen 6,0 hp Betygskala: TH   6,0 hp   14 Jan 2019 fm M   25 Apr 2019 fm M   29 Aug 2019 em M  
0212 Laboration 1,5 hp Betygskala: UG   1,5 hp    

I program

TIDAL DATATEKNIK, HÖGSKOLEINGENJÖR, Årskurs 3 (obligatoriskt valbar)
MPALG DATAVETENSKAP - ALGORITMER, PROGRAMSPRÅK OCH LOGIK, MASTERPROGRAM, Årskurs 1 (obligatorisk)
TKITE INFORMATIONSTEKNIK, CIVILINGENJÖR, Årskurs 3 (valbar)
MPCSN DATORER, NÄTVERK OCH SYSTEM, MASTERPROGRAM, Årskurs 1 (valbar)

Examinator:

Andreas Abel

Ersätter

DAT150   Programming language technology


  Gå till kurshemsida

Behörighet:


För kurser på avancerad nivå gäller samma grundläggande och särskilda behörighetskrav som till det kursägande programmet. (När kursen är på avancerad nivå men ägs av ett grundnivåprogram gäller dock tillträdeskrav för avancerad nivå.)
Undantag från tillträdeskraven: Sökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.

Kursspecifika förkunskaper

Kursen kräver:
- Goda programmeringskunskaper i Haskell, Java, C eller C ++
- God kännedom om något av programspråken Java, C eller C ++
- Grundläggande färdigheter i Unix programmering (Shell-programmering)
- Grundläggande kunskaper i datastrukturer och algoritmer

Följande rekommenderas också:
- Grundläggande kunskaper i logik (booleska operatorer, inferensregler)
- Kännedom om funktionell programmering
- Grundläggande kunskaper i assemblerprogrammering

Syfte

Syftet med kursen är att skapa förståelse för hur programmeringsspråk utformas, dokumenteras och implementeras. Kursen behandlar grundläggande tekniker och verktyg som behövs för att implementera interpretatorer (tolkar), och ger dessutom en introduktion till kompilatorer.

Lärandemål (efter fullgjord kurs ska studenten kunna)

  • Använda reguljära uttryck för att definiera ett programmeringsspråks lexikala struktur, förklara hur ändliga automata fungerar, och implementera lexikala analysverktyg;
  • definiera syntaxen för programmeringsspråk med hjälp av kontextfria grammatiker, förklara principerna för LL och LR-parsning, samt implementera parsers med hjälp av standardverktyg;
  • definiera och implementera abstrakt syntax;
  • behärska tekniken för syntaxstyrd översättning och hur man implementerar för ett valfritt programmeringsspråk;
  • formulera typinferensregler och implementera typkontrollerare;
  • utforma regler för operativ semantisk och implementera interpreters (tolkar);
  • skriva enkla kodgeneratorer;
  • känna till grundläggande implementationsproblematik för både imperativa och funktionella språk;
  • Implementera polymorfa typkontroll med hjälp av unifiering;
  • Använda "closures" för att implementera funktionella programmeringsspråk.

Innehåll

Genom att implementera interpretatorer och kompilatorer lär du dig lösa praktiska implementationsproblem men även teori för formell semantik.
Du kommer att lära dig om programspråkens grammatik när du implementerar syntaxanalys och om typsystem vid implementering av typkontrollerare.
Genom att experimentera med språkutvidgningar får du en inblick i bra och dåliga sätt att konstruera programmeringsspråk.

Organisation

Undervisning ges i form av föreläsningar, övningar och laborationer med individuell handledning.

Litteratur

Information om litteratur ges på kursens hemsida före kursstart.

Examination inklusive obligatoriska moment

För att bli godkänd på kursen krävs godkänd skriftlig tentamen samt godkända laborationer. Baserat på tentamensresultatet ges betygen U,3,4 eller 5.


Sidansvarig Publicerad: on 24 jan 2018.