This article really rubs me the wrong way, and the more I read it the more uncomfortable I become.
As far as I know, Ada is a relatively obscure language. I've heard of it before, but mostly for its programming concepts (and lest that suggest it's in any way superior to another language, I've also heard of Java, C, C++, D, Lisp, Fortran, Pascal, Basic, Assembly, Lua, Ruby, and so on and so forth for their programming concepts.)
From the very start the article has issues. The three items for instance:
Mathematics requirements in CS programs are shrinking.
CS continues to depend less and less on raw mathematics as it becomes more possible to abstract things to the point where you can rely on previously written code rather than on raw mathematics. You don't have to actually write the graphics engine, for instance, if you want to program a 3D game. That cuts down a huge amount on the math that you actually need to know. You don't need to figure out how to distort a texture based on mathematical formula - you just feed the coordinates and orientation to the video card and it does the work for you.
Naturally, as this becomes more and more common in the field, more and more possibilities will open up - that don't require math. Simply because the
requirements are shrinking doesn't mean that the
options are.
The development of programming skills in several languages is giving way to cookbook approaches using large libraries and special-purpose packages.
Though the article elaborates on this, I say
good. It shows that the tools that have been developed in the past are versatile enough to be used now, and save a lot of time. You don't need to recode a windowing system; it's done. Now all you need to do is write a few lines of code and Java will do it all for you. This same kind of specialization is, AFAIK, occurring in several other fields as well.
The only downside is that when somebody decides that what they learned is not for them, or their skills become obsolete because of automation. However that does not seem to be a concern of the article, as the article repeatedly reinforces the idea that math, computer hardware, and fine-tuned "bug-free" programming ought to be the goal of software engineering programs. Coincidentally, that required curriculum would also force SE graduates to gain the skills required to work on Ada-based projects (eg aerospace and defense) which would give any companies using Ada a larger pool of employees to select from and thus they would have an easier time hiring people for less. But I digress...
The resulting set of skills is insufficient for today’s software industry (in particular for safety and security purposes) and, unfortunately, matches well what the outsourcing industry can offer. We are training easily replaceable professionals.
Are people in China or India somehow inferior to people in America? Why isn't it a surprise, then, that they can do the same things that Americans can do, and just as well? Especially when the US is around to provide education to those people, and many companies (including companies that work on defense-related products)
do outsource because of the cost savings, which promotes further outsourcing and gives the people in those countries training that they would not have had easy access to otherwise.
It [Texas A&M] did [teach Java as the first language]. Then I started teaching C++ to the electrical engineers and when the EE students started to out-program the CS students, the CS department switched to C++. [5]
It will be interesting to see how many departments follow this trend. At AdaCore, we are certainly aware of many universities that have adopted Ada as a first language because of similar concerns.
So, does Ada actually improve the situation, or make it worse? They fail to say.

And in addition, does that have anything to do with Ada, or does it have something to do with the fact that it's a university that takes enough of an interest in its curriculum to actually care about what it's teaching rather than blindly follow the crowd? And such a university would be more likely to attract students who are genuinely interested in programming, and actually learn on their own and do more than the minimum requirements.
Funny, I'd rather put my "safety and security" in the hands of someone who is genuinely interested in what they're doing and how well they're doing it. The person that spent their extra time learning the things that they wanted to know that college didn't require, rather than the person who got drunk through college and barely passed the requirements because they were what he needed to make a decent wage.
So if the people who want to make crappy Flash games or do art programming and have no aptitude for advanced math can't do jobs that they're poorly suited for, don't have an interest in, and could possibly jeopardize the safety of others...I'm not too concerned.

But what really gets me is this:
In this day and age, the fear of terrorist cyber attacks have given a new urgency to the building of software that is not only bug free, but is also immune from malicious attack. Such high-security software relies even more extensively on formal methodologies, and our students need to be prepared for this new world.
So, don't teach Java so much...because if you do, the terrorists will win.
