The real-time software and systems course provides a comprehensive view of real-time systems with theory, techniques and methods necessary for effective design and development of real-time computing system. Topics include fundamental concepts, terminology, real-time characteristics and issues, real-time hardware including processors, memory and transducers, operating systems and tasks, utilization and response time, periodic and aperiodic task scheduling, synchronization and blocking, resource access, rate monotonic analysis, priority servers, real-time system development process, real-time system requirements analysis, modeling techniques, architecture design, design patterns, performance analysis, verification and validation, testing strategies, system safety and reliability, languages and operating systems for real-time computing, and real-time problems in concurrent and distributed systems