Implementation of Programming Languages

2025/2026

Content, progress and pedagogy of the module

Disclaimer.
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.

 

Learning objectives

Knowledge

The student must acquire knowledge of:

  • principles and implementation techniques for interpretation and translation of programming languages  
  • phase division of the translation and interpretation process and the purpose of the phases, including lexical analysis, syntax analysis, type checking, interpretation, code generation, register allocation and storage management
  • techniques for describing concepts and implementing programming languages ​​in general, including the principle of abstraction, control and data structures, explicit and implicit execution order, block structure and the concept of scope, parameter mechanisms, types and type systems 
  • runtime environments, including data representation, storage allocation, and structures to support subprograms: methods, procedures, and functions

Skills

The student must acquire the following skills:

  • be able to explain the techniques and concepts involved in the implementation of interpreters and translators using the subject's terminology and notation
  • be able to explain the individual phases and the connection between the phases in a translator
  • be able to reason datalogically about and with the concepts and techniques concerned

Competences

The student must be able to:

  • describe, analyze and implement programming languages ​​from high-level languages ​​to machine code 
  • apply theoretical insights about formal languages, regular expressions, context-free grammars and other formalisms to describe programming languages
  • work with a non-trivial codebase and to expand it significantly

Type of instruction

The training shall be organised according to the general teaching forms referred to in § 17

Extent and expected workload

The student is expected to spend 30 hours per ECTS, which for this activity means 300 hours.

Exam

Exams

Name of examImplementation of Programming Languages
Type of exam
Written or oral exam
ECTS10
Permitted aidsAids (if any) will be posted on the course page in MOODLE
Assessment7-point grading scale
Type of gradingExternal examination
Criteria of assessmentThe criteria of assessment are stated in the Examination Policies and Procedures

Additional information

Contact: Study Board for Computer Science via cs-sn@cs.aau.dkor 9940 8854

Facts about the module

Danish titleImplementering af programmeringssprog
Module codeDSNSWCB431
Module typeCourse
Duration1 semester
SemesterSpring
ECTS5
Language of instructionDanish and English
Empty-place SchemeYes
Location of the lectureCampus Copenhagen
Responsible for the module

Organisation

Education ownerBachelor of Science (BSc) in Engineering (Software)
Study BoardStudy Board of Computer Science
DepartmentDepartment of Computer Science
FacultyThe Technical Faculty of IT and Design