Thanks to everyone who responded. These were all good ideas and resources.

The  students ended up doing a great job. It was a student lead workshop.

They did a very brief intro to the idea of git and GitHub. This included just a few slides with basic terminology. Then they went into a live demo mode. The three students running the workshop took turns and demonstrated a mini-real-life interaction:

- one of them created a brand new repository and put code in it

- the other reported an issue regarding that code

- the third person forked the repository, fixed the bug and issued a pull request

- the repository owner reviewed the pull request and merged the changes

They made mistakes along the way, but I think fixing them and having to redo some steps was a good educational experience for everyone.

Finally, the students in the audience (40+) got a chance to do something on their own. They were asked to add their names to the list of participants/contributors to the club projects by forking the repository, making a change and issuing a pull request. The more experienced students got through it fast and started helping out the ones who had never used github before. It was very collaborative experience and it was great to watch this type of interaction among the students.

For those student who want more of a formal lesson, the workshop's repository contains a list to several tutorials and other git/github resources and information how to get the student pack from github. I am always surprised how few students know about the github student pack.

By the end of the session all of the participants issued a pull request.

This was all done using github web interface so we did not run into any problems with local installations.


The one downside was that we did not anticipate all the merge conflicts that this exercise created (I should have thought of that before, but hindsight is always 20/20).



Joanna



----------------------------------------------------
Joanna Klukowska, PhD
Clinical Assistant Professor
Department of Computer Science
Courant Institute of Mathematical Sciences, NYU
Warren Weaver Hall, Room 423
joann...@cs.nyu.edu
http://cs.nyu.edu/~joannakl/
Office hours (Fall 2017):
Monday 11:30am-1:00pm, Thursday 1:30pm-3:00pm
----------------------------------------------------

On 10/14/2017 05:27 PM, Carol Willing wrote:
Hi Emma and others,

I worked on OpenHatch for a number of years so it's cool that folks are still using the materials.

Sharing with Emma and others, a slide deck (consider it public domain) that I have used with complete beginners that uses my opinionated git workflow for open source. It's the workflow that I have found that minimizes merge conflicts (I rarely have one merge conflict a month and I'm a pretty active developer). The keys to avoid the merge conflicts is to always do new development on a feature branch and to be consistent with naming of remotes.

Emma, please ping me if you have any questions or want an extra review when creating your course.

Warmly,

Carol


Carol Willing

Research Software Engineer
Project Jupyter at Cal Poly State University, San Luis Obispo
@willingc on GitHub and @willingcarol on Twitter
willi...@gmail.com <mailto:willi...@gmail.com> and cawil...@calpoly.edu <mailto:cawil...@calpoly.edu>

/Signature Strengths
Empathy - Relator - Ideation - Strategic - Learner/



On Oct 14, 2017, at 1:20 PM, Emma Irwin <emma.ir...@gmail.com <mailto:emma.ir...@gmail.com>> wrote:

+1 on using the Open Hatch process, where people make small commits that have real-time effect via Github Pages. The only flag on that, when I ran it was multiple PR's on the same file ('adding your name') can result in conflicts, and unless you're teaching how to merge conflicts makes it frustrating.

This is a lesson I wrote based on Open Hatch, <https://courses.p2pu.org/en/courses/2654/content/5732/> if it helps . I'm also in the process of writing doing something similar as part of an open source course, and will share back here when I'm done.



On Sat, Oct 14, 2017 at 12:31 PM, Emily M. Lovell <emily_lov...@berea.edu <mailto:emily_lov...@berea.edu>> wrote:

    One intro activity that I like is involving participants in a
    sample web project on GitHub. I got the idea from OpenHatch after
    mentoring at one of their workshops - and I’ve since repeated a
    variant in class with my own students.

    Here’s an example repo from an OpenHatch workshop:
    https://github.com/princeton-8/princeton-8.github.io
    <https://github.com/princeton-8/princeton-8.github.io>
    It uses GitHub Pages <https://pages.github.com/>, which updates
    an associated site
    <http://princeton-8.github.io/princeton-8.github.io/> as pull
    requests are accepted.

    I like that students first see the local changes on their
    computers as they make them - then later the evolving live
    version as their code is merged with their classmates. The
    workflow is for students to claim an issue, work on it, submit a
    pull request, and then the maintainer responds to those. The
    maintainer could be you as an instructor, or some of your more
    advanced participants. I like that such an activity can be
    customized, both for the theme of an event and for various levels
    of experience. (You could provide a more complicated base project
    to begin with and/or supply a broader range of issues.)


            Emily



    On Oct 14, 2017, at 3:04 PM, Carol Willing
    <willi...@willingconsulting.com
    <mailto:willi...@willingconsulting.com>> wrote:

    The Django Girls tutorial's section on bash and git/GitHub are
    very accessible and self paced. Software Carpentry also has a
    good git tutorial. Both are open source.

    On Oct 14, 2017, at 11:17 AM, meg ford <megf...@gnome.org
    <mailto:megf...@gnome.org>> wrote:

    Hi,

    This one might be good for beginners:
    https://try.github.io/levels/1/challenges/1
    <https://try.github.io/levels/1/challenges/1>

    Meg

    On Sat, Oct 14, 2017 at 1:09 PM, Sarah A Sharp
    <saharabe...@gmail.com <mailto:saharabe...@gmail.com>> wrote:

        I don't have a good tutorial resource, but a word of
        advice: give students directions beforehand as to how to
        install git on both Windows and Linux computers. A friend
        watched an interactive git workshop where three students
        with a Windows laptop spent the whole session trying to
        install git rather than paying attention to the lesson.

        Sarah Sharp


        On Oct 14, 2017 10:59 AM, "Joanna Klukowska"
        <joann...@cs.nyu.edu <mailto:joann...@cs.nyu.edu>> wrote:

            Hi All:

            We are preparing a github workshop for the next week
            meeting of the open source club.
            I know that there are tons of tutorials and videos
            online, but I was hoping for something that could be
            done in an interactive fashion.
            The students attending will be at very different levels
            of experience (from total newbies to regular commiters)
            and having someone go through slide like talk or
            telling the students to watch vidoes will most likely
            not work.

            Is anybody familiar with some interactive way of doing
            the git and github intruction?

            I am hoping for something that would allow the students
            who are more experienced to take on the role of teachers.

            Thanks,
            Joanna

-- ---------------------------------------------------
            Joanna Klukowska, PhD
            Clinical Assistant Professor
            Department of Computer Science
            Courant Institute of Mathematical Sciences, NYU
            Warren Weaver Hall, Room 423
            joann...@cs.nyu.edu <mailto:joann...@cs.nyu.edu>
            http://cs.nyu.edu/~joannakl/
            <http://cs.nyu.edu/%7Ejoannakl/>
            Office hours (Fall 2017):
            Monday 11:30am-1:00pm, Thursday 1:30am-3:00pm
            ---------------------------------------------------

            _______________________________________________
            tos mailing list
            tos@teachingopensource.org
            <mailto:tos@teachingopensource.org>
            http://lists.teachingopensource.org/mailman/listinfo/tos
            <http://lists.teachingopensource.org/mailman/listinfo/tos>



        _______________________________________________
        tos mailing list
        tos@teachingopensource.org <mailto:tos@teachingopensource.org>
        http://lists.teachingopensource.org/mailman/listinfo/tos
        <http://lists.teachingopensource.org/mailman/listinfo/tos>


    _______________________________________________
    tos mailing list
    tos@teachingopensource.org <mailto:tos@teachingopensource.org>
    http://lists.teachingopensource.org/mailman/listinfo/tos
    <http://lists.teachingopensource.org/mailman/listinfo/tos>

    _______________________________________________
    tos mailing list
    tos@teachingopensource.org <mailto:tos@teachingopensource.org>
    http://lists.teachingopensource.org/mailman/listinfo/tos
    <http://lists.teachingopensource.org/mailman/listinfo/tos>


    _______________________________________________
    tos mailing list
    tos@teachingopensource.org <mailto:tos@teachingopensource.org>
    http://lists.teachingopensource.org/mailman/listinfo/tos
    <http://lists.teachingopensource.org/mailman/listinfo/tos>




--
-- Emma Irwin

_______________________________________________
tos mailing list
tos@teachingopensource.org <mailto:tos@teachingopensource.org>
http://lists.teachingopensource.org/mailman/listinfo/tos



_______________________________________________
tos mailing list
tos@teachingopensource.org
http://lists.teachingopensource.org/mailman/listinfo/tos

_______________________________________________
tos mailing list
tos@teachingopensource.org
http://lists.teachingopensource.org/mailman/listinfo/tos
TOS website: http://teachingopensource.org/

Reply via email to