Most schools, at least in the UK, offer some form of programming course for school age children. They can be taken as extracurricular activities such as 'after school club' or even built into lessons such as IT. With the rising trend of computers replacing people in low skilled jobs, having a marketable skill is becoming more and more vital for daily life. Ten, fifteen, twenty years ago programming was not taught like this, and was only an option for post SAT or GCSE level students, but today schools are starting to teach people at a younger age.
There are many different programming languages, each with a different niche and application, but many things can be learnt through one language alone. Correct use of syntax is vital in coding, and it comes in useful in other subjects such as Maths and English, giving students a more rounded education. Layouts, subheadings, indentations and such all come in useful when being taught science subjects such as physics, as code format is widely regarded as one of the best layouts to take notes with; a skill that will always come in useful.
Learning to code does not have to be the ordeal it was only a few years ago, with new revolutions coming about every month to help people learn in an easy to understand way. Courses such as Codecademy are available for free online, and give a step by step guide to learning languages such as Java or Python. Even more recently, daily reminder apps have come to the market, giving a bitesize chunk of taught code every day for anyone who wants to learn; much like the Rosetta Stone. Most children in the UK have access to some form of smartphone or tablet, wither their own or provided by the school, and these can be easily used to teach kids the proper way to program. Some of the easiest activities for younger students are the jigsaw-esque ones, where they must place the proper operator in the right place to finish the question; most don't even know that they are learning to read a programming language like this.
Obviously, it is always easiest to start with the more basic or user friendly programming languages before moving onto, say, C++. The two easiest (in popular opinion) would have to be Python and Ruby. Python is probably the easier of the two, but there's not much in it. Python reads largely like normal text, and if the students have studied English at all, the syntax is the most important thing in this case. Ruby is similar, but unfortunately has much fewer real-world applications than Python. It doesn't take long to teach someone to troubleshoot code; learning the correct layout, punctuation, capitalization, commands etc. This can all be done in only a few hours a week for several weeks. After this, writing their own commands is the natural progression, and many students who try coding out begin to love its elegance and simplicity.
As an honourable mention, Google has recently released their own kind of language; Blockly. Blockly can compile into many different languages, and is more of a visual editor than a true coding language. Working like a jigsaw, people fit commands together and can test run them in languages such as Lua and PHP easily in the same window. This is a great place to start for anyone wishing to learn to code, but especially appeals to child-students.