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
darcs send is trivial to setup - when you run darcs send , it looks in _darcs/prefs/email of the remote repo to decide where to sent the email to. If there's nothing there then it prompts the user instead.
The receiver of the patch just saves the file and runs darcs apply in the appropriate repo.
So each student can just have their own repos with their own email address in _darcs/prefs/email and exchange patches by email.