First, that's not nationwide in the US. I'm not aware of it being nationwide anywhere. In my school, there was a computer programming course on the list of choices. It disappeared when the time to actually register arrived. There was a web design course. We used dreamweaver. No one knew HTML. I spent the majority of my time in the class helping the other students do things they couldn't do in dreamweaver. The situation is less than ideal. In fact, I once presented a slideshow describing various programming languages. When I finished, my teacher asked if there were any questions. A handful of people knew programming was used to make games. Everyone else had blank looks. One girl actually said "I didn't even know this existed" with a look of shock.
Second, learning to program doesn't have to be the same as learning to be a software engineer. It's vaguely akin to basic repair skills. Knowing how to automate aspects of your work on a computer is extremely useful. Programming is applicable to almost every remotely technical career path.
Also in the 7-10 high school syllabus there are options for projects that include: AI simulation and modelling, multimedia authoring, database design, website development, networking, robotics and software development and programming. http://www.boardofstudies.nsw.edu.au/syllabus_sc/pdf_doc/inf...
In years 7-10 I found myself helping other students in the class just like yourself. Even though our teacher had formerly held a programming position. That doesn't validate the need for it though. That just shows that it is a very alien topic to most people and that you can't have a single teacher give personalised help to a class of 30 kids.
We don't have nationwide standards for curriculum in the US.. shocking, I know. Most schools do similar things, but there's a wide variety of quality and content of education.
Second, learning to program doesn't have to be the same as learning to be a software engineer. It's vaguely akin to basic repair skills. Knowing how to automate aspects of your work on a computer is extremely useful. Programming is applicable to almost every remotely technical career path.