Skip to content

Instantly share code, notes, and snippets.

@rickosborne
Forked from rickofs/pe4-github.md
Created April 16, 2011 20:41
Show Gist options
  • Save rickosborne/923482 to your computer and use it in GitHub Desktop.
Save rickosborne/923482 to your computer and use it in GitHub Desktop.
Rick O's fork of RickOFS's original Gist

For my Relevant & Innovative Learning Scenario (RILS), I’ve chosen to use GitHub.com to show instructors for online classes how they can work in projects with similar patterns to how they would in physical classrooms.

GitHub started with a simple concept: easy source code hosting using Git, a software package designed to help teams track changes to their code. Because of its free and Open Source nature, it has since been adopted and adapted to suit needs beyond its original intent. I’ve been using Git and GitHub in the classroom for almost 2 years now and both have been amazingly helpful. But I think that GitHub’s slick user-friendly web interface to Git could be applied to more classrooms than just those with heavy development focus.

I’m a problem-solver. I love to pick and poke at something until I understand it. So when Rena expressed frustration at being able to track activity in the Literature Review assignments, I immediately started picking at the problem to see where I could take it. I was also recently in a meeting with a group of instructors of online courses and a similar thread came up: they need a way to track collaboration and work on group projects, but not in a way where the technology gets in the way of the learning objectives.

I’m not saying GitHub is a perfect solution yet, but I think it may be a start. GitHub has a section devoted to how it can be used for (non-technical) project management, including tools like:

  • Multi-level access (read, write, administer)
  • Wikis
  • Comments inline with content
  • Issue tracking
  • Milestones, labels, and tagging
  • Content analysis

GitHub also has a scaled-down tool called Gist, which is meant for short-term collaboration. Given the dead-simple usability of a Gist, I can’t help but think that this would be an elegant solution for non-development classrooms.

Dear Reader:

I would like to use you for a 5-minute experiment, if I may. I'd like to show you a tool that I think may be helpful in your classroom. Would you mind following the directions in this post, and then leaving a comment telling me how it went?

  1. Open GitHub Gist in a new browser tab or window.
  2. Use the link in the upper right corner to sign up for a free account.
  3. I've created a Gist that I'd like you to work with. Gist allows you to create or paste text content, save it to the site, and then track changes and comments for that content. Open my Gist in a new browser tab or window. (You can close the other one if it is still open.)
  4. Make sure you are logged into GitHub.
  5. Add a comment to the Gist, via the form at the bottom.
  6. Look at the changes to the Gist. You can see this on the right, under the Revisions header. If you click through the blue links you can see earlier versions of the Gist.
  7. I've used a second GitHub account to create a Fork of the Gist. A fork takes the Gist at a specific point and copies it into a new Gist. The Gist that my second account controls has the shared history with the original Gist, but continues forward on its own. Click through to the Fork by the "rickosborne" account.
  8. Note that the fork can also be forked, via the button at the top. Go ahead and fork one of the two Gists. Don't worry, this doesn't waste space or have any negative issues.
  9. By forking the Gist, you can now edit it via the button at the top. Make an edit to the Gist and save it. Note the new Revision on the right, as well as the link back to the original Gist.
  10. You can add additional files to a Gist. Use the edit button, and on the next page scroll down below the text edit areas to find the "Add another file" option.

Food for thought: Could you use Gist to distribute writing assignments?

You could create a Gist with some instructions or a skeleton document, then have your students fork the Gist and make their own revisions. Since the Gists are linked, there's no worry about students giving you non-working links. There's no Git knowledge required to use Gist, just a web browser.

Changes are timestamped, so you could verify that all work was complete before the deadline. Since there's no negative to saving often, you could train the students to save every 5-10 minutes to ensure their content isn't lost, and that they have at least something before the deadline. This has the added benefit of allowing you to see how they progressed through the assignment.

Gists also allow downloading. You could download each student's assignment and grade them offline.

If you didn't want to have your students all create their own accounts, you could use a single account for your classroom. Students could then create additional files within the original Gist instead of forking it. This makes it harder to verify individual student work, but could be used to show how to work together as a team.

If you wanted to get more information about each change, you could install a Git client application, such as Git Tower, GitX, or SmartGit. Gists can be cloned, via the links at the top, which would show more detail about what exactly was changed with each revision, such as which lines or words were added, etc.

Gists could also be useful for getting students to worry about their content before they worry abut presentation. That is, by putting the student in a pure text editing headspace, they can't waste time trying to format it (poorly). This could be used to express the difference between semantic structure (content) and presentation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment