The critical issue in modern computer science and engineering education is to provide the industry with an influx of graduates understanding the internal working of modern reactive and time-critical systems where the computer software meets the hardware. Most of the real-life applications require knowledge of not only developing algorithms and programs, but also using the system resources, connecting to non-standard devices, and smoothly integrating with the operating system.
The objective of the real-time course is to present basic real-time concepts
and teach students to develop programs using operating system resources. The
concepts of timing, concurrency, inter-process communication, resource contention,
priorities, and input/output are discussed in a format providing background,
example, and the follow-up experiments. The laboratory infrastructure is
designed to promote an asynchronous and discovery-based learning environment.