Open Source Comes to Campus/Website editing via git

From OpenHatch wiki

Audience of this page

A volunteer staff member

Your goal, over the next 60-90 minutes

  • Provide students with a plausible, albeit simulated, open source project experience where they express some creativity and learn, by using, new technical skills (git+github) and communication skills (issue trackers, IRC).

Things you need to know

  • We have created a Github organization for you to use, with your students forking and submitting pull requests to a static HTML website.
  • We have created bitesize issues in that static HTML project, filed in Github issues.
  • Students are expected to:
    • within Github, assign the ticket to themselves before working on it.
    • work using our "bug report" printed worksheet, so that the process of working with bugs in a project is very clear in their mind.
  • Your goal is to help them succeed!
  • Students can chat in person with whoever they want, but you should encourage them to also keep IRC open during the experience. Feel free to mentor them in person, with your voice, and to encourage students to work together.
  • If students work together, try to have them leave all of their github usernames somewhere on the Github issue that they solved as a group. That's for our record-keeping about how the event went.
  • Sometimes a student will submit a pull request that needs fixing. For example:
    • They might make unrelated changes in the file.
    • They might fail to fix the issue correctly.
    • They might submit two commits that need to be in separate pull requests, since we haven't taught them about branches yet.
  • When this happens, you should usually ask all students to watch you as you provide feedback (in person) to the person who submitted. Rationale:
    • Usually there is something to learn about git, or about being careful, that all the students will benefit from.
    • If you spend more than a few minutes working one on one with a student, the other students won't have anything to do, and then you'll have a long review queue and struggle to get on top of it.
  • Asheesh recommends you encourage Windows and Mac users to stay away from "Github for Windows" and "Github for Mac" because the steps you need to follow with those are different than what we have documented. Others have disagreed on this, but that's what Asheesh thinks. (The laptop setup guide also steers clear of those, so if students are following directions, they will do things the Asheesh way.)
  • Your main repository is configured, via Github Pages, to load on the web at a HTTP URL the same as the repository name. So, once you merge students' pull requests, they should be visible on the web at that address.
    • Note that it takes about 2 minutes for the site to update with new changes. So don't expect it all to happen immediately.
  • If you finish early, or if you have questions, tell Asheesh and Shauna on the #openhatch IRC channel.
  • If students finish early, congratulate them, and tell them to work on the "Finding an open source project that suits a partner's interests" activity.