I've encountered C programmers who view the compiler as a kind of magic in the same way that Prof. Dewar fears many Java educated CS students view the JVM. But then again, you also see incompetent mechanics and plumbers.
I am a test automation engineer in Austin. I have worked with JUnit (Java) and CPPUnit (C++) for unit testing, and also with Borland SilkTest for GUI automation. So whereas I certainly cannot really comment too much one way or another in terms of what schools should be teaching, I will say that I have found java plug-ins to silktest essentially work when and where the JVM feels like working. They might work on one box, but not on another box, even though the code is the same. Java will not work the same from version to version, nor even from box to box on the same version, at least not reliably enough for proper automation testing to get done on a repeatable fashion. So now I write the silk-plugins in c instead of java, and that hasn't let me down yet. I don't know what we should teach in schools, I will leave that up to professors to figure out. I do know that if I am in an airplane at 35,000 feet, I do not want to have to rely upon the whims of the JVM to get my safely to my destination. When I am that far above sea-level, believe me, I am praying that the airplane's software was written in C! :-)