Compiler Design I
Course, Bachelor's level, 1DL321
Expand the information below to show details on how to apply and entry requirements.
Autumn 2026 Autumn 2026, Uppsala, 33%, On-campus, English Only available as part of a programme
- Location
- Uppsala
- Pace of study
- 33%
- Teaching form
- On-campus
- Instructional time
- Daytime
- Study period
- 2 November 2026–17 January 2027
- Language of instruction
- English
- Entry requirements
-
60 credits including 15 credits in mathematics and 30 credits in computer science, including Operating Systems and a second course in computer programming.
- Application deadline
- 15 April 2026
- Application code
- UU-11019
Admitted or on the waiting list?
- Registration period
- 19 October 2026–8 November 2026
- Information on registration from the department
Autumn 2026 Autumn 2026, Uppsala, 33%, On-campus, English For exchange students
- Location
- Uppsala
- Pace of study
- 33%
- Teaching form
- On-campus
- Instructional time
- Daytime
- Study period
- 2 November 2026–17 January 2027
- Language of instruction
- English
- Entry requirements
-
60 credits including 15 credits in mathematics and 30 credits in computer science, including Operating Systems and a second course in computer programming.
Admitted or on the waiting list?
- Registration period
- 19 October 2026–8 November 2026
- Information on registration from the department
About the course
A compiler translates a computer program from a high-level language, such as C or Java, to machine code, the internal representation in the computer.
Compilation takes several steps. The first step is lexical analysis, to separate the program into "words". The syntactic analysis finds the structures. Code generation is often done in two steps, via an intermediate code to machine code. Often the code is improved through code optimisation.
The methods and tools from compiler design are useful for other forms of translation, for example from XML to a data structure.