At the centre of the methodology used in this book is STEM learning variability space that
includes STEM pedagogical variability learners' social variability technological variability
CS content variability and interaction variability. To design smart components firstly the
STEM learning variability space is defined for each component separately and then model-driven
approaches are applied. The theoretical basis includes feature-based modelling and model
transformations at the top specification level and heterogeneous meta-programming techniques at
the implementation level.Practice includes multiple case studies oriented for solving the task
prototypes taken from the real world by educational robots. These case studies illustrate the
process of gaining interdisciplinary knowledge pieces identified as S-knowledge T-knowledge
E-knowledge M-knowledge or integrated STEM knowledge and evaluate smart components from the
pedagogical and technological perspectives based on data gathered from one real teaching
setting. Smart STEM-Driven Computer Science Education: Theory Methodology and Robot-based
Practices outlines the overall capabilities of the proposed approach and also points out the
drawbacks from the viewpoint of different actors i.e. researchers designers teachers and
learners.