I'm 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 often need to tweak the theme a little. So I typically put the original theme directory in version control and start editing knowing I can easily roll back.
The problem with this example is that some people might not be familiar with WordPress, or 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. 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 easily. 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.
Is there a more suitable / appropriate topic?
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!