Matt Davis and I are going to teach the Software Carpentry session on Python tomorrow at University of Toronto. Pretty happy with how the collaboration worked so far. We loaded a bzr repository into Dropbox then both branched the (local) repository, pushing, rebasing etc on our file:/// urls. We got pretty-much instance notices when things changed, and had full version-control support for merging/resolving conflicts.
We use Sphinx to generate the tutorial lesson plan from a set of reStructuredText documents. The rST documents include doctest sections for areas where we want to show interpreter traces (meaning we can actually test them). We do literalincludes for the sample Python files.
We automatically generate a sample data-set which is used throughout the session. Finally, we have a trivial make rule which generates the downloadable for the tutorial (including our sample data, the exercise files, and the rendered version of the lesson plan) and our readme.rst tells a teacher how to configure nginx to serve the session and the downloadable from their computer.
Hopefully the work put into the setup will make it easy to evolve, improve, and expand the material as we go forward. If we've done it right, someone wanting to teach the same course should be able to do a bzr branch, edit the content as they see fit, and have a lesson-in-a-box a few minutes later.
Pingbacks are closed.