This is an English translation of the module. In case of discrepancy between the translation and the Danish version, the Danish version of the module is valid.
That the student learns how to design and implement a programming language and how this process can be supported by formal definitions of language syntax and semantics and techniques and methods of translator-and/or interpreting-construction
All software is written in a programming language and translated or interpreted in order to be executed. Therefore, design, description and construction of programming languages, translators, interpreters and similar tools are core themes of computer science.
Therefore, the project work focuses on ensuring that students understand important underlying concepts in the world of programming languages, why these concepts have arisen and how they are formally described and represented in an implementation. Understanding these topics is fundamental in understanding new and existing programming languages and their applications.
In addition, many techniques and tools, originally developed for languages and translators, are also used in other contexts in programme development.
Digital support for competency development in configuration management.
The focus of the project is an analysis of a computer science problem, the solution of which can naturally be described in the form of designing a specific programming language. The project includes a formal definition of relevant central parts of this programming language. Key parts of the programming language are realized by the design of a (prototype) translator/interpreter for the language.
It is expected that the student spends 30 hours per ECTS, which for this activity means 450 hours.
|Name of exam||Design, Definition and Implementation of Programming Languages|
|Type of exam|
Oral exam based on a project
|Assessment||7-point grading scale|
|Type of grading||External examination|
|Criteria of assessment||The criteria of assessment are stated in the Examination Policies and Procedures|
Contact: Study Board for computer science via firstname.lastname@example.org or 9940 8854
|Danish title||Design, definition og implementation af programmeringssprog|
|Language of instruction||Danish and English|
|Location of the lecture||Campus Aalborg|
|Responsible for the module|
|Study Board||Study Board of Computer Science|
|Department||Department of Computer Science|
|Faculty||Technical Faculty of IT and Design|