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

Reply via email to