The book explores what it takes to teach everyone to program. This revised edition revisits the question of how computing educators can meet the enormous demand of students who need programming knowledge but do not all use programming in the same ways or for the same purposes. Specifically, it considers whether the same goals as computer science education for professional software developers are relevant when targeting teaching to a broad or general audience of students and life-long learners. The goal of the book is to explain how to design computing education that starts from the learning sciences. It proposes use of a learner-centered design approach to create computing education for the growing and broad audience of students who are interested in learning about computing. It considers several reasons for teaching computing to everyone and how the different reasons lead to different choices about learning goals and teaching methods. This book reviews the history of the idea that programming isn't just for the professional software developer. It uses research studies on teaching computing in liberal arts programs, to working professionals, and to high school teachers as a concrete examples. The big idea is that computer science for everyone requires rethinking how and what is taught.
The book explores what it takes to teach everyone to program. This revised edition revisits the question of how computing educators can meet the enormous demand of students who need programming knowledge but do not all use programming in the same ways or for the same purposes. Specifically, it considers whether the same goals as computer science education for professional software developers are relevant when targeting teaching to a broad or general audience of students and life-long learners. The goal of the book is to explain how to design computing education that starts from the learning sciences. It proposes use of a learner-centered design approach to create computing education for the growing and broad audience of students who are interested in learning about computing. It considers several reasons for teaching computing to everyone and how the different reasons lead to different choices about learning goals and teaching methods. This book reviews the history of the idea that programming isn't just for the professional software developer. It uses research studies on teaching computing in liberal arts programs, to working professionals, and to high school teachers as a concrete examples. The big idea is that computer science for everyone requires rethinking how and what is taught.
Mark Guzdial
UX Design Computer Science for Humanities Cross-Discipline Education User-Centered Design User-Friendly Design