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:
- Revised: 2018-08-30
- Revised by: The Faculty Board of Science and Technology
- Applies from: Spring 2019
-
Entry requirements:
120 credits including Computer Architecture and Operating Systems. Real Time Systems. Proficiency in English equivalent to the Swedish upper secondary course English 6.
- Responsible department: Department of Information Technology
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.
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.
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.
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: Autumn 2022
Some titles may be available electronically through the University library.
-
White, Elecia.
Making Embedded Systems [Elektronisk resurs] : Design Patterns for Great Software.
Sebastopol: O'Reilly Media, Inc., 2011
-
Marwedel, Peter.
Embedded System Design : Embedded Systems, Foundations of Cyber-Physical Systems, and the Internet of Things
3rd ed. 2018.: Cham: Springer International Publishing, 2018
Reading list revisions
- Latest reading list (applies from Autumn 2022)
- Previous reading list (applies from Spring 2019)