I haven't met any developer who was incapable of learning a version control system on the job. Why should universities spend the student's very expensive class time to learn about this? That time would be much better spent learning about fundamental knowledge such as algorithm design rather than learning about a specific tool that could be obsolete by the time the student graduates. Also, in a first semester course o…
I think that including these basic tools in an intro course (perhaps as a first or second class topic) would be a good idea. The minor waste of expensive education time will be more than offset by the added productivity in later courses, and a grading workflow built around test suites that one simply pushes code to would probably make students and graders lives easier.
An anecdote:
One of my CS courses spent a week or two going over C and its pitfalls. Now, one could argue that any sufficiently bright student should be able to pick C up incidental to completing a course on programming in 'nix, but the fact is that the additional material covering things like dumb use of unions and linker errors and whatnot saved the ass of several classmates time and time again, both in school and in later years.
You can't have a purely theoretical education, especially in a field where at the end of the day you need (to quote Zed) "programming, motherfucker."
Students will in all likelihood get far more mileage out of a fast intro to VCS and *nix over the rest of their academic and professional careers than learning one more esoteric data structure.
By similar logic, mechanical engineering courses should never require students to learn the rudiments of welding or machining.