Introducing distributed over centralized version control system

January 1, 2010 at 12:52 pm 3 comments

Daniel Rocco of University of West Georgia has made his tutorial, “Introduction to Version Control with Mercurial” available at drocco / introduction / wiki / Home — via an email post to the SIGCSE members mailing list.  His email announcement makes some interesting claims about how students think about distributed systems:

One of the surprising choices we made was to eschew traditional centralized version control (e.g. CVS or Subversion) in favor of a distributed version control system, Mercurial.  Somewhat counterintuitively, distributed version control is actually easier to introduce to students despite its seemingly more complicated decentralized model; in particular, establishing new repositories and projects is trivial in Mercurial.  Students can do real work with only a handful of easy, lightning fast commands.

Daniel’s claim is really interesting.  It would be great to test.  It reminds me of the Lewandowski et al.’s Commonsense Computing result that students can think about parallel, distributed systems without code correctly.  I wonder how broadly this result works, that the distributed/parallel versions of things are actually easier for students than the centralized ones?

Entry filed under: Uncategorized. Tags: , , .

ACM tops list of “meanies” for lack of accessibility Bjarne Stroustrup on what new software developers should learn and what CS is

3 Comments Add your own

  • 1. Greg Wilson  |  January 1, 2010 at 2:27 pm

    I’d be *very* interested in seeing evidence to back up the ease-of-use claim. In particular, are there any significant benefits when students have to share files and changes with each other?

  • 2. Erik Engbrecht  |  January 1, 2010 at 4:10 pm

    I’ve noticed that many open source developers using DVCSes end up naturally following similar configuration management practices to our official ones at work. What’s really ironic about that is that with our centralized system making people follow those practices requires substantial customization to the SCM tool and on many dedicated configuration managers to administer the source repository and police what developers are doing.

    DVCSes make good practices easy and natural, while centralized ones make them hard. I think it would be irresponsible to start students on a centralized system. It will mutilate their brains. Kind of like BASIC.. 😉

  • 3. Alan Kay  |  January 2, 2010 at 2:39 pm

    The results reported match up to our experience over the last 10 years with children using Etoys (in which every method can be a thread).

    Interestingly, both of these results are somewhat at odds with what Mitchel Resnick reports in his excellent thesis (Turtles, Termites and Traffic Jams).

    My own theory is that it wasn’t the massively parallel control, but the difficulty of “taking the viewpoint” of a particle. This seems to be mitigated to some extent in Etoys where the students can try out schemes in the large with drawings and *then* use the schemes with hundreds of thousands of particles.




Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Trackback this post  |  Subscribe to the comments via RSS Feed

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 9,030 other followers


Recent Posts

Blog Stats

  • 1,994,757 hits
January 2010

CS Teaching Tips

%d bloggers like this: