Strategic CIO // IT Strategy
Commentary
6/14/2013
11:10 AM
Connect Directly
RSS
E-Mail
50%
50%

Should All High School Students Learn Programming?

Google, Microsoft, Oracle and other tech giants propose that computer science become a required proficiency in Massachusetts public schools to help address the technology labor shortage. Critics call this a kludgy solution.

 8 MOOCs Transforming Education
8 MOOCs Transforming Education
(click image for larger view and for slideshow)
Technology is pushing education in two directions. One is up the mountain known as technology adoption. The other is into the valley of creating demand for more tech-savvy people.

As any CIO knows, adding technologies always involves a climb. Technology advocates and sycophants will call the climb a gentle stroll and extol the views from the top. But getting something valuable out of a technology can be a perilous affair -- CIOs fall off the mountain, those meant to use the technology get lost or trapped or crushed in avalanches. Even those who make it to the top often find the view obscured.

The climb could get easier if we had more tech-savvy people. What if everyone in the country actually knew something about programming? Why don't the schools educate people to be more technological? Shouldn't the three Rs (reading, writing and 'rithmetic) get an update?

That's a proposal from some major technology firms, including Google, Microsoft and Oracle, that are pushing to have the Commonwealth of Massachusetts require computer science courses for all public school districts and add computer science proficiency to the standard tests a student must pass to graduate from high school. Those tests currently include English, math and a science or technology field. If the proposal finds traction, Massachusetts would be the second state to mandate technology education, after South Carolina.

[ Gamification can improve student learning, but it needs to be done right. Read 3 Keys To Gamification For Education. ]

One of the leaders of this push, Google's Steve Vinter, told the Boston Globe, "This is really about workforce development."

The Globe reported that there are about 150,000 computer science and math-related jobs added every year in the U.S., and only 100,000 college graduates with relevant degrees. The tech companies argue that many more jobs than those 150,000 require computer proficiency, and that it should be a core part of our educational system. Meanwhile, only 713 high school students in Massachusetts took an advanced placement exam in computer science last year.

People need to be able to read, write, do math and reason. All of these subjects should be taught in the schools. But do all people need to be able to code?

Before you respond, consider these questions:

-- Why? Existing math and science classes should teach the major building blocks of reasoning we need for programming.

-- What language would be taught? My knowledge of BASIC and Pascal, gathered in high school and college, isn't even worth putting on a resume these days.

-- What do companies do with their workers when languages change -- send them back to high school?

-- If companies think a few single-semester high school classes in programming will help, why don't they offer it themselves?

As to that last question, there's precedent. IGN and Zoho are two relatively small businesses that still manage to develop programmers from unconventional backgrounds. Zoho runs its own university to train high school students how to program.

If these smallish businesses can do it, why can't Oracle or Google or Microsoft? It might be easier for them to attract people capable of teaching programming. Such people would certainly make more money in the corporate world. Companies could set up apprenticeships that would create work experience for would-be programmers. Besides, isn't it disingenuous for tech titans to suddenly decide that the government, usually bashed for incompetence, is the best way to educate workers?

Education CIOs know they face widely divergent climbs. Even in a high-tech state like Massachusetts, the topography of education technology varies broadly: Some schools exist in a technology desert, with poor connectivity, no infrastructure and no ability to invest in teacher training. Their climbs are fraught with peril. Other schools, with resources and time, might indeed find the slope gentle.

Also, requiring computer science might turn it into just another subject kids feel is force-fed to them, warns Alec Resnick, part of the founding team of the Somerville STEAM Academy, a proposed public vocational lab school in Somerville, Mass., that will focus on computational, project-based education modules for arts and science. The STEAM Academy is tentatively slated to open in the fall of 2014.

"I read the Globe article, and the first thing that came to mind is, 'I really hope that computer programming doesn't become just another thing to push down the pipeline,'" Resnick said. "There's this notion that school is tasked with information transmission. I bristle when I hear people say we need to add this thing or that thing to the pile, computers especially. It's not a topic that you cover the way you talk about traditional subjects. The most exciting part of programming happens outside the classroom."

While Resnick doesn't argue that it's important for people to have fluency in computing, he also points out, "We don't measure our English literature teaching by how many authors it produces. Should we measure our computer science programs by how many software engineers we produce?"

There's an issue beyond schools: it's the way we program. I recently interviewed the CEO of a Massachusetts software company who thinks we need fewer programmers. "Should everyone program? I think that's wrong," says Alan Trefler, CEO of Pegasystems, a fast-growing Cambridge company that makes enterprise software. He thinks the U.S.'s entire approach to programming is wrongheaded and stuck in the 1950s. What businesses need, he says, is to eliminate the need for so much programming.

Maybe that's not possible. Maybe programming should become part of the vocational school curriculum. But jamming programming into an already maxed school day seems like a kludge. Let's hope Google and Microsoft and Oracle realize they're going to fail before they start, and come up with something better.

Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
<<   <   Page 2 / 3   >   >>
Number 6
50%
50%
Number 6,
User Rank: Moderator
6/17/2013 | 3:00:28 PM
re: Should All High School Students Learn Programming?
And many of those corporate "universities" have been cut back significantly.

Check out Dr. Peter Cappelli's "Why Good People Can't Get Jobs" or a summary of his work at http://blogs.hbr.org/cs/2013/0... -- One of his explanations is that companies no longer want to spend to train new employees in the skills they need.
Number 6
50%
50%
Number 6,
User Rank: Moderator
6/17/2013 | 2:57:48 PM
re: Should All High School Students Learn Programming?
Excellent points. That was the setup we had, and fortunately my public HS was way ahead of its time offering programming as an elective to all students. Once I took it, I was hooked.

I can't justify requiring everyone to take it, however. There's also a shortage of physicians, so why not start teaching everyone organic chemistry in HS? Oh, right, not everyone would do well and it would also lead to an oversupply, which would depress incomes for doctors. And the AMA would make certain that would never happen... unlike engineering's professional organizations.
Andrew Hornback
50%
50%
Andrew Hornback,
User Rank: Apprentice
6/15/2013 | 9:33:05 PM
re: Should All High School Students Learn Programming?
Was Oracle University an internal-only division? I know of a few organizations that have similar structures that are only for employees - makes it easier to shift them between division if they understand more than one product.

Andrew Hornback
InformationWeek Contributor
Andrew Hornback
50%
50%
Andrew Hornback,
User Rank: Apprentice
6/15/2013 | 9:31:29 PM
re: Should All High School Students Learn Programming?
Okay, I've got to throw this in -

When I was in high school (back in the stone ages) in a small town in Virginia, it was REQUIRED that all 8th graders have one semester of Computer Literacy. Period. We had to learn keyboarding, word processing (with Word Perfect 5.1), spreadsheets (Multiplan) and simple databases (Paradox) as part of the curriculum.

Now, granted, this isn't programming, but for a small, "backwoods" Virginia public school system to be thinking like this during the Reagan administration speaks volumes.

Of course, we also had the option to take Computer Science I (BASIC), CS II (Pascal), CS III (C, although the only person to ever make it to CS III was already versed enough in C that he could have taught the class). I ended up taking CS I when I was a senior, just to have something to do and could have taught the class since I had been programming in BASIC (interpreted and otherwise) since the early 80s.

What I think would be much more important than teaching the syntax of a specific language or package would be to teach basic software engineering skills - being able to look at a problem logically, apply logic to solving that problem, develop a strategy of solving that problem and then implementing the code to solve it.

Teach the entire software development lifecycle, not simply something with a little more depth than being able to put "Hello, World!" in a window on a screen using a specific language on a specific platform. I believe the idea of transferrable skills is going to be much more important when a student goes on to higher education than it will be to know how to write code in a specific language.

Real world example time - how many folks learned COBOL 30+ years ago that kept up with technology and now code in something like Java, Ruby, etc.? Does knowing COBOL syntax really help with modern programming languages? Now, does knowing how to create, organize and analyze code translate better for use with more modern languages? Technology changes, students need skills that can keep up with those changes.

All of that said, should /everyone/ know /something/ about programming? Indeed - especially with the advent of the consumerization of technology upon us. Knowing how to do simple troubleshooting of an app or whatever is going to be critical when everyone is wandering around with a smartphone, tablet, wearable computer (or combination of all three). Does everyone necessarily need to know how to write web code to do SQL queries? Not in my mind.

And finally, the best class that I ever took was actually classified as a Philosophy course, but was a requirement for all engineering, sciences and computer science majors as well. Odd, right? Well, one would think that (Symbolic) Logic and Critical Thinking would be a more popular and more widely required, but at least not at that school. If you teach kids (or people) how to think, you open the entire world up to them.

Andrew Hornback
InformationWeek Contributor (and BASIC, Pascal, C and Fortran programmer)
Zman7
50%
50%
Zman7,
User Rank: Strategist
6/15/2013 | 9:29:19 PM
re: Should All High School Students Learn Programming?
Are you sure about Oracle and Microsoft? I worked at Oracle for 10 years and took class after class of all sorts of programming. They even had a division called Oracle University. Has this stopped or are you just assuming?
I do know that it might be cheaper to import Indian programmers under phony H1B visas (rather than train US workers) because there was a lot of that going on too...
Andrew Hornback
50%
50%
Andrew Hornback,
User Rank: Apprentice
6/15/2013 | 9:26:19 PM
re: Should All High School Students Learn Programming?
Check out what's available on Coursera and the like... the price is right and if they keep up with the course, they'll learn something.

I also recall a university in the Midwest (maybe Indiana?) offering courses on C programming freely through the web. Just a Google search away...

Andrew Hornback
InformationWeek Contributor
jries921
50%
50%
jries921,
User Rank: Ninja
6/15/2013 | 6:08:44 PM
re: Should All High School Students Learn Programming?
Authoring systems were supposed to make both programming languages and programmers obsolete 20 years ago; yet we still have both. And to the extent that authoring systems were used, the people best at using them were programmers.

For better or worse, it's a lot easier to be precise and efficient with the written word, then with either the spoken word or a GUI. I don't expect that to change.
jries921
50%
50%
jries921,
User Rank: Ninja
6/15/2013 | 6:04:00 PM
re: Should All High School Students Learn Programming?
First of all, I don't think there's a shortage of programmers. If there were, then programmers would make more and the unemployment rate for them would be a lot lower; and employers would be a lot less picky when hiring them (they might even be willing to train people, like my father was trained by the U.S. Marine Corps back in 1966 before there were any academic CS programs). Rather, this appears to be an effort to artificially inflate supply, helping to minimize labor costs.

Second, I don't think everybody has the aptitude for programming, just as not everybody has the aptitude to play a musical instrument. Those who have it should be encouraged, as learning programming is the most effective way to learn how computers work, but I see no public benefit in teaching people who lack both the proper mindset and the desire to learn. There are things that every citizen should know (like history, civics, science, and clear thinking, in addition to the 3 R's); computer programming is not one of them, any more than auto mechanics is (arguably, the latter is more important).

That said, I do think programming should be offered to high school (and possibly middle school) students as an elective. It's a useful life skill, no matter what one ends up doing for a living, but we shouldn't pretend it's for everybody.
Chaz315
50%
50%
Chaz315,
User Rank: Apprentice
6/15/2013 | 4:58:59 PM
re: Should All High School Students Learn Programming?
What happened to the free market and supply and demand? If you want more programmers, raise the salaries and benefits and more people will choose programming instead of accounting, engineering or an MBA for example. All those choices currently pay better than entry level programming so thats where the talent goes.
cbabcock
50%
50%
cbabcock,
User Rank: Strategist
6/15/2013 | 12:00:35 AM
re: Should All High School Students Learn Programming?
I once sought a short, introductory course to computers and ended up in a Fortran programming course. Ouch. It taught me a lot, mainly that I wasn't a very good programmer. Teaching computer languages is going to be passe very soon. Even professional programmers will work from programming workbenches in the cloud that can formulate routines in multiple languages and provide functions on a graphical design board without the user needing to write a stitch of code. The course that's needed is still an introductory course to computers -- one that teaches what they can do and can't do, and how humans still need to use their heads. Charlie Babcock, editor at large, InformationWeek
<<   <   Page 2 / 3   >   >>
Transformative CIOs Organize for Success
Transformative CIOs Organize for Success
Trying to meet today’s business technology needs with yesterday’s IT organizational structure is like driving a Model T at the Indy 500. Time for a reset.
Register for InformationWeek Newsletters
White Papers
Current Issue
InformationWeek Tech Digest September 24, 2014
Start improving branch office support by tapping public and private cloud resources to boost performance, increase worker productivity, and cut costs.
Video
Slideshows
Twitter Feed
InformationWeek Radio
Sponsored Live Streaming Video
Everything You've Been Told About Mobility Is Wrong
Attend this video symposium with Sean Wisdom, Global Director of Mobility Solutions, and learn about how you can harness powerful new products to mobilize your business potential.