Real-Time Systems and Programming Languages

2023/2024

Content, progress and pedagogy of the module

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

Learning objectives

Knowledge

  • Have knowledge about number systems applied in computers and real time systems (decimal, binary, hexadecimal), basic arithmetic operations and representation of fixed and floating point numbers
  • Have knowledge about basic digital 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 digital development environment for C language programming and debugging
  • Have a basic understanding about digital 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 digital microcontroller applications with both low-priority background tasks and interrupt service routines
  • Have knowledge about implementation of discrete-time digital 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 digital hardware solutions for data acquisition systems

Skills

  • 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 digital 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 digital 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

Competences

  • 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.

Exam

Exams

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.
ECTS10
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-4B
Module typeCourse
Duration1 semester
SemesterSpring
ECTS10
Language of instructionDanish and English
Empty-place SchemeYes
Location of the lectureCampus Aalborg, Campus Esbjerg
Responsible for the module

Organisation

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