Device and Middleware Programming


Syllabus for students autumn 2017, autumn 2016, autumn 2015, autumn 2014

Course Code:
DA366A revision 1
Swedish name:
Hårdvarunära programmering
Level of specialisation
Main fields of study:
No main fields
Date of ratification:
12 February 2014
Decision-making body:
Faculty of Technology and Society
Enforcement date:
01 September 2014

Entry requirements

  • 15 credits in programming with at least 3,5 credits in C programming.
  • The equivalent of English 6/English B in Swedish secondary school.

Specialisation and progression relative to the degree regulations

This course is not part of any main subject.


The aim of the course is for the student to deepen their knowledge of programming of modern microprocessors and its I/O devices for embedded systems. The course is of practical character and shall promote design and documentation skills.


The coruse covers the following:

  • Computer architecture for 32 bit embedded microprocessors
  • I/O and other hardware components
  • Various communication devices
  • Real-time operating systems
  • Advanced C programming
  • Agile software development
  • Planning, development, testing and documentation of embedded software

Learning outcomes

Knowledge and Understanding
On completion of the course the student should be able to demonstrate knowledge and understanding about

  • function of modern microprocessors
  • device drivers and middleware libraries for embedded systems
  • various hardware components in a modern microprocessor

Skills and Abilities
On completion of the course, students should be able to:
  • use modern development methods for software development
  • as part of a team design, test and document embedded software
  • integrate software from different developers to a working system
  • prioritize work regarding time, content and effort

Judgement and Approach
On completion of the course the student should be able to:
  • critically relate to and evaluate information in literature, technical documentation, marketing material and information on the web

Learning activities

Lectures, about 4 hours
Project meetings and group supervision, about 40 hours
Individual studies and work in project groups, about 156 hours


Requirements for pass:

  • Active participation in project work 3 credits
  • Passed assignments, code 3 credits
  • Passed written assignments, documentation 1,5 credits

Grading system

Fail (U) or Pass (G).

Course literature and other teaching materials

  • Kniberg, Henrik (2007) Scrum and XP from the Trenches, C4Media, Morrisville (available as free download)
  • White, Elecia (2011) Making Embedded Systems: Design Patterns for Great Software, O'Reilly, (available as e-book at Malmö University's library)

Course evaluation

Higher education institutions shall enable students who are participating in or have completed a course to express their experiences and views on the course through a course evaluation to be organized by the higher education institution. The higher education institution shall collate the course evaluations and provide information about their results and any actions prompted by the course evaluations. The results shall be made available to the students.” (HF 1:14).

Course reports


The education is provided by the Faculty of Technology and Society at the department Computer Science and Media Technology.

Further information

Bodil Sterner, Student Services Assistant
Phone: 040-6657620
Ulrik Ekedahl, Course Responsible
Phone: 040-6657293