Search course

Use the search function to find more information about the study programmes and courses available at Chalmers. When there is a course homepage, a house symbol is shown that leads to this page.

Graduate courses

Departments' graduate courses for PhD-students.


Syllabus for

Academic year
EDA482 - Machine oriented programming  
Maskinorienterad programmering
Syllabus adopted 2019-02-08 by Head of Programme (or corresponding)
Owner: TKDAT
7,5 Credits
Grading: TH - Five, Four, Three, Fail
Education cycle: First-cycle
Major subject: Computer Science and Engineering, Information Technology

The course is full. For waiting list, please contact the director of studies:
Teaching language: Swedish
Application code: 49117
Open for exchange students: No
Maximum participants: 128
Only students with the course round in the programme plan

Module   Credit distribution   Examination dates
Sp1 Sp2 Sp3 Sp4 Summer course No Sp
0116 Laboratory 3,0 c Grading: UG   3,0 c    
0216 Examination 4,5 c Grading: TH   4,5 c   05 Jun 2020 am H   16 Mar 2020 pm H   21 Aug 2020 am J

In programs

TKELT ELECTRICAL ENGINEERING, Year 3 (compulsory elective)


Roger Johansson

  Go to Course Homepage


EDA480   Machine oriented programming EDA481   Embedded systems programming


In order to be eligible for a first cycle course the applicant needs to fulfil the general and specific entry requirements of the programme(s) that has the course included in the study programme.

Course specific prerequisites

Introductory courses in imperative programming and computer engineering.


This course is intended as an introduction to small embedded systems. It should give the student insight into how imperative constructs are translated to assembly code and also demonstrate the problems that arise when event driven systems with several data sources are to be programmed.

Learning outcomes (after completion of the course the student should be able to)

  • write simple assembly language programs using the selected architecture's instruction set.
  • write simple machine oriented C programs using the programming language's data types and control structures.
  • describe the assembler equivalent of typical programming structures in C.
  • apply tools from the course to develop programs
  • contribute to the construction and programming of simple embedded systems with given components
  • construct systems generating various types of exceptional events (internal exceptions, interrupts, restarts)
  • describe and illustrate a few basic types of peripherals and their use.


Software development in C and assembly language, testing and troubleshooting. Structured assembler, basic code generation. First level system programming, ie how the computer is programmed to boot from power on, and handling of different types of exceptions such as internal errors, events and interrupts. Programming devices for parallel input and output, time management and programming of timers. Basics of computer communications and programming devices for serial communications. Moreover, a simple time-sharing systems (in C and assembly language) with special emphasis on the use of peripheral circuits, is implemented.


Scheduled teaching comprises lectures, demonstrations, and supervised simulation and coding exercises; and also supervised mandatory laboratory.
During the course, the student designs progressively bigger and bigger building blocks of software in C and assembler. The theory is acquired through lectures and demonstrations. The student designs the blocks then carries out tests with the aid of simulators during simulation exercises. In preparation for laboratory exercises the student will finally adapt the software in order to enable hardware verification of the function.


See the course homepage.

Examination including compulsory elements

Examination is based on a written exam and approved laboratory exercises. Based on the exam result, the grade F, 3, 4, or 5 are given.

Page manager Published: Thu 04 Feb 2021.