What is the Bare Minimum High School Students in BC should know about Coding before they Graduate?

My opinions by Jeremy Ellis

The announcement on Jan 18, 2016 http://www.ctvnews.ca/politics/b-c-adds-coding-to-k-12-school-curriculum-1.2742593 that every student in BC will be learning how to code, got me thinking about k-12 Computer Programming. Coding can be taught really simply using sites like Scratch and Alice or really difficult using Arduino's, Java or PHP, both methods have positives and negatives. New software like Android Studio appear to make things easier but are difficult for students to install on home computers, and on locked down school systems. What is a good balance? What do Parent's and Teacher's need to know about coding? I thought about my near 30 years teaching Coding in BC and what I would like graduating students to be able to understand.

Here is an image of a webpage that has some javascript coding on it. The basic idea is to get the computer to add all the numbers up to a certain number that the user can enter.

Try the page here and see what you get

And this is what it does

Add from 0 up to
Output Here

The above does not seem that complex. You enter a number and the webpage prints all the numbers leading up to the final sum. What is really good about this example is that it uses almost everything that should be taught about Coding at school. Of course there is much more to Computer Programming, but if every student in BC could understand this one page or something similar to it, that would be a huge advantage for BC students understanding of the digital age.

Here is an image explaining the key points

and here is a video with a longer explanation
at The video of the above information

By Jeremy Ellis
Website: http://www.rocksetta.com
Twitter: https://twitter.com/rocksetta

P.S. In my Computer Game Programming, Robotics and 3D Printing classses I teach using: Blender3D, Particle.io, Cloud9 and Phonegap the Computer Coding languages: HTML, Javascript, RobotC, PHP, and sometimes Python