Students acquire an advanced understanding of scheduling theory as the foundation of real-time systems. They learn to analyze and evaluate scheduling problems in deterministic environments, and to apply appropriate scheduling algorithms to optimize system performance under timing constraints.
Upon successful completion of the course, students are able to formally analyze scheduling policies, assess their computational complexity and performance guarantees, and transfer scheduling concepts to real-time computing systems as well as networks.
The course covers fundamental and advanced topics in scheduling theory. Topics include scheduling objectives and performance measures, single-machine scheduling, parallel-machine scheduling, flow shops, job shops, open shops, and scheduling under precedence constraints, different job release times, etc.
The course is delivered through lectures that discuss theoretical concepts, mathematical models, algorithms, and analytical techniques in depth. Scheduling problems and algorithms are illustrated through examples and discussed in class. Exercises are designed as problem-solving sessions that complement the lectures and provide students with opportunities to apply scheduling methods and deepen their understanding of the underlying theory.