We need to better justify CS for All
Brian Drayton has now written a couple of posts critical of the CS for All initiative (one is linked below, and here’s another one), and his points are well taken. In my book on Learner-Centered Design of Computing Education, I consider several possible reasons for teaching CS to everyone. I prefer the same ones that he does, and I agree that much of the initiative is poorly justified. I do not believe that we should put CS into all schools in order to make high school graduates “job-ready” (see the White House release using that phrase).
I agree that “everyone should code” is both unrealistic and poorly justified, as it has currently been advocated. I think we could make more progress (both in expanding people’s understanding of computer science or computation, and in empowering people to adopt such knowledge as a valuable tool for growth, creativity, and employment) if we did a better job envisioning what we’d like a classroom to look like that is deeply conversant with the tools and the insights of computer science in the same way that the classroom is already deeply infused with the tools and insights of literacy and numeracy.