Hi, not sure this helps, but maybe the diff and merge software "Meld" (
http://meldmerge.org/) could be useful for this purpose.

It allows two and three way file and directory comparisons and supports
several different
version control systems including Git, Subversion, and Mercurial.

It is GPL v2 licensed and available for Windows, Linux, and can also be
gotten for OS X (but not officially supported yet).

I started using it recently and find it a quite nice tool, but haven't used
it for teaching.

all the best / Johan


On 23 July 2016 at 21: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