Now I may be wrong, but I know that I personally would much rather have been creating something with some basic syntax as opposed to learning theory while I was in grade school. Being able to see your seemingly magical incantations create something cool is going to be a lot more encouraging than studying discrete mathematics.
Theory is cool. Theory has its place, but before you even encounter the situations in which it's applicable, I'd say try making something first.
EDIT -- Especially when these kids are low income. Discrete mathematics to inner city kids is about as relatable as Biggie is to Wall Street bankers.
Is this something recent? I went to grade school (long time ago) with low-income and inner-city kids and quite a few were intellectually curious and interested in abstract ideas.
They are already planning on having AP CS which is a much more in depth class for those interested later on.
BTW, perhaps you're forgetting -- they're just 8th graders. We're luck of half of them can pass a pre-Algebra class. Any coding skills we can get them to learn on top of that is a huge, huge win.
Mechanical engineering students generally take many shop classes, and computer science students spend a lot of their time learning vocation-styled computer skills. All are important, I could get behind getting more of any or all of these into highschools (though programming less so than the other three), but I don't think we should be honest with the terminology we use. If for nothing else, we should keep our terminology straight and honest so that we do not perpetuate misconceptions about what fields actually entail.
Having some programming background is a good thing. In fact, I think it would be better if the courses were more broad than deep, and looked at things like programming graphics, programming robots, programming microcontrollers in appliances, the internet protocols, wireless networking, encryption, sequential circuits, logic gates, etc.
[0] http://www.aqa.org.uk/subjects/english/gcse/english-language...
However, to get some basic programming done, you don't really need any of this, and in fact the code may help you grasp some of the maths so it might even be better to start that first.
Either way, the world runs on code now, it's everywhere. Giving all children a small taste of that, so that they can decide later if they want to pursue it as an interest or a career, is a good thing.