Let’s Git Goin’ November 1, 2013Posted by IaninSheffield in Musings, Resources, Teaching Idea.
Tags: github, lesson planning, planning, writing
I’ve known about GitHub for some while, but little more than it was a place ‘coders’ seemed to use to conduct the black arts. Then whilst at the 2013 eAssessment Conference in Dundee, I attended a session on interactive fiction as mechanism for assessment. Intrigued, I investigated further and unearthed a bunch of tools to support the writing of interactive fiction. During these explorations however, I also came across a number of blog posts by writers who saw potential in using GitHub for the writing process, especially where that writing might be collaborative in nature. Just try a search for ‘writing using github’ and see what interest there is. One post by Loren extolling the virtues of GitHub, but bemoaning how off-putting it is for non-techies, described a tool she was designing to make the whole process easier – Penflip, a collaborative writing platform. At that point (having wrestled with writing using Choicescript connected with GitHub) I began to sit up and take notice, because we were now into the realm of something manageable by most people. But, to return to the opening line, why the interest in GitHub?
GitHub: The Basics
Together this TechCrunch article and Loren’s post provide a useful summary and overview, but the principle of GitHub hangs on four basic principles:
- A repository where projects are held. A coder/writer works on their project, saving the various iterations as they go, allowing them at any point to return to a previous version should they have pursued a dead end.
- Forking or branching which allows another person to break off from the main project and develop a separate branch, building on what has gone before. When satisfied that their new branch has something to offer, they can submit a
- Pull request. Now the originator of the project can consider this new branch and if s/he feels it adds to the project, they can approve the request which
- Merges that into the master, thereby improving or extending the original.
Clearly this is incredibly powerful for writing complex computer applications, drawing on the principle of many hands making light work, but also guarding against too many cooks spoiling the broth. The forking allows different people to work on different aspects, or different ways of addressing the same aspect, yet their alterations/additions needn’t contaminate the original until approved and merged. If on the other hand, their fork leads into a completely new area, but away from the original, the open nature of the platform and the principles which underpin it allow them to pursue that new avenue.
GitHub For Teachers
Marc wrote at length about how to use GitHub, particularly within the context of developing resources as a member of a team within school, though with a background in computing, he’s not perhaps the average teacher. As Loren also recognised, the technical jargon which surrounds GitHub presents a considerable barrier to non-techies, which is why she was prompted to develop Penflip. Perhaps then this might offer an easier entry point to teams wishing to collaborate to build resources together. But why stop at individual resources? There are other tools which have recently surfaced like Activate, OpenCurriculum and others which allow teachers to build upon the work peers have already undertaken, enabling resources to be gathered, marshaled, re-purposed, distributed and deployed to students. However these don’t specifically address the development and writing of the schemes of work which provide the structures within which those resources need to be organised.
The next level
You don’t have to have been in school long to hear the phrase “I’d really like to do that, but I just don’t have the time.” Now whilst there’s a whole other discussion to be had around that, perhaps one of the contributory factors is that we rarely work ‘smart.’ The new National Curriculum is almost upon us here in the UK, so once more we rewrite our schemes of work. We do that in response to changes in the curricula that exam boards provide or to address new initiatives that our schools are exploring, but most of all we do it to make the learning we lead our students through more enriching, more effective and more enjoyable. But it’s incredibly time consuming! Time consuming for an individual yes, but collectively across the profession ….!
The question has to be asked why we don’t work in a more unified or concerted way to undertake that development work? I posed a similar question when thinking about the text books which we use to support our students’ studies. Why then shouldn’t we crowd-source curriculum development? And why shouldn’t a GitHub-like tool enable that to happen? I’m not the first to ask the question; Peps McCrea already has, and has even gone a stage further in building OpenPlan, a more friendly and appropriate tool specifically for curriculum planning and to build on the gains that will unquestionably come from teachers planning together, rather than in isolation.
It’s not just about the time-saving and increase in efficiency, but also about the improvements in quality as more minds and experience can be bent to the task. The principle of forking allows you branch off from the main stem and develop the core project to suit your circumstances and students more closely. You’ve saved time in that the foundations were already laid; you just had to tweak things, but in doing that you might also have saved time for someone else down the line with similar needs. Win-win. You might instead have an interest in contributing to the main stem, feel you have ideas to offer, and subsequently offer a pull request for your fork to contribute to the main flow. You made a difference and contributed to your peers’ community and we all know how fulfilling that can be.
I hope OpenPlan gets to fruition and enjoys a wide usership. I’m sure there are technical hurdles yet to overcome, but suspect they will be as nothing in comparison with encouraging people to adopt an entirely new, GitHub-style workflow. It makes perfect sense to me, but as I’m often reminded, I’m not ‘normal.’