version-control/README.md: Add a motivational paragraph
[swc-version-control-svn.git] / version-control / instructor.md
1 Version control is the most important practical skill we introduce.
2 By the end of 90 minutes, the instructor should be able to get
3 learners to fetch upstream updates, make local edits, and submit their
4 changes upstream and why that's a good way to structure development.
5
6 Provided there aren't network problems, this entire lesson can be
7 covered in 90 minutes.
8
9 Teaching notes
10 --------------
11
12 * Make sure the network is working *before* starting this lesson.
13
14 * Give learners a ten-minute overview of what version control does for
15   them before diving into the watch-and-do practicals.  Most of them
16   will have tried to co-author papers by emailing files back and
17   forth, or will have biked into the office only to realize that the
18   USB key with last night's work is still on the kitchen table.
19   Instructors can also make jokes about directories with names like
20   "final version", "final version revised", "final version with
21   reviewer three's corrections", "really final version", and, "come on
22   this really has to be the last version" to motivate version control
23   as a better way to collaborate and as a better way to back work up.
24
25 * Learners could do most exercises with repositories on their own
26   machines, but it's hard for them to see how version control helps
27   collaboration unless they're sharing a repository with other
28   learners.  In particular, showing learners who changed what using
29   `blame` is only compelling if a file has been edited by at least two
30   people.