Postgraduate course

Introduction to Program Translation

  • ECTS credits10
  • Teaching semesterAutumn
  • Course codeINF225
  • Number of semesters1
  • Language


  • Resources

Teaching semester


Objectives and Content

The course gives an introduction to the design and implementation of a compiler, with emphasis on principles and techniques for program analysis and translation. The course also gives an overview of tools for compiler construction. Emphasis is on a semester project which gives practical experience in use of such tools where analysis of structured input is required, e.g. interpretation of commands in an operative system, queries in a database system, pattern matching in text strings, and developing compilers for programming languages for specific purposes.

Learning Outcomes

After completing the course INF225, the student shall be able to

  • define and use important concepts such as languages, grammars, syntax trees, dependencies, symbol tables and typical internal representations,
  • discuss common code analysis techniques and the principles of compiler organisation,
  • use modern tools for source code analysis and manipulation
  • implement code analysis and manipulation tools based on a simple language description

Required Previous Knowledge

At least 60 ECTS in computer science, preferably including some mathematics

Recommended Previous Knowledge

INF121 (Programming paradigms), MNF130 (Discrete structures)

Compulsory Assignments and Attendance


Obligatory activities are valid for two semesters.

Forms of Assessment

Oral exam. If the course has many participants, there can be written exam (3 hours). It is opportunity for grades on exercises, which can be included in the final grade.

No aids allowed.

Grading Scale

The grading scale used is A to F. Grade A is the highest passing grade in the grading scale, grade F is a fail.

Subject Overlap

I 125: 10 ECTS


Exam information

  • Type of assessment: Oral examination

    Withdrawal deadline