I am looking for practical examples to use when teaching version control.
Breaking down the material to basic concepts and providing examples is an obvious way to teach version control, but this can be very boring, unless the examples are really practical or interesting.
One idea I have is customizing a wordpress theme. I use wordpress a lot and no theme is ever perfect, so I typically just put the theme directory in version control using any dvcs and start recording changes.
The problem with this example is that not many people in the audience may be familiar with wordpress, let alone have shell access to a wordpress site to try out the commands. Preparing a mock site and giving access to everyone is also not an option for me. I need a "toy example" that can be interesting to a broad audience of software developers, and something they can try on their own computers. The tutorial will use a dvcs, but the practical example I'm looking for is only to teach the basic features of version control, ignoring the distributed features for the moment. (Now that I think of it, instead of a mock site, a customized live cd might do the trick...)
Any better ideas?
Thank you all. I ended up using textual data: dinner party planning with plain text files for guests, menu, invoices, and venue directions with images for some binary data. For teaching more advanced VCS features I later moved on to a collection of "hello world" implementations in different languages. Thanks again!