Syllabus for Programming Embedded Systems
Programmering av inbyggda system
A revised version of the syllabus is available.
Syllabus
- 5 credits
- Course code: 1DT106
- Education cycle: Second cycle
-
Main field(s) of study and in-depth level:
Computer Science A1F,
Technology A1F,
Embedded Systems A1F
Explanation of codes
The code indicates the education cycle and in-depth level of the course in relation to other courses within the same main field of study according to the requirements for general degrees:
First cycle
- G1N: has only upper-secondary level entry requirements
- G1F: has less than 60 credits in first-cycle course/s as entry requirements
- G1E: contains specially designed degree project for Higher Education Diploma
- G2F: has at least 60 credits in first-cycle course/s as entry requirements
- G2E: has at least 60 credits in first-cycle course/s as entry requirements, contains degree project for Bachelor of Arts/Bachelor of Science
- GXX: in-depth level of the course cannot be classified
Second cycle
- A1N: has only first-cycle course/s as entry requirements
- A1F: has second-cycle course/s as entry requirements
- A1E: contains degree project for Master of Arts/Master of Science (60 credits)
- A2E: contains degree project for Master of Arts/Master of Science (120 credits)
- AXX: in-depth level of the course cannot be classified
- Grading system: Fail (U), Pass (3), Pass with credit (4), Pass with distinction (5)
- Established: 2016-03-08
- Established by: The Faculty Board of Science and Technology
- Applies from: Spring 2016
-
Entry requirements:
120 credits including Computer Architecture and Operating Systems. Real Time Systems.
- Responsible department: Department of Information Technology
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.
Syllabus Revisions
- Latest syllabus (applies from Autumn 2023)
- Previous syllabus (applies from Spring 2019)
- Previous syllabus (applies from Spring 2016)
Reading list
Reading list
Applies from: Spring 2016
Some titles may be available electronically through the University library.
-
Simon, David E.
An embedded software primer
Reading, Mass.: Addison-Wesley, cop. 1999
-
Marwedel, Peter
Embedded system design
Updated and corr. version: Dordrecht: Springer, cop. 2006
-
Pont, Michael J.
Patterns for time-triggered embedded systems : building reliable applications with the 8051 family of microcontrollers
Harlow: Addison-Wesley, cop. 2001
-
Buttazzo, Giorgio C.
Hard real-time computing systems : predictable scheduling algorithms and applications
2. ed.: New York: Springer, 2005