Compiler Design I
Course, Bachelor's level, 1DL321
Autumn 2024 Autumn 2024, Uppsala, 33%, On-campus, English
- Location
- Uppsala
- Pace of study
- 33%
- Teaching form
- On-campus
- Instructional time
- Daytime
- Study period
- 4 November 2024–19 January 2025
- 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.
- Selection
-
Higher education credits in science and engineering (maximum 240 credits)
- Fees
-
If you are not a citizen of a European Union (EU) or European Economic Area (EEA) country, or Switzerland, you are required to pay application and tuition fees.
- First tuition fee instalment: SEK 10,833
- Total tuition fee: SEK 10,833
- Application deadline
- 15 April 2024
- Application code
- UU-11019
Admitted or on the waiting list?
- Registration period
- 21 October 2024–11 November 2024
- Information on registration from the department
Autumn 2024 Autumn 2024, Uppsala, 33%, On-campus, English For exchange students
- Location
- Uppsala
- Pace of study
- 33%
- Teaching form
- On-campus
- Instructional time
- Daytime
- Study period
- 4 November 2024–19 January 2025
- 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
- 21 October 2024–11 November 2024
- 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.