Real-Time Systems and Programming Languages


Recommended prerequisite for participation in the module

The module is based on knowledge achieved in the module Applied engineering mathematics or similar.

Content, progress and pedagogy of the module

Learning objectives


  • Have knowledge about number systems (decimal, binary, hexadecimal), basic arithmetic operations and representation of fixed and floating point numbers
  • Have knowledge about basic logic gates and simple combinational circuits
  • Have basic knowledge about bi-stable components (flip-flops) and their use in simple clocked sequential circuits
  • Have an understanding of how digital signals are represented by different electrical logic families including their static and dynamic electrical behaviour
  • Have knowledge about general programming methodologies and understand the program development process from problem formulation to final implementation
  • Have knowledge about the C programming language syntax including memory management, data types and variables, control structures, functions, and the use of pointers
  • Have basic knowledge about the C language pre-processor, compile and linker process including the use of multiple source files and libraries
  • Have knowledge about the use of an integrated development environment for C language programming and debugging
  • Have a basic understanding about microcontrollers, their architecture and their use in real-time systems
  • Have knowledge about fundamental microcontrollers peripheral units such as digital input/output ports and analog input/output ports
  • Have knowledge about the operating principles for digital to analog converters and analog to digital converters including their use in practical microcontroller designs
  • Have knowledge about special peripheral units including pulse-width modulation and quadrature encoder interface
  • Have knowledge about C-programming debugging of real-time microcontroller applications with both low-priority background tasks and interrupt service routines
  • Have knowledge about implementation of discrete-time filters, controllers and pulse-width modulators
  • Have knowledge about graphical programming techniques
  • Have knowledge about dataflow programming techniques using basic data types and control structures for both non-deterministic and real-time applications
  • Have knowledge about the use of an integrated development environment for graphical programming and debugging
  • Have knowledge about hardware solutions for data acquisition systems


  • Be able to analyse, design and realize simple combinatorial and sequential logic circuits
  • Be able to outline the main electrical characteristics of logic families and understand when interfacing circuitry is needed
  • Be able to interface microcontroller digital and analog peripherals to external circuits (actuators, sensors, etc.) by taking relevant electrical characteristics into account
  • Be able to select a suitable real-time system and programming environment for a particular engineering task
  • Be able to divide a programming task into smaller modules that can be programmed and debugged individually
  • Be able to develop and test applications using C programming and graphical programming that solve a specific task that may require real-time behaviour
  • Be able to plan, execute and document laboratory experiments that involve a microcontroller-based real-time system with both analog and digital inputs and outputs


  • Independently be able to conduct basic design and development within the area of real-time systems and their programming
  • Independently be able to extent knowledge and competences within the topic beyond the contents of this course module

Type of instruction

The course is a mix of lectures, workshops, exercises, self-study, e-learning and mini project.

Extent and expected workload

Since it is a 10 ECTS course, the work load is expected to be 300 hours for the student.



Name of examReal-Time Systems and Programming Languages
Type of exam
Active participation/continuous evaluation
Attendance by at least 80% attendance and approval of mini project that can be completed in groups; scope of approximately 10 pages (maximum of 2800 characters per page).
Re-exam is oral exam based on a submitted mini project.
AssessmentPassed/Not Passed
Type of gradingInternal examination
Criteria of assessmentThe criteria of assessment are stated in the Examination Policies and Procedures

Facts about the module

Danish titleRealtidssystemer og programmeringssprog
Module codeN-EN-B4-4A
Module typeCourse
Duration1 semester
Language of instructionDanish and English
Empty-place SchemeYes
Location of the lectureCampus Aalborg, Campus Esbjerg
Responsible for the module


Study BoardStudy Board of Energy
DepartmentDepartment of Energy
FacultyThe Faculty of Engineering and Science