Coding For All… Bots

Lego Robot

Although we’ve been teaching kids to write programs for computers since the first day we brought them into the classroom, it’s only been relatively recently that we heard the call from educators, politicians, and pundits to have coding for all!

Maybe we should even have every kid train to become an app developer, because that’s where the money was going. Or something like that.

Continue reading

Coding For All is a Distraction

Screen Shot 2020 06 09 at 4 02 50 PM

Remember when we were told that every student needed to learn coding? That programming skills would be essential for them to get good jobs in the future? And leaders told us that all those newly trained coders would be a big boost for the overall economy?

Except that, as an article in Wired explains, the ability to code is fast becoming unnecessary for entrepreneurs to build applications. New tools mean “you don’t need to know any programming to launch a company.”

Continue reading

Conversational Code

You won’t find Swift anywhere on that map.

Speaking of computer science for all (as in a post from last week), Apple CEO Tim Cook was visiting a college in the UK to promote the company’s Everyone Can Code curriculum. The UK Guardian was one of the news organizations that covered Cook’s stop, as they might for a visiting rock star.

Although the headline (“Apple’s Tim Cook: ‘I don’t want my nephew on a social network’”) hints that the article will focus on the newly-discovered issue of tech overuse, most of it is a largely flattering profile of Cook. Plus some information about the financial and tax problems Apple is facing in both Europe and the US.

But buried in the small section about whether everyone should learning programming, we find this idea from Cook.

I think if you had to make a choice, it’s more important to learn coding than a foreign language. I know people who disagree with me on that. But coding is a global language; it’s the way you can converse with 7 billion people.

I’m one who would disagree.

Coding is largely a global standard, but it is not a language for communications. Learning to code does not help students understand the world outside their borders and offers no insight into another culture. It is not more important than learning a conversational language that is not their own.

If a school was, for some reason, forced to make a choice between the two, their students would be far better off in a Spanish or Chinese language course than they would be learning to code.

CS Is Not The Solution

Despite being “someone who’s been making software and Internet technologies for 20 years”, tech pioneer Anil Dash is “skeptical about ‘teach the kids to code!’ as a panacea for all of society’s ills”. Me too, and he does a great job of making the point.

To start with the obvious elephant in the room, many of the people advocating for these programs aren’t particularly knowledgeable about technology, or the economics of today’s tech startups, in the first place. (Most people making policy haven’t yet realized that there is no “technology industry”.) And most of the technologists advocating for these programs aren’t particularly literate in how today’s educational systems work, or what constraints they face.

Most of those policy makers also don’t have a clear idea of what students need to learn and be able to do before they move into the real world. Their concept of “school” is usually firmly rooted in the 1950’s, with their favorite “solution” – charter schools, STEM, standardized testing, coding, and more – grafted onto the standard framework.

Anyway, in the case of coding for all, advocates often make an economic claim, one that says American companies will be desperate for new workers to write software, with the numbers often in the hundreds of thousands. But even if all those vacancies come to pass, Dash says turning schools over to code training is not in the best interest of society.

If the effort to educate many more programmers succeeds, simple math tells us that a massive increase in the number of people qualified to work on technology would only drive down today’s high wages and outrageously generous benefits. (Say goodbye to the free massages!)

And at a more philosophical level, a proper public education, paid for by taxpayers, shouldn’t be oriented toward simply providing workers for a group of some of the wealthiest, most powerful companies to have ever existed.

However, Dash does believe that every students does need a basic understanding of technology literacy and computer science, saying that these concept, woven throughout the curriculum could be “a powerful way to empower the most marginalized, most needy people in society”.

Rather than turning every school into coding academies, he wants us to commit to some broad principles about how we teach computer science, including teaching computational thinking which includes an understanding of how “human concerns are translated into problems that computers can help solve”.

As we commit to broadly teaching technology, we must do a better job of addressing all of the personal, social, cultural, and civic concerns that arise with technology’s transformation of our society. Teaching CS as simply a way of filling a pipeline of employees for giant high-tech companies is not enough. Indeed, if that’s all we succeed in doing, we’ll have failed. But if we can show a whole generation of young people that technology and computer science can be one of the tools they use to pursue their passions, and amplify their impact on the world, we’ll have made a worthy addition to the canon of material that students use as a basis for their life’s work.

As someone who has studied computer science and taught programming classes, Dash’s ideas sounds a whole lot better than what is in most of the “computer science for all” proposals I’ve read.