Kaleidoscope, a Mac program, has a really great way to show diffs, and can do three-way file comparison. What if each iteration of your code had comments to provide the annotations and you just showed the diffs this way? (Similar to the github approach but I think a bir easier to see.) http://www.kaleidoscopeapp.com -Steve ----- q•b -----
> On Jul 23, 2016, at 13:40, Robin Wilson <[email protected]> wrote: > > Hi, > > I'm aware that you may have read the subject line and thought "use git!" - > but I think there's a bit more to this question than that... > > As part of some small-group programming teaching, I'm trying to show some > examples of development of code over time, as the code is gradually > refactored, made more generically-applicable and generally improved in > quality. I'm trying to work out the best tool or approach to use to show > these changes with annotations about why each change was performed. Obviously > when teaching face-to-face I can go through this interactively with the > students - but some changes to real-world code are too large to do live - and > students often seem to find these sorts of discussions a bit overwhelming, > and want to refer back to the changes and reasoning later (or they may want > to look at other examples I've given them). > > For context, I'm sometimes doing this with little demonstration scripts that > I've written, sometimes with real-world code from other projects, and > sometimes with code that some of the students themselves have written. > > Approaches that I've tried: > > 1. Making all of the changes to the code and providing a separate document > with an ordered list of what I've changed and why. > (Simple and low-tech, but often difficult for the students to visualise each > change) > > 2. The same as above but committing between each entry in the list. > (Allows them to step through git commits if they want, and to get back to how > the code was after each individual change - but many of the students struggle > to do this effectively in git) > > 3. The same as above, but using Github's line comments feature to put > comments at specific locations in the code. > (Allows annotations at specific locations in the code, but rather clunky to > step through the full diff view of commits in order using Github's UI) > > I suspect any solution will involve some sort of version control system used > in some way (although I'm not sure that standard diffs are quite the best way > to represent changes for this particular use-case), but possibly with a > different interface on it. > > Is this a problem anyone else has faced in their teaching? Can you suggest > any tools or approaches that might make this easier - for both the teacher > and students? > > Thanks, > > Robin > > _______________________________________________ > Discuss mailing list > [email protected] > http://lists.software-carpentry.org/listinfo/discuss
_______________________________________________ Discuss mailing list [email protected] http://lists.software-carpentry.org/listinfo/discuss
