I will be coaching student's programming projects in my engineering faculty (group of <10 students). At this occasion I wanted to draw the student's attention to the usefulness of version control systems in particular DVCS.
There are many convincing DVCS tutorials out there, however all the ones I found use unrealistic or contrived examples (e.g. hginit uses cooking recipes).
What I am looking for
I want the students to collaborate in class on a simple but realistic programming project that makes them discover the benefits of the DVCS through its usage. The class would collaborate as a dev team.
I am looking for a toy project simple enough to keep the focus on the DVCS workflow. The goal is for student to face DVCS challenges that arise naturally in a collaborative development: bug fixes, branch management (stable vs development), merge conflict resolution, etc.
I would be greateful if you could give me specific project ideas and highlight their DVCS challenges (e.g. a basic signal processing pipe-line, where each steps is written by different student, forcing them to deal with interface conflicts, etc).