Every primary and high school curriculum should include a mandator web programming course the same way it includes math and a first language.
When’s the last time you used pythagoras? How about Euclids proof of the infinitude of primes? Both of these are popular in high school math curriculums.
My sister one of the best chef’s in Cape Town. She writes about food and runs a restaurant review site. She doesn’t use pythagoras that often I’ll bet. But she recently asked me for shell access to the server her blog is hosted on so she could run “chmod 775 *” on a directory to fix a permissions issue. She’s also buying templates from Themeforest and knowing PHP would help her customize them and fix a few bugs.
Most non-programmers think of programming as a 3 to 4 year computer science degree, a course of advanced calculus thrown in as a prerequisite for graduation and the ability to write a basic compiler or operating system.
Here’s the truth: Most programmers spend 99% of their careers writing very simple code that is not that different from english. Most of it is a knowledge of syntax rather than opaque math or implementing complex algorithms. Ask any one. Most of them will tell you the last time they used calculus in programming was in school.
It’s my strongly held belief that everyone should start learning basic programming starting age 7 and the course should continue through to graduation from high school and should be prerequisite the whole way. It should include the following:
- PHP. It’s open source and the most popular programming language on Earth for many applications beyond just Web. My computer science grad friends are probably freaking out that I’ve chosen a loosely typed language that doesn’t require variable declaration and isn’t purer OO, but it’s the most popular language and it’s what real people actually use to get the job done.
- HTML. Obviously.
- CSS. Obviously.
- SQL using MySQL.