I worked with a non-technical manager (banking background, somehow wormed his way into managing development) who never asked devs what they thought a task would take. I finally convinced him that this could not possibly work. I sat with him the first time he asked a dev how long the current task would take. The dev said "4 weeks". This guy said "I think it should take 2, so that is what I am putting in the schedule". Mind you, this guy had never written a line of code and had NO basis for his "thought" on the task length.
I first felt this when I was asked by a sales rep if I would be interested in coming to work for his company since I had exactly the credentials and experience they were looking for. He said he would talk with the head of development and get back to me. Time passed, and when he did get back to me, he said that the dev manager was looking for someone under 35 and that my resume - which did not have my age - told him that I must be older (I was around 45 at the time). In retrospect, I should have sued, but instead just let it drop.
I would caution others to be careful about school policies before taking this approach. I teach in a university undergrad program and storing grades off campus is considered a violation of university regulations as well as FERPA. Putting projects on Github or Bitbucket is fine ( I do this as well ) - its the posting of grades that is problematic.
My gut has been Git as well, since I have always used it in commercial development. My guess is that the companies the students are going to use Perforce or a commercial tool since most end up in energy / oil related companies that tend not to use open source at all. That said, I'll see if I can get more info on what they are using. I don't have control over the first class they take (yet) but I do agree with getting them started early. Most of the programs (CS,EE, etc.) don't even teach version control at all at the undergrad level, so I am doing what I can to remedy that issue.