On 02/03/16 07:51, Konrad Hinsen wrote:
I have had much better success introducing beginners to version control
very slowly. I start showing them the most basic commands to keep file
histories on their own machine. No branching, no collaboration. And I
use Mercurial. This has always led to success in the sense that people
start to use version control for their work.

A few of those people later switched to Git in order to participate in
collaborations on GitHub. Most are still quitely using Mercurial on
their own machines.

I suppose one could teach Git in the same way, but I didn't try. I
believe the important part is to start with a minimal useful level of
version control, and let practice do the rest. That's of course not
possible in a two-day intensive workshop.

This is pretty much how I try to introduce Git: sell it as a tool for tracking changes on your own machine, which is fast and doesn't rely on being connected to a network if you want to go back to an older version.

The best thing about this is that it lets you be less careful when programming. You can explore random ideas without worrying about being unable to get back to a working state when it all falls apart. Most students who have taken any programming course without version control have spent large amounts of time trying to undo a mistake when they can't even recall the last change they made.

I hope that students will remember this after the workshop, rather than being put off by the complexities of the later lessons on collaboration.

Cheers,
Ben

--
Dr Ben Waugh                                   Tel. +44 (0)20 7679 7223
Computing and IT Manager                       Internal: 37223
Dept of Physics and Astronomy
University College London
London WC1E 6BT

_______________________________________________
Discuss mailing list
[email protected]
http://lists.software-carpentry.org/mailman/listinfo/discuss_lists.software-carpentry.org

Reply via email to