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

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

    Find in the library

  • Marwedel, Peter Embedded system design

    Updated and corr. version: Dordrecht: Springer, cop. 2006

    Find in the library

  • Pont, Michael J. Patterns for time-triggered embedded systems : building reliable applications with the 8051 family of microcontrollers

    Harlow: Addison-Wesley, cop. 2001

    Find in the library

  • Buttazzo, Giorgio C. Hard real-time computing systems : predictable scheduling algorithms and applications

    2. ed.: New York: Springer, 2005

    Find in the library