Real-Time Systems and Programming Languages

2019/2020

Prerequisite/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

Knowledge

  • 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

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

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 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 and/or written assignment
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).
ECTS10
AssessmentPassed/Not Passed
Type of gradingInternal examination
Criteria of assessmentAs stated in the Joint Programme Regulations.

Facts about the module

Danish titleRealtidssystemer og programmeringssprog
Module codeN-EN-B4-4
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 Technology
FacultyFaculty of Engineering and Science