I teach the third required intro course in a CS department. One of my homework assignments asks students to speed up code they have written for a previous assignment. Fact
Bazaar, Mercurial, and Git sound appropriate for your case - trivial to create repositories, and all the students need to share is read access on the filesystem to each other's repositories.