This course explores the trajectory of advances in K-12 CS education with the goal of preparing students to design CS educational experiences and build tools for the future. Starting in the 1980s and moving forward in time, we’ll explore eight influential programming languages used in schools and the learning theories connected with them. We’ll use a critical eye to examine how these designs and pedagogical practices have informed curricula and pedagogy of today and how they may continue to do so in the future.
As a class, we’ll 1) explore the original programming languages in simulated environments to understand the context, constraints and impact on learning and practice, and 2) consider the challenges, opportunities and forces influencing the design of learning experiences for K-12 students today and in the future.
Through the course, participants will critically evaluate the design of CS learning experiences and designs by asking, “How would you redesign this for today’s learners?” “How might you design new tools and experiences for future learners?” Come to learn the history of CS education, play games, design learning experiences, brainstorm with others, give feedback, and move CS.forward().