DescriptionThe Computer Science for All (CS for All) movement launched in 2016, following a decade of increasing support for broadening access to computer science education in K-12. In the years since, it has grown into a broad-based effort to equip all students with the skills they need to thrive in a digital society. CS for All follows a long line of educational initiatives that have attempted to achieve broad social and political aims through curriculum reform. The wide range of rationales for CS for All, including workforce development, personal empowerment, and creative expression, have implications for designs for curricula and strategies for teacher professional learning. This dissertation considers the CS for All movement from three perspectives: historical context, curricular approaches, and the experiences of classroom teachers who are learning to teach computer science. The successful scaling of CS for All will depend upon a coherent approach supported by a strong theory of action linking classroom activities to the broad array of intended outcomes.