Programming Embedded Systems

5 credits

Syllabus, Master's level, 1DT106

Education cycle
Second cycle
Main field(s) of study and in-depth level
Computer Science A1F, Embedded Systems A1F, Technology A1F
Grading system
Fail (U), Pass (3), Pass with credit (4), Pass with distinction (5)
Finalised by
The Faculty Board of Science and Technology, 17 October 2022
Responsible department
Department of Information Technology

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.

Learning outcomes

On completion of the course, the student should 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 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.


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.


Lectures, lessons, assignments, and labs .


The course is examined with exam and assignments, the theory part consists of 3 credits and the practical 2 credits.

If there are special reasons for doing so, an examiner may make an exception from the method of assessment indicated and allow a student to be assessed by another method. An example of special reasons might be a certificate regarding special pedagogical support from the disability coordinator of the university.