acm-header
Sign In

Communications of the ACM

BLOG@CACM

Sizing the U.S. Student Cohort for Computer Science


Mark Guzdial

http://bit.ly/2sxWlBq, November 3, 2019

Alan Kay, Cathie Norris, Elliot Soloway, and I had an article in the September 2019 issue of Communications called "Computational Thinking Should Just Be Good Thinking" (access the article at http://bit.ly/2P7RYEV). 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 science, technology, engineering and mathematics (STEM) subjects?

Here is what I found. I decided to be U.S.-centric, so that I could compare to known overall populations.

Back to Top

Overall Populations

Number of people in the U.S. (World Population Review, http://bit.ly/2Pg79Mu): 329 million.

Number of school children in the U.S. (National Center for Educational Statistics, http://bit.ly/2OKFhAK): 56.6 million

  • About 50.8 million in public schools, about 5.8 million in private schools. Only about 1.5 million children are homeschooled.
  • 35.5 million are in pre-K to grade 8, 15.3 million in high school.

Back to Top

Learners of Computing vs. Users of Computing Tools

Number of Scratch users in U.S. (Scratch community statistics at a glance, http://bit.ly/37YWrCl): 19.2 million.

We don't know ages (and we know that we can't trust the age data in Scratch; see "Youth Computational Participation in the Wild: Understanding Experience and Equity in Participating and Programming in the Online Scratch Community," http://bit.ly/2ONsq0E). Roughly one-third of all U.S. school-children have tried Scratch. While Logo, Snap!, Squeak, and other tools are popular, they are nowhere near as popular as Scratch. Scratch is likely our best possible scenario.

Number of Code.org students in U.S. (2018, Computing Education Research Blog, http://bit.ly/2DJiz5W): 1.2 million.

Number of Minecraft users (from "'Minecraft' has been quietly dominating for over 10 years, and now has 112 million players every month," Business Insider, September 14, 2019, http://bit.ly/2OISLNv): 112 million.

Obviously, that's more than the U.S., and not just school age, since that's even school children or a third of everyone in the U.S. I was unable to find a number just in the U.S.

I found this estimate for the number of children playing Minecraft (in "Minecraft teaches kids about tech, but there's a gender imbalance at play," The Conversation, January 16, 2018, http://bit.ly/2OISLNv):

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 (from Fall Skirmish Fortnite Series, Fall Skirmish Details, September 20, 2018): 78.3 million.

Again, more than in the U.S., and not limited to school children.

The best estimate I could find is that 61% of U.S. teens play Fortnite (from "Exclusive: 'Fortnite' survey shows kids are playing in class. So what can parents do?" USA Today, December 6, 2018, http://bit.ly/363N02V), so perhaps 9.3 million.

Bottom line: There is no computing education tool that comes anywhere close to the number of children who play Minecraft or Fortnite.

Back to Top

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 is 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, http://bit.ly/2sHB1cU): 308,537

Number of students who took AP Calculus BC (2018, http://bit.ly/2sHB1cU): 139,376 Total: 347,913

Compared to the 15.3-million high schools students in the U.S., this is about 2%. It's an upper bound on the number of students that one might get in an AP STEM class.

Number of students who took AP Physics 1 (2018, http://bit.ly/2LhaXMg): 170,653

Number of students who took AP Physics 2 (2018, http://bit.ly/2LgcvpC): 24,985

Total: 195,638

Number of students who took AP Computer Science A (2018, http://bit.ly/360EMbS): 65,133

Number of students who took AP Computer Science Principles (2018, http://bit.ly/2ONsq0E): 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 U.S. 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.

* Comments

Interesting numbers. It would be great to get a worldwide census. I think the numbers are better in the U.K. for 5-to-16-year-olds, and not as good for 16 to-18-year-olds. I've heard about countries with much better numbers (Costa Rica, Lithuania, ??).

Twelve years ago, I wrote "Should Logo Keep Going Forward 1?" (http://bit.ly/2Lz2gx1) for EuroLogo 2007. I tried to argue against incremental progress; instead, we should move towards "something radically different" as you suggest. I came up with a list of 12 ideas that looking at it now should be a much longer list. One thing I would add today is artificial intelligence playing multiple roles including being a guide/coach and providing new kinds of computational building blocks for students to use in their projects.

One topic that Seymour Papert brought up when I spoke to him about this just before his accident is, whose aesthetics should count: mathematicians or engineers? A mathematically aesthetic design would be based upon a very small set of very expressive building blocks. Nearly everything we build for children has been engineered to have a large number of nice features, instead of a beautiful kernel.

    Ken Kahn
    November 4, 2019

Back to Top

Author

Mark Guzdial is a professor in the Computer Science & Engineering Division of the University of Michigan, USA.


©2020 ACM  0001-0782/20/2

Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and full citation on the first page. Copyright for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or fee. Request permission to publish from [email protected] or fax (212) 869-0481.

The Digital Library is published by the Association for Computing Machinery. Copyright © 2020 ACM, Inc.


Comments


Leonel Morgado

I find this provocative and agree that we should try all these avenues. And yet, we should consider how to make them effective. Of all those Minecraft and Fortnite users, the vast majority will not be programming at all. Most minecrafters I've witnessed never even employ redstone, which could be deemed explicit computational thinking. As for Fortnite, there is perhaps a wealth of computational thinking and critical thinking situations waiting to be tapped, such as anticipating opponents' behavior in response to cues (and setting those cues), devising and employing construction tactics (not just "build faster and higher") and more. Advanced players do this, but to what extent they reflect upon it and to what extent non-advanced players do so is unknown.
We know that advanced players in any game are a small minority, and I wonder if Ken's original "excite a small fraction" remark wasn't considering a more social context: what excites educators, community organizers, evangelists, etc. that care about computational thinking and critical thinking. All of these platforms, certainly, but we need to consider the contextual support (i.e., examples, plans, features, approaches, freedom to use and repurpose). The context which leads these enthusiasts and connectors to pick these platforms and use them to reach a wider audience.


Alexander Repenning

Reaching more students, of course, is a great goal. But popular games seem not to be heading in the direction of making future games more relevant to computing education. Microsofts sequel to Minecraft, Minecraft: Dungeons, for instance is less, yes *LESS*, about building, less about programming (Redstone) and ultimately less about creativity. Seymour Papert used the term hard fun to describe creative activities, such as constructing, programming and writing, that are engaging precisely because they are difficult. Meanwhile, mainstream games, with or without programming, including Minecraft, are heading the other way.

I was confused too when, 25 years ago with AgentSheets, I created the first modern blocks-based programming language for kids. I assumed that accessibility was the sole key to enable a much larger audience in participating in programming. This tool centric view did not completely work out. On the one hand, we did get many kids around the world to create their own games and publish them on the web. On the other hand, these numbers were small compared to the number of kids playing Minecraft. The idea of getting more people into programming because of blocks-based programming, i.e., removing syntactic challenges of programming, is roughly equivalent to think that spell checking in Word will dramatically increase the number of people writing books. It does not. Challenges of programming language are similar to the challenges of natural languages. It takes much more than just colorful puzzle pieces to effectively aid the complete computational thinking process. I started to use the term Computational Thinking Tool as idea how to support not only syntax, but also the semantics and pragmatics of programming. AgentCubes does this and does reach millions of users. However, while appropriate tools can provide affordances to further increase accessibility to Computational Thinking (CT), the tool centric view alone will not help the computer science education community to cross the chasm to reach a technology apathetic group of people including students, teachers and parents.

Reaching the general population with CT is not a question of technology, i.e., the right tool, but of educational policy. CT education has to become mandatory just like Math education. But we have to be very careful not to make similar mistakes with mandatory CT education as we did a long time ago with mandatory Math education. There is a perpetual cycle of Math anxiety that could easily blow up into a perpetual cycle of Math AND Computing anxiety. It has been well documented that teachers who do not like Math are very effective at passing their attitudes on to students. These students, in turn, become the next generation of teachers. The perpetual cycle continues. Here are some numbers from our pre-service teacher education at PH FHNW. Less than 0.2% of these pre-service teachers have programmed before. That is more than 10 times less than the average person in the Swiss workforce. In fact, 2.7% of the workforce have not just written a casual hello world -like program but are professional software developers. This just goes to show that people are not planning to become teachers because of programming but in spite of it. In less than 3 years we have already trained over 1200 teachers. They have to take two courses: Learn CT, and Teach CT. This is our chance to persuade them that CT is not hard and boring. Most pre-service teachers would not have signed up to an elective CT course. However, using Scalable Game Design as strategy and AgentCubes online as Computational Thinking Tool we can teach them how to program simple 2D/3D games and how to teach CT. Of course, not everybody buys into the idea of hard fun but practically all of them do learn CT andjust by looking at their gamesseem to be having quite a bit of fun. Excited teachers enabled to teach CT are the key to reach students.

Sample AgentCubes online games produced by teachers: https://bit.ly/2Ow86k1
Paper on why blocks-based programming is not sufficient: https://bit.ly/37WmVUG

Alexander Repenning
School of Ed, PH FHNW Switzerland, and University of Colorado at Boulder


Ken Kahn

Perhaps Leonel's discussion of social context is critical. And Alex's efforts with teacher training is part of the way to change the social context to be more friendly and excited about computing.

i'm reminded of learning how different a social context for mathematics exists in Bulgaria (or at least did 15 years ago when I learned of this). Children were excited about mathematics - they admired famous mathematicians much as children world-wide admire sports figures.

I've often wondered if the earlier that children are exposed to the "beauty and joy of computing" (bjc.berkeley.edu) the more likely we are to obtain a society where computing is for all. Leonel's thesis work with preschool children was a good demonstration of what is possible. Imagine the consequences if that was done on a large scale.


Displaying all 3 comments