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 - Programming language technology
 
Kursplanen fastställd 2012-02-18 av programansvarig (eller motsvarande)
Ägare: MPALG
7,5 Poäng
Betygskala: TH - Fem, Fyra, Tre, Underkänt
Utbildningsnivå: Avancerad nivå
Huvudområde: Datateknik, Informationsteknik
Institution: 37 - DATA- OCH INFORMATIONSTEKNIK


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

Modul   Poängfördelning   Tentamensdatum
Lp1 Lp2 Lp3 Lp4 Sommarkurs Ej Lp
0112 Tentamen 6,0 hp Betygskala: TH   6,0 hp   11 Mar 2013 fm V,  21 Aug 2013 em V
0212 Laboration 1,5 hp Betygskala: UG   1,5 hp    

I program

MPCSN COMPUTER SYSTEMS AND NETWORKS, MSC PROGR, Årskurs 1 (valbar)
TKITE INFORMATIONSTEKNIK, CIVILINGENJÖR, Årskurs 2 (valbar)
TKITE INFORMATIONSTEKNIK, CIVILINGENJÖR, Årskurs 3 (valbar)
MPALG COMPUTER SCIENCE - ALGORITHMS, LANGUAGES AND LOGIC, MSC PROGR, Årskurs 1 (obligatorisk)

Examinator:

Professor  Aarne Ranta


Ersätter

DAT150   Programming language technology

Kursutvärdering:

http://document.chalmers.se/doc/7f39baa1-7dd7-482c-8309-4f4d737bf449


  Gå till kurshemsida

Behörighet:

För kurser inom Chalmers utbildningsprogram gäller samma behörighetskrav som till de(t) program kursen ingår i.

Kursspecifika förkunskaper

The course can not be included in a degree together with the course TIN321 Programming languages. Neither can the course be included in a degree which is based on another degree in which the course TIN321 is included.


General programming skills (C, C++, Haskell, or Java) and Data structures is required.

Syfte

The aim of the course is to give understanding of how programming languages are designed, documented, and implemented. The course covers the basic techniques and tools needed to write interpreters, and gives a summary introduction to compilation as well.

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


  • define the lexical structure of programming languages by using regular expressions, explain the functioning of finite automata, and implement lexical analysers by using standard tools;

  • define the syntax of programming languages by using context-free grammars, explain the principles of LL and LR parsing, and implement parsers by using standard tools;

  • define and implement abstract syntax;

  • master the technique of syntax-directed translation and its efficient mplementation in their chosen programming language;

  • formulate typing rules and implement type checkers;

  • formulate operational semantic rules and implement interpreters;

  • write simple code generators;

  • be familiar with the basic implementation issues of both imperative and functional languages;

  • design and implement special-purpose programming languages;

  • use unification to implement polymorphic type checking;

  • use closures to implement functional programming languages.

Innehåll

You will learn about grammars when writing the syntax analysis and about type systems when implementing the type checker. When implementing the interpreter and compiler you will learn about practical implementation concerns as well as the theory of formal semantics. By experimenting with language extensions you will get an insight into good and bad programming language designs.

Organisation

The teaching consists of lectures, exercises, and laborations, as well as individual supervision in connection to the laborations.

Litteratur

See course home page.

Examination

Written laboration and written exam. Grading scale: U, 3, 4, 5.


Sidansvarig Publicerad: on 24 jan 2018.