I fear - as far as I can tell - that most undergraduate degrees in computer science these days are basically Java vocational training. I've heard complaints from even mighty Stanford University with its illustrious faculty that basically the undergraduate computer science program is little more than Java certification.
The idea that hardware on networks should just be caches for movable process descriptions and the processes themselves goes back quite a ways. There's a real sense in which MS and Apple never understood networking or operating systems (or what objects really are), and when they decided to beef up their OSs, they went to (different) very old bad mainframe models of OS design to try to adapt to personal computers.
School is basically about one point of view - the one the teacher has or the textbooks have. They don't like the idea of having different points of view.
The Internet was done so well that most people think of it as a natural resource like the Pacific Ocean, rather than something that was man-made. When was the last time a technology with a scale like that was so error-free? The Web, in comparison, is a joke. The Web was done by amateurs.
In our society we have hard nerds and soft nerds. The hard nerds are the ones who used to have the slide rules at their belt; now they have calculators. The soft nerds are the ones who get violently ill whenever anybody mentions an integral sign.
Computer literacy is a contact with the activity of computing deep enough to
make the computational equivalent of reading and writing fluent and enjoyable.
As in all the arts, a romance with the material must be well under way. If
we value the lifelong learning of arts and letters as a springboard for
personal and societal growth, should any less effort be spent to make computing
a part of our lives?