NPR: A Push To Boost Computer Science Learning, Even At An Early Age (with listener pushback)

February 18, 2014 at 1:21 pm 27 comments

Nice coverage in NPR, including Barb’s AP CS data, with interviews with Hadi Partovi and Chris Stephenson.

What’s most striking about this piece are the comments.  These are NPR listeners, and by and large, they are a reasonable group.  But by and large, they are against  teaching computer science in elementary school.  Their arguments are interesting. Many are of the form “In my day…”  Others are pushing back against the idea of teaching kids in elementary school something that is supposed to be a job skill.  Still others are making an argument that I made this month in CACM: If the goal is more CS graduates, and there’s nothing in high school or middle school, what’s the point of making a significant effort to get computer science into elementary school?

Part of the problem here is the kind of argument that we’re making for CS in schools, including this NPR piece.  I believe that the strongest argument is that most professions need computing, so it makes sense to build up that literacy.  But it’s a hard argument to sell, and we keep falling back on the “CS jobs are going unfilled” argument.

A handful of nonprofit and for-profit groups are working to address what they see as a national education crisis: Too few of America’s K-12 public schools actually teach computer science basics and fewer still offer it for credit.

It’s projected that in the next decade there will be about 1 million more U.S. jobs in the tech sector than computer science graduates to fill them. And it’s estimated that only about 10 percent of K-12 schools teach computer science.

So some in the education technology sector, an industry worth some $8 billion a year and growing, are stepping in.

At a Silicon Valley hotel recently, venture capitalists and interested parties heard funding pitches and watched demonstrations from 13 ed-tech start-ups backed by an incubator called Imagine K-12. One of them is Kodable, which aims to teach kids five years and younger the fundamentals of programming through a game where you guide a Pac-Man-esque fuzz ball.

via A Push To Boost Computer Science Learning, Even At An Early Age : All Tech Considered : NPR.

Entry filed under: Uncategorized. Tags: , , .

Hello Ruby by Linda Liukas: A hardcover book to introduce CS to kids College Board program to provide funding to districts to start AP courses

27 Comments Add your own

  • 1. astrachano  |  February 18, 2014 at 1:40 pm

    Let’s see how many people we can turn away: programming is a foreign language, check. Programming is a job you should prepare for in second grade, check. Programming helps other professions, check. You can replace programming with computing, doesn’t change the sentiment that I can see. This is about education, not about job skills. Education is about how you can be an effective citizen, a person, a mother, a father, hold a job, be in love, change the world, survive the frightening teen years. Should computer science be part of this? YES! Because it’s an integral part of the world we live in. Just like math is, just like science is, just like foreign language is. It’s not any one of those. It’s important by itself.

  • 2. alanone1  |  February 18, 2014 at 1:45 pm

    It’s not about coding!

    The last few years of this egregious misunderstanding has made me happy (so far) that things are not going well for this movement as it stands today. (I have similar shuddering feelings about what might happen if music and art were suddenly seized on as “critical for our children’s future”, and made an official high priority in our school system.)

    Of course, music and art *are* important for our children’s future, but I don’t think schools and most parents are really up to this at this point.

    Bret Victor has been systematically delving into past good ideas in our field, and his observations and comments are germane and important.

    Here’s one about the current topic.!/MeanwhileAtCodeOrg

    He looks at Seymour Papert’s 2000 paper “Towards a pedagogy of idea power”, which stresses the misunderstandings of so many that “learning to program will confer enlightenment”. And points out that it is the ideas — and the epistemological frameworks for the ideas — that are important.

    One of Bret’s comments is: “Papert’s goal was to give children a path to powerful mathematical ideas, and he saw programming as a better carrier of the ideas than pencil and paper.”

    The current push is not just vocational rather than educational, it is quite empty-headed and greatly mistakes form for content.

    What is claimed for “important ideas” as “computational thinking” is missing the meanings of both “important” and “ideas”. It quite misses what *is* important and deep about computing — just as “school math” quite misses what is important and deep about Mathematics.

    • 3. Mark Guzdial  |  February 18, 2014 at 3:29 pm

      Let me offer a counter-argument, to both your position and Owen’s, Alan. Sure, computer programming can be “a path to powerful mathematical ideas” and it can be “a better carrier of the ideas than pencil and paper.” But it won’t be for most. It takes an enormously long time to learn enough programming such that one can transfer the ideas and use them to think about mathematics, science, engineering, and other disciplines. It’s not just the problem of transfer of knowledge. It’s that programming is so hard and full of so many arcane details. It’s just too hard to get to the ideas because of the awful notation. Some people can use programming for a tool for thinking, but only those who can afford the time to learn programming well enough to get past the notation in order to get to the ideas.

      Absolutely, Owen, computer science is part of our world. So is biology, physics, chemistry, electrical engineering and classical mechanics, and art and music. Mike Byrne has argued here before that he’d FAR rather students learn probability and statistics than computer science. The reality is that we have to make economic choices. There are only so many hours in a day. We can only hire so many teachers with different kinds of expertise. How do we decide WHICH parts of the world to teach students about? We DO have to argue that computer science is USEFUL. Tough economic choices have to be made, and we have to show that CS has its value. To simply say that we should learn it for its own sake is naive.

      Both of you are arguing that computer science can be useful for ideas and for its own sake, and arguing against a vocational or utilitarian argument for computer science. Alan, you cited Bret Victor’s MeanwhileAtCodeOrg, which I agree is great. In the “blurt” next door to that, Bret critiques teachers who know things but don’t also do things with what they know.

      Can you trust a teacher who doesn’t use what he teaches? Who has never used what he teaches?

      Can you trust a teacher whose only connection to a subject is teaching it?

      Computer science is worth knowing for its own sake, or it’s worth knowing because we can use it and the teachers should have expertise at using it. I don’t see how you can have it both ways. It seems to me to be an argument in favor of computer science that it’s useful.

      • 4. astrachano  |  February 18, 2014 at 7:47 pm

        Mark — I absolutely agree about useful/utility here. And you can *create* things. Combine math with shop? Make stuff? Yes! It’s not about the beauty of an algorithm or code, beauty is in the eye of the beholder. I understand this is a complex problem, reducing it to one “this is why” is tough to do.

      • 5. alanone1  |  February 19, 2014 at 12:15 pm

        This is a soft area, so I think in terms of *beliefs* formed by 45 years of trying things, rather than in *hard facts* and *theories* that are easy to prove.

        So these are not entrenched positions — and our research has been lucky enough to fund our own education experiments over the years with no pressure to publish or “to be successful”. This has allowed us to try things that are rather different than the standard fare in the journals. And make many more mistakes, etc.
        When things are soft, you have to be tough.
        1. For example, we found that it was very difficult to get really good experiments (if you have high standards) in just one trial. There are so many flaws in every part of introducing new curricula: especially that involve computers and other ideas teachers may not be fluent in, with buggy systems, not well organized sequences, etc. We found that we needed to do a whole trial each year for 3 years to get a good experiment. This represents our conclusions about the over all learning curves actually required for such experiments.
        One result of this is that I seriously doubt most findings from single trials, whether they report success or failure.
        2. We also took the approach of designing and building programming languages as suited for children as we possibly could. After many failures over decades we were able to home in on language schemes and development environments and curricula that are readily learnable by the children.
        A result is that the children most certainly do *not* find “programming is so hard and full of so many arcane details”. This is most certainly an artifact of bad language choice and bad language design. It is similar to the principle that Seymour pointed out about learning Mathematics: invent a real mathematics that children can do real mathematical things in — don’t waste time trying to force poorly though out or adult forms on them just because they exist.

        3. Don’t make the language different from the topics of interest, and then try to force the topics into the language. Design the language so it is both harmonious with children *and* is efficient with respect to what you want to say in it.

        As Seymour points out, there are “power” relationships as well as “art” relationships from doing things that are prime motivators.

        4. Don’t leave out stuff that is critical to establish “the real deal”. An enormous number of programming schemes aimed at children make this error. (Between the errors from trying to get children to learn CS languages or to learn too extreme a subset — there is no wonder that most people find this difficult to carry out.)

        Bottom line is that I *believe* that there has generally been too much tokenism (and this is rampant today) and too little serious attention to do (and paying for) all the things that need to be done here.

        Another way of looking at this is to not worry about failures (but do try to understand where the failures come from) — instead take a much closer look at the successes and try to understand why they are so different from the norm. (This is a larger problem than in education research — it is endemic to many walks of life — e.g. companies worry about failed research rather than studying the few places and processes that consistently had success.)

        • 6. Mark Guzdial  |  February 19, 2014 at 4:37 pm

          Thanks for the articulate explanation of the beliefs that you’ve gained from your work, Alan! I’m re-reading it and getting more out of it.

          I wanted to ask you about a particular statement:

          A result is that the children most certainly do *not* find “programming is so hard and full of so many arcane details”.

          I believe that’s true for eToys and for Scratch. But I wonder if we can call them “programming” in the sense that they have not influenced the culture and practice of programming.

          Imagine that Disney World invents a new form of their ride “Test Track” where the individual gets to drive the car as hard and fast as they want. But they can’t run off the road (the steering went let them), and if they drive full throttle toward a wall, the car decelerates and stops before it hits the wall. Now, no one would say that that was “driving,” and if someone tried to do those things in the world outside of “Self-Test Track,” they would die.

          If we develop new languages that make things better, but those better things don’t get adopted widely, have we changed programming? And if we don’t change the practice and culture of programming, then the negative statement I made about programming is still true, even if there exist other instances.

          I’ve been wondering why teachers adopt the programming languages that they do. We have a lot of evidence that Python and Scheme (to pick two) are easier for students to learn and lack (some of the) arcane detail of (to pick two others) C++ and Java. Yet C++ and Java are in far more classes than Python and Scheme. Why? And there are certainly more usable, more learnable languages than Python and Scheme, like Smalltalk and Logo. Teachers pick languages because of their culture, not because of the syntax and semantics of the language. Teachers pick C++ because they want to connect to the culture (and industry and practice) of C++. Teachers pick Java to connect to the AP CS and all the myriad textbooks and resources of Java. They won’t pick a language that doesn’t have an evident culture.

          Programming is as much about culture (who uses the language and for what) as language features. Creating a language (defining syntax and semantics in an implementation) doesn’t create a culture. So creating a language doesn’t change what is programming in terms of daily actual experience.

          • 7. Mark Guzdial  |  February 20, 2014 at 4:21 am

            I realized my mistake in misinterpreting your comment, Alan. You said children, and I believe that that’s true. For the most part, we don’t saddle children with languages such that “programming is so hard and full of so many arcane details”. I was thinking about the high school, and more significantly, the undergraduate levels. There, we do saddle students with too many arcane details that detract from engagement with the real domain. There, teachers do choose languages for culture, and not for language characteristics.

            • 8. alanone1  |  February 20, 2014 at 8:33 am

              Reply to (7.) from Mark who says “I realized my mistake in misinterpreting your comment, Alan. You said children, and I believe that that’s true. ….”

              Mark, now look at another part of your reply where you say “But I wonder if we can call them “programming” in the sense that they have not influenced the culture and practice of programming”, and later: “If we develop new languages that make things better, but those better things don’t get adopted widely, have we changed programming?”

              I would say to the first quote: “of course we can call them “programming”! Smalltalk eventually “influenced the culture and practice of …”, but we built personal computing in it without waiting for the rest of the field to approve (and many parts they haven’t understood to this day).

              It’s true that a very large percentage of the human race can only make judgements based on what others think, but this is no reason to take these seriously when inventing and improving, We can’t blame Gutenberg and Erasmus because it took Europe 150 years to really get what the printing press was about.

              To the second quote, I’d point out that the fastest way to change programming is to teach better versions of it in K-8 before bogus ideas about vocationalism truly corrupt any real attempts at education. This would produce a lot of high schoolers who would turn up their nose at the utter crap that is being tossed at high schoolers today. (Again: part of education is attaining enough perspective to make reasonable judgements (and to know when one doesn’t have enough perspective to judge).)

              You seem to be defending a culture that has lost its way. It would be better to try to help the culture see that it has lost its sight and vision to be able to see.

              I have no quarrel at all at trade schools teaching what is going on in business, but let’s try to educate our country’s children first!

              • 9. Mark Guzdial  |  February 20, 2014 at 7:10 pm

                It’s not my intention to defend the culture of higher-education CS education. Rather, I feel a sense of frustration and resignation. I’ve lost most of my education battles here and don’t really know how to try to help the culture to find a new vision.

                • 10. alanone1  |  February 20, 2014 at 10:07 pm

                  Hi Mark

                  In talks, etc., I often look at how “intensely human” traits, such as seeking external rewards for behaviors and evaluating new tools and ideas primarily as to whether they advance current goals combine (or conspire) to form large percentages of our population (~80% by some estimates) who make decisions mostly on whether most of the people around them seem to think similarly.

                  I.e. there is little thinking about actual value, etc., but what seems to be “in the air” seems significant to them.

                  This group generally will not do something just because it is a good idea. Their reasons are very different. Not just social reasons, but they are also very conscious of the immediate costs of making changes, and relatively impervious to what the poorer but more comfortable paths they are taking are costing them and future generations.

                  And it takes this large group decades to shift, sometimes much longer than that.

                  So this is not good. And it is especially frustrating for people who are actually trying to make things better by actually trying to figure out what is needed.

                  John Lennon said that “Life is what happens while you are making plans”, and there is something to that, but to me at least, trying to compromise with processes that are basically unthinking is pretty much never going to result in improvement of our educational system.

                  When people say “I know X is a compromise, but it’s a start” they misunderstand the system, which is an engulfer, not a learner.

                  This is why so many educational reforms have started bravely and petered out over the last many years.

                  People love change except for the change part.

                  They deal with their psychological problems with the latter by forms of tokenism (like putting computers into schools, but only using them for old media; not dealing with the real lacks of knowledge on the part of the teachers, but thinking they can give them “refresher courses” on stuff that takes years to learn, etc.)

                  Much of the white water today about “code” is of this nature. It completely misses what things are about, and what really needs to be done.

                  I think what can be helpful is to try to come up with the best possible and vetted examples of how children can be helped to learn, and to get these in the environment. The more places something appears, the more normal it will seem to be. (This has been working against us via the pop culture using TV and Web, but the psychology of it is to treat what is commonplace in the environment as “normal” and to accommodate to it.)

                  This is not likely to be enough, but it at least is a motivation for trying to do the best always, and to put it out there. When my wife worries about how frustrating this is I get her to look at where things were 500 years ago rather than 50.

                  So change does actually happen. But this might not be enough. H. G. Wells said “Humanity is in a race between catastrophe and education”. It’s possible that what is all too normal about human beings will wind up doing us in.

                  • 11. Mark Guzdial  |  February 23, 2014 at 6:53 pm

                    Hi Alan,

                    There’s a limit to this strategy. You can’t get things into the classroom without adults vetting. When we did MediaText with Elliot Soloway many years ago, we realized that the students could have handled much more complex and radical notions of multimedia composition — but the teachers couldn’t. This simplified form was one that teachers understood, and thus, MediaText got pretty reasonable adoption at the time.

                    Seymour Papert wrote about similar issues when he talked about school reform being impossible. But I’d go further — all of children’s lives are vetted and protected by adults. The really radical ideas, that children might get but the adult caretakers might not, are unlikely to make it into the children’s daily lives.

                    In the end, we have to convince the adults, too. So maybe the white water about “code” today helps to make more radical change possible. It’s hard to get “coding” into the classroom at all, if the adults aren’t at least sensitized to valuing “coding.”

                    • 12. alanone1  |  February 23, 2014 at 8:33 pm

                      To Mark (11. “There’s a limit to this strategy …”)

                      I didn’t say “get things into the classroom”, I said “Get things into the *environment* …” so that “normal” gradually seems different to those who can only decide by comparing with “normal”.

                      (This is very similar to the position Seymour came to in his little essay about “you can’t reform” when he decided that a more gradual “evolutionary” process would work better.)

                      Another way to think of the actual “triumph of School” was that it — along with its pop culture friend TV (and now pop media on the Internet) — has done in the idea of schooling as preparation for self-learning by replacing it with the idea that the students must be dependent on official processes via never teaching them to learn for themselves.

                      McLuhan provided a nice commentary on this when he noted that in the 1300s people went to university to sit in a room and copy what a person in the front of the room was saying from a book. When they had 20 books of their own they were given a degree. Then the printing press revolutionized Europe (and America) by providing means for individual learning via widely varying points of view. But he said, what do you find when you go into a school in the Northern Hemisphere in the 20th century? A room full of students copying down what a person in the front of the room is saying from a book!

                      What he meant was that teachers and “school” etc. were hugely threatened by books, and their solution was “the one book”, the one they chose to teach from. This neatly put them back in power, and also nullified the threat of “many ideas” in the culture.

                      In any case, I think the main point here should be that “having a reason why things fail, is almost always not a good enough reason to go along with the failing process”.

                      For the psychological reasons I mentioned, most people cannot just do things because they are good ideas, and instead require a gradual change of normal to the point that a change is seen as minor. We have seen this play out in many areas, including racial rights, women’s rights, handicapped rights, gay rights, and I hope in eventually doing away with capital punishment. In all of these areas, the changes that gradually happened could have happened instantly if people could think things through.

                      What’s interesting is that the successes I just mentioned all wound up putting together strong lobbies and large movements that gradually changed “what normal seemed to be”.

                      Could it be that not enough people actually care about education and “children’s rights” to pull these far more important changes off?

                    • 13. Mark Guzdial  |  February 24, 2014 at 9:23 am

                      Hi Alan,

                      Your strategy is to have more sophisticated ideas about mathematics and computation to be in the students’ environment, outside of school, so that those ideas become normal and expected. You anticipate resistance from teachers and other parts of the education establishment, so the plan is to go directly to the children, around the adults who might not be willing/able to change. Do I have that right?

                      I’m intrigued! I’m wondering how to get engage students intellectually outside of school contexts and outside of adult control/vetting. Social media? Games? Have you thought about what channels might be used to provide students with these experiences and media?

                    • 14. alanone1  |  February 24, 2014 at 10:09 am

                      Hi Mark

                      I mean not just for the kids in the “environment” but in the larger world of what adults think are topics.

                      Part of the early ideas in the 60s and 70s for making things different was to use personal computers and the Internet as the same kind of subversive media that the printing press presented to Europe in the 15th and 16th centuries.

                      It took the Church about 100 years to realize some of the potential here and they eventually decided to start banning books (Copernicus was the first author to be banned, and this was not until 1543). But it was way too late.

                      Neil Postman pointed out 30 years ago that now he didn’t worry so much about censorship as he did about there soon coming a time where it didn’t matter: because no one was reading about ideas any more. The subtitle of that book was “Serious discourse in the age of show business”.

                      Today the title of that book would probably be “Distracting Ourselves To Death”. This is even more serious — I think — because another way to do in thought is to up the pervasive noise level to a point where thought is not possible,

                      The web did become “an ocean of spit one inch deep” that some early observers predicted, and we now have much more than the web quite colonized by the pop culture and commercial interests. The first provides the general mindlessness that the second loves to prey on.

                      The idea of the Internet as an alternative to formal flawed approaches to education has backfired in an ominous way. It’s still there to be an inexpensive source of powerful ideas and how to learn them, but there is so little contextualization and sorting by other than popularity, that the original aims have a hard time competing.

                      Now we really have to rely on the existing formal systems to try to teach enough so that users can tell the difference (this is not working).

                      As my wife once pointed out to Al Gore “The real haves and have nots are those who have or have not the *discernment* to make use of the incredible resources found in free physical libraries and free electronic media on the Internet”

                      Things are much worse now than when she had that conversation with Al Gore.

          • 15. gasstationwithoutpumps  |  February 23, 2014 at 3:06 pm

            While choice of programming language is indeed driven more by culture than by inherent value of the programming language, both in pedagogical and industrial contexts, I think that your “test track” analogy is badly flawed.

            Scratch and eToys certainly allow students to make serious mistakes. Indeed Scratch allows students to be bitten by race-conditions in parallel programs that most CS1 courses don’t even touch on. Scratch programs can fail in dramatic ways, just like programs in other languages (though Scratch appears to be sandboxed well enough that it doesn’t require you to reboot the computer when a program fails).

            About all that Scratch eliminates are trivial punctuation errors. A better analogy in driving would be that Scratch includes an electric starter for the engine, rather than having to hand crank the engine to start it. (Or if that analogy is too old for you, having automatic transmission rather than manual shifting.)

            • 16. Mark Guzdial  |  February 23, 2014 at 3:26 pm

              I guess it depends on what we’re comparing to. Scratch vs. Logo — you’re probably right. Scratch vs. C or Java — Scratch disallows huge classes of errors (pointer errors in C; type problems or array indexing errors in Java).

              • 17. gasstationwithoutpumps  |  February 23, 2014 at 3:47 pm

                Scratch can run into array indexing errors.

                That scratch does type checking in the editor, rather than later in the compiler, should be seen as an improvement by people who believe in strong static type checking.

  • 18. zamanskym  |  February 18, 2014 at 3:20 pm

    I haven’t looked at the NPR piece but it reminds me of a conversation I had with my supervisor in the mid 90’s as I was just trying to start building my CS program. He had spoken to Marvin Minsky at some point a few years earlier and he asked him what the high schools should do in terms of CS Ed. Minsky’s reply was – nothing – don’t touch them.

    I wonder if that was because Minsky feared that the high school’s would screw them up.

    If so, it’s not such a crazy concern. I see what they’re rolling out in NYC – rather than engaging educators with actual success and experience, they’re fumbling around — so far, I’m not impressed with the results and I don’t have much hope.

    I’ve also seen this with some after school / summer programs where the kids later end up in my class and I have to undo the damage.

    That said, I’m obviously a proponent of more CS Ed and will continue to fight the good fight.

    I think one also has to ask how early does CS exposure make sense. I’m not an expert on primary ed and only have some exposure to middle school but even with my own kids, when I tried to approach a subject too early, it didn’t take, they weren’t ready for it and later on, when they were older, it was easy and enjoyable.

    I’ve also seen the dark side – particularly with athletics — a kid is pushed too hard too early only to be turned off. I’ve seen it happen time and time again.

    Going further with the sports side of thing — I started fencing in high school. We used to go go competitions, there were always those kids that started when they were 5. Oh no – how would we ever compete. Truth is, we caught up pretty quickly. The kids that started really early? They weren’t really ready mentally or physically for the sport.

    So, the question is – how early is too early? When should we try to teach deep concepts and when just show fun stuff?

    I don’t know the answers, but I do know that

  • 19. Dennis J. Frailey  |  February 18, 2014 at 5:01 pm

    I left a comment on the NP)R site and will give a shorthand version here. As I see it, the main benefit of teaching then programming skills is to get them to think logically and understand how easily a small mistake can result in the wrong result. This can, of course, be taught in many ways but doing so with a computer is more likely to be seen as fun by the children, and thus they will be more likely to actually learn it. The logical thinking that they learn will help them a lot in later life, and they may also have an inkling of what goes on inside a computer.

  • […] occasionally from those in the tech industry.  The second comes from primarily CS Educators.  Mark Guzdial has a good assessment of the various arguments, and the comments are good as […]

  • 25. Michael S. Kirkpatrick  |  February 19, 2014 at 2:44 pm

    Perhaps part of the problem is language: We refer to “CS jobs” (which are often conflated with IT jobs), but when is the last time that you heard people talking about “math jobs,” “English jobs,” or “history jobs.” If we truly want to make the argument that computing is a universal and fundamental knowledge area (as opposed to the derogatory label of *just* a skill set), then we need to ban that term “CS jobs.” It immediately conjures images of nerdy white males sitting alone in a cubicle.

    And speaking of NPR reporting on STEM education, there’s a new study out on the importance of social context in attracting females toward physics courses ( We can somewhat extrapolate similar ideas here, as we need to address the social context that CS skills can lead to a variety of careers, many of which do not fall under the traditional moniker of “CS jobs.”

  • […] has just released a report arguing for the need for computer science in K-12 schools.  They are very strongly making the jobs argument.  The appendix to the report details state-by-state what jobs are available in computing, the […]


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Trackback this post  |  Subscribe to the comments via RSS Feed

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 9,052 other followers


Recent Posts

Blog Stats

  • 2,030,408 hits
February 2014

CS Teaching Tips

%d bloggers like this: