NDAB16008U Programming Language Design (PLD)
Bacheloruddannelsen i datalogi
The course explores the design space of programming languages and how the design choices affect implementation and other properties of the language.
A brief history of programming languages is presented and a selected set of features are explored with respect to design choices, how they interact and how they can be implemented.
The aim is to give the student an understanding of the programming-language landscape that will both be helpful when the student designs and implements programming languages but also to better understand existing programming languages.
The course aims to give the student:
Knowledge of:
- The difference between interpretation and translation
- Syntax
- Memory management
- Scope rules
- Control structures
- Types
- Language paradigms
- Modules
- Semantics
- Domain-specific languages
- Computational power of languages
Skills to:
- Design and implement simple programming languages using several of the above-listed features.
- Describe this language using a mixture of formal and informal specification
Competences to:
- Evaluate how design choices affect and are affected by implementation methods and other properties of programming languages.
- Design a programming language tailored to a specific problem area or observing speciifc properties.
- Category
- Hours
- Class Exercises
- 32
- Course Preparation
- 62
- Lectures
- 32
- Practical exercises
- 40
- Theory exercises
- 40
- Total
- 206
As
an exchange, guest and credit student - click here!
Continuing Education - click here!
- Credit
- 7,5 ECTS
- Type of assessment
- Continuous assessmentThe grade is given as a weighted average of 2 theoretical exercises and a small design-and-implementation project, where the project is weighted as 50% and each exercise as 25%.
observing specified properties or purposes
It is possible to resubmit the theoretical exercises one week after they are evaluated, but resubmission of the project is not possible. - Aid
- All aids allowed
- Marking scale
- 7-point grading scale
- Censorship form
- No external censorship
Several internal examiners
- Exam period
Continuous evaluation throughout the block, including the exam week.
- Re-exam
The re-exam consists of (re-)submission of the theoretical exercises and a new project, different from the project in the original exam.
Criteria for exam assesment
See the learning outcomes.
Course information
- Language
- English
- Course code
- NDAB16008U
- Credit
- 7,5 ECTS
- Level
- Bachelor
- Duration
- 1 block
- Placement
- Block 3
- Schedule
- B
- Course capacity
- No limit
- Continuing and further education
- Study board
- Study Board of Mathematics and Computer Science
Contracting department
- Department of Computer Science
Course responsibles
- Torben Ægidius Mogensen (7-7671746467706f42666b306d7730666d)