Programming Embedded Systems
Course, Master's level, 1DT106
Spring 2025 Spring 2025, Uppsala, 33%, On-campus, English
- Location
- Uppsala
- Pace of study
- 33%
- Teaching form
- On-campus
- Instructional time
- Daytime
- Study period
- 20 January 2025–23 March 2025
- Language of instruction
- English
- Entry requirements
-
120 credits including Computer Architecture and Operating Systems. Participation in Real Time Systems. Proficiency in English equivalent to the Swedish upper secondary course English 6.
- 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 12,083
- Total tuition fee: SEK 12,083
- Application deadline
- 15 October 2024
- Application code
- UU-61209
Admitted or on the waiting list?
- Registration period
- 20 December 2024–27 January 2025
- Information on registration from the department
Spring 2025 Spring 2025, Uppsala, 33%, On-campus, English For exchange students
- Location
- Uppsala
- Pace of study
- 33%
- Teaching form
- On-campus
- Instructional time
- Daytime
- Study period
- 20 January 2025–23 March 2025
- Language of instruction
- English
- Entry requirements
-
120 credits including Computer Architecture and Operating Systems. Participation in Real Time Systems. Proficiency in English equivalent to the Swedish upper secondary course English 6.
Admitted or on the waiting list?
- Registration period
- 20 December 2024–27 January 2025
- Information on registration from the department
About the course
The course covers the following areas: development environments for embedded software, resource-aware programming, hardware programming, developing multi-threaded software, inter-process communication with shared memory and message passing, programming using real-time operating systems, fault detection and testing, and fault tolerance and fault recovery.
To pass, you must be able to: Develop low-level embedded software using high-level programming in e.g. C. Explain the most important features of real-time operating systems and their use in embedded software. Use programming patterns that take into account the limitations of embedded hardware platforms, e.g. memory size, processor capacity, and bandwidth. Discuss basic mechanisms for establishing fault tolerance and recovery. Explain basic approaches in validating the functionality of embedded software.