A Pittsburgh fantasy?
Forward to 2016. A dad from another city asks me, "Did your kid really learn that in a public school?"
I hadn't fished for the question. The guy already knew from national media that Pittsburgh schools had gone totally 21st century -- and not just by providing late-model computers.
Computer programming is now taught to all students in the Pittsburgh Public Schools. Programming, after all, is under the hood of every piece of software: phone apps, spreadsheets, document readers, you name it. Programmers create the software that runs our world. Of course we teach our kids to do that.
In Pittsburgh, we do not train our kids merely to be consumers of software (which can turn them into screen zombies and social-media addicts). That was the old way. Instead, our kids are the future architects of the continually evolving commercial, political and social landscapes of the digital world.
Computer programming is taught starting in middle school. Perhaps Pittsburgh isn't as ambitious as Estonia, where instruction in programming is becoming compulsory even for primary school children. But maybe we're on a par with cutting-edge schools in New York City, where one high-school teacher boasted back in 2013 that his students graduated "Google ready" -- with skills enough to join a software firm. All Pittsburgh students are taught programming now -- Promise-ready and Google-ready.
Programming is much more than many people realize. It is a discipline that builds on -- and builds -- skills in math, logic and structured writing. It embodies a set of ideas that will not become obsolete until computers, smartphones and all the next digital technologies are history, because the same basic ideas apply to all of the dozens of programming languages used in these devices.
Our kids know the fundamentals, so they can adapt. Pittsburgh students will change with the times and change the times.
Besides the obvious career value in programming skills, they enhance student achievement in other subjects. It's not just math. Software programs are broken up into modular parts akin to paragraphs, chapters, etc. The discipline of structured thinking and coding can carry over into essays, reports and critical reading.
Students also integrate programming into other schoolwork -- to help with certain math assignments, to customize number-crunching for experiments, to design searches of databases.
Is this fantasy too expensive and impractical?
I'm not an educational administrator, but it seems a tragedy to leave our students stranded in the 20th century. And if the Pittsburgh district became a magnet for kids now going to charter, private or suburban schools, some costs could be offset.
A number of ideas come to mind for jump-starting computer-programming education in a city brimming with software talent. Pilot programs could be run by interested math teachers, along with the handful of current programming teachers. Local professors and industry volunteers might head a motivated corps of post-secondary students. Literally invested in our city, local businesses and universities have a real interest in well-trained students.
Valuable help might come from unexpected places. Humanities teachers who are comfortable with numbers could contribute. Indeed, a well-known programming book claims that humanities types are among the best in the field.
How should programming be taught? That's probably best decided after piloting different approaches. There are special software environments designed to teach programming, including one designed at Carnegie Mellon University. Personally I like the idea of a typical programming language like Python, which is simple, powerful and suitable for professional work. A "regular" programming language is fun because you can do almost anything with it.
Programming, taught to all our kids, could be a great equalizer and make them stand out across the country. While it might seem like a luxury today, programming in a few years may be considered a basic requirement for a well-rounded education, fundamental to today's world. It's the science of modern technology, government, business and social life.
This doesn't have to be a fantasy. In fact, the vision to teach kids programming is increasingly being embraced by industry and world leaders through the group code.org. Let's start now to make it a reality for Pittsburgh.
Daniel M. Zuckerman is an associate professor of computational and systems biology at the University of Pittsburgh School of Medicine, the author of a textbook and the father of a Pittsburgh Allderdice High School student (firstname.lastname@example.org).