Introduction to Program Translation

Postgraduate course

Course description

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




ECTS Credits


Level of Study


Semester of Instruction

Irregular- Does not run autumn 2019.
Required Previous Knowledge
For incoming exchange students: At least 60 ECTS in Computer Science and at least 10 ECTS in mathematics.
Recommended Previous Knowledge
INF121 (Programming paradigms) / INF122 (Functional Programming), MNF130 (Discrete structures)
Credit Reduction due to Course Overlap
I125: 10 SP
Access to the Course
Access to the course requires admission to a programme of study at The Faculty of Mathematics and Natural Sciences
Teaching and learning methods
Up to 6 hours each week in 13 weeks with lectures and exercise class.
Compulsory Assignments and Attendance
Compulsory assignments.
The assignments are valid two semesters: the semester when they are approved and the succeeding semester.
Forms of Assessment
Oral exam.
Compulsory exercises may count towards the final grade. 
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.
Assessment Semester
Examination every semester the course is taught, and the subsequent semester.
Reading List
The reading list will be available within July 1st for the autumn semester and December 1st for the spring semester
Course Evaluation
The course will be evaluated by the students in accordance with the quality assurance system at UiB and the department.
Examination Support Material
Programme Committee
The Programme Committee is responsible for the content, structure and quality of the study programme and courses.
Course Coordinator
Course coordinator and administrative contact person can be found on Mitt UiB, or contact Student adviser
Course Administrator
The Faculty of Mathematics and Natural Sciences represented by the Department of Informatics is the course administrator for the course and study programme.