For CS undergraduate students working on a 2-semester capstone course without any prior exposure to revision control systems, what would be a good one to use?
Desirable qualities would be easy to use (ie this should be a tool they can use rather than spend a lot of time fighting it) and still be relevant for subsequent professional work once they graduate (doesn't have to mean it has to be the same tool later on as long as the concepts survive).
Easy to install and maintain for the person who does this. Not sure if I am missing anything else important.
I am aware of subversion (centralized), git (distributed) and mercurial(also distributed?) - but don't know enough about any of them to have an informed opinion. Are there others I should consider? This will be on a predominantly Windows environment.
EDIT: I am really interested in the pedagocial aspect of teaching/learning these systems, not so much from the perspective of an already experienced software developer.