Programming Embedded Systems
5 credits
Syllabus, Master's level, 1DT106
A revised version of the syllabus is available.
- Code
- 1DT106
- Education cycle
- Second cycle
- Main field(s) of study and in-depth level
- Computer Science A1F, Embedded Systems A1F, Technology A1F
- Grading system
- Pass with distinction (5), Pass with credit (4), Pass (3), Fail (U)
- Finalised by
- The Faculty Board of Science and Technology, 8 March 2016
- Responsible department
- Department of Information Technology
Entry requirements
120 credits including Computer Architecture and Operating Systems. Real Time Systems.
Learning outcomes
To pass, a student 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 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.
Content
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.
Instruction
Lectures, lessons, assignments, and labs .
Assessment
The course is examined with exam and assignments, the theory part consists of 3 credits and the practical 2 credits.