Several of my courses could benefit from a unit on GitHub. I want to devise a series of lessons that could be plugged into any of these courses with only a slight amount of modification specific to the actual course. It’s easy to identify the aspects of GitHub that I want to cover:
- version control
- code sharing
- issue tracking
- project management
- public and private repositories
But I don’t want to start out course planning from a content coverage perspective. Increasingly, I’m trying to adopt an approach learned from Understanding by Design. It’s an approach that most closely mirrors my own approach towards my work and even my life.
This morning I jotted down several questions on a legal pad. I revised these into two essential questions:
- What workflow is most supportive of collaborative development?
- How can my choice of work methods enhance my productivity?
These questions place GitHub within the context of productive workflows, which explain why we’re even thinking of talking about it in the first place.
Getting organized is the first task for any development project, but in teaching coding, the introduction of GitHub is not the first step to learn. In helping students understand HTML/CSS, introducing GitHub too early could add a huge layer of confusion. I like for students to understand the simplicity of the web before they understand tools for enhancing productivity.