We haven’t covered CS education as such in this blog, as rather surprisingly, most of high performance computing is not being done/driven by CS people. This is probably unfortunate for several reasons, most of which is that many HPC practitioners are taking localized utilitarian views of HPC, and not looking at bigger pictures which may net them additional benefit.
That said, the authors of this article imply that the state of CS education is in decline, that CS departments are not creating the computer scientists we need, rather they are creating java programmers, and others well insulated from a deeper understanding of the machine.
This is an interesting view.
In HPC education, a shockingly large number of scientists-as-students have come in to classes with skills in Matlab, C++, and Java, but nothing that would be called classical HPC.
Very few of them know anything about numerical analysis, often they are surprised when I show catastrophic loss of accuracy on very simple operations that they themselves have coded and used for their own work.
This is an interesting discussion to have. In graduate school, I was actually actively dissuaded from taking courses outside my department, which simply meant I had to pick up the material on my own. I think this is wrong … physicists, chemists, biologists, numerical/mathematical scientists, engineers would do well to learn some of the basic concepts (low/mid/high) levels within CS, and interact. The most interesting ideas often come when people who are not all constrained by the same orthodoxy, get together to work, and ask questions.