Regarding the recent discussion of Computer Science courses on Planet KDE, I just thought I’d mention how this kind of thing is handled at my University.
The Computer Science program there is split into two branches, (pure) Computer Science, and Information Science. The Computer Science branch contains what we’d consider the actual computer science, which includes courses on data structures, combinatorics, compilers, and other advanced things. The Information Science branch, on the other hand, has the courses suitable for those learning computers in order to become another corporate lemming, such as Visual Basic, Java, .net, Designing Insecure Applications 101, Use Case development methodologies and other such stuff.