Alan Kay, Cathie Norris, Elliot Soloway, and I have an article in this month’s Communications of the ACM called "Computational Thinking Should Just Be Good Thinking." (See link here.) Our argument is that "computational thinking" is already here — students use computing every day, and that computing is undoubtedly influencing their thinking. What we really care about is effective, critical, "expanded" thinking where computing helps us think. To do that, we need better computing.
Ken Kahn engaged with our article in the comments section (thank you, Ken!), and he made a provocative comment:
There are have been many successful attempts to add programming to games: Rocky's Boots (1982), Robot Odyssey (1984), RoboSport (1991), Minecraft (multiple extensions), and probably many more. But these efforts excite a small fraction relative to those who are excited about using general-purpose programming systems such as Logo, Scratch, Squeak, ToonTalk, or Snap! for their own projects.
That got me wondering: Is general-purpose programming more popular than specialized programming? That's a hard question to answer, but there are other related questions that are answerable. What fraction of people use Scratch and other general-purpose programming systems, versus something like Minecraft? What fraction of students learn any kind of programming at all? How many students learn general-purpose programming today, compared to using other computing environments or learning other STEM subjects?
Here is what I found. I decided to be US-centric, so that I could compare to known overall populations.
Number people in the U.S. (source): 329 million.
Number of school children in the U.S. (source): 56.6 million
- About 50.8M in public schools, about 5.8M in private. Only about 1.5M children are homeschooled.
- 35.5M are in pre-K to grade 8, 15.3M in high school.
Learners of Computing vs Users of Computing Tools:
Number of Scratch users in U.S. (source): 19.2M
We don’t know ages (and we know that we can’t trust the age data in Scratch). Roughly 1/3 of all U.S. schoolchildren have tried Scratch. While Logo, Snap!, Squeak, and other tools are popular, they’re nowhere near as popular as Scratch. Scratch is likely our best possible scenario.
Number of Code.org students in U.S. (2018, source): 1.2M
Number of Minecraft users (source): 112M
Obviously, that’s more than the U.S., and not just school age, since that’s even school children or 1/3 of everyone in the U.S. I was unable to find the number just in the U.S.
I found this estimate for the number of children playing Minecraft (source):
The results show that 53% of children aged 6 to 8, and 68% of children aged 9 to 12, are actively playing Minecraft. More than half of those play more than once per week.
Number of Fortnite users (source): 78.3M
Again, more than in U.S., and not limited to school children.
The best estimate I could find is that 61% of U.S. teens play Fortnite (source), so perhaps 9.3M.
Bottomline: There is no computing education tool that comes anywhere close to the number of children who play Minecraft or Fortnite.
Learners of Computing vs. Other Learners of STEM
One way of getting a sense of access to computing vs. other subjects in the U.S. is to look at access to Advanced Placement, which is a program for accessing advanced subjects (for college credit or placement) in high school. It’s generally considered elitist: not every student gets access to it (though there is some argument that it’s no longer elitist.) But if we’re going to compare between subjects, it’s elitist to all subjects equally.
Number of students who took AP Calculus AB (2018, Source): 308,537
Number of students who took AP Calculus BC (2018, Source): 139,376
Compared to the 15.3M high schools students in the US, this is about 2%. It’s an upper bound on number of students that one might get in an AP STEM class.
Number of students who took AP Physics 1 (2018, Source): 170,653
Number of students who took AP Physics 2 (2018, Source): 24,985
Number of students who took AP Computer Science A (2018, Source): 65,133
Number of students who took AP Computer Science Principles (2018, Source): 72,187
So, combined, AP exams in computer science have about 137,320 exam takers, which is about 70% of AP Physics. That’s about 40% of AP Calculus, or about 40% of 2% of all US high school students.
The Bottom Line: Computing education is not even close to the mainstream of STEM.
Conclusion: We should try everything: In general, we have not yet created popular computing education. We reach very few students. To respond to Ken, we only have reached a small fraction of students with all our tools combined. We should be programming extensions to games and general-purpose programming languages and everything else we can think of that might help kids to gain access to computing education. There’s so little reaching students now that it doesn’t make sense to build only on what’s been most successful in the past. All past successes may be local maxima. We may have to try something radically different to reach many students.