Slide 1

Slide 1 text

! CHANGING PRACTICE, ONE PR AT A TIME

Slide 2

Slide 2 text

! johndbritton

Slide 3

Slide 3 text

!

Slide 4

Slide 4 text

WHAT IS A PULL REQUEST?

Slide 5

Slide 5 text

FEATURE

Slide 6

Slide 6 text

“Hey, I think you missed a spot.”

Slide 7

Slide 7 text

CONTRIBUTE

Slide 8

Slide 8 text

COMMUNICATE

Slide 9

Slide 9 text

PHILOSOPHY

Slide 10

Slide 10 text

“We’re always learning.”

Slide 11

Slide 11 text

IMPROVEMENT

Slide 12

Slide 12 text

AN INVITATION

Slide 13

Slide 13 text

SOCIAL CODING = SOCIAL LEARNING

Slide 14

Slide 14 text

WHAT DO PULL REQUESTS HAVE TO DO WITH PEDAGOGY?

Slide 15

Slide 15 text

3 SHIFTS IN CLASSROOM PRACTICE

Slide 16

Slide 16 text

APPLIED APPROACH

Slide 17

Slide 17 text

SOCIAL SKILLS

Slide 18

Slide 18 text

KNOWLEDGE CO-CONSTRUCTION

Slide 19

Slide 19 text

CLASSROOM AS COMMUNITY

Slide 20

Slide 20 text

FROM TO

Slide 21

Slide 21 text

HOW DO PULL REQUESTS FOSTER COMMUNITY?

Slide 22

Slide 22 text

DO THE PEOPLE WHO LIKE IT TAKE CARE OF EACH OTHER? COMMUNITY:

Slide 23

Slide 23 text

COMMUNITY OF INQUIRY MODEL

Slide 24

Slide 24 text

TEACHING PRESENCE

Slide 25

Slide 25 text

“Pull requests (PR) are the heart of the GitHub work- flow, and we took advantage of PRs, including task lists so that students could report on their work in progress and get over initial humps. Any merged PR got extra credit(!). Because the course had been improved in some way—this seemed like an interesting standard for giving out extra credit.” - Jim Baker, University of Colorado

Slide 26

Slide 26 text

ATTACH WIP PULL REQUESTS

Slide 27

Slide 27 text

CI / PASSING INTEGRATION

Slide 28

Slide 28 text

COGNITIVE PRESENCE

Slide 29

Slide 29 text

STUDENTS FIND MENTORS “UPSTREAM”

Slide 30

Slide 30 text

“To get the students involved in their projects, we encouraged them to make actual contributions. Several teams were successful in this, and offered pull requests that were actually merged…. The open source projects generally welcomed these contributions, as illustrated by the HornetQ reaction” - Arie van Deursen, Delft University of Technology

Slide 31

Slide 31 text

PATCHES == EXTRA CREDIT

Slide 32

Slide 32 text

“Your job is to identify an existing ticket in an upstream project and send a patch. For every patch you submit that gets accepted, you get extra credit. I totally have students “hacking” their grade in my course, and submitting 17 patches by the end of it. That makes me pretty confident that at the end of the class they will do this stuff in real life, because they are doing it on their own.” - Remy DeCausemaker, RIT

Slide 33

Slide 33 text

SOCIAL PRESENCE

Slide 34

Slide 34 text

DIGITAL IDENTITY

Slide 35

Slide 35 text

Developers also sought out more information on others in response to code contributions. They sought out information about other developers’ interaction style and interest to inform how they communicated with them. They also formed ability and expertise impressions based on profile information. These impressions influenced the way they handled project contributions moreso when the value of submitted contributions was uncertain, the contributor was unknown and future interactions were not expected. - J. Marlow et al. (2013)

Slide 36

Slide 36 text

PEER REVIEW

Slide 37

Slide 37 text

No content

Slide 38

Slide 38 text

No content

Slide 39

Slide 39 text

No content

Slide 40

Slide 40 text

PULL REQUESTS —> COMMUNITY

Slide 41

Slide 41 text

HOW DO PULL REQUESTS MAKE MY LIFE EASIER?

Slide 42

Slide 42 text

WAY LESS CHEATING

Slide 43

Slide 43 text

D.R.Y.

Slide 44

Slide 44 text

BALANCE THE LOAD

Slide 45

Slide 45 text

CHECK INS DURING CLASS

Slide 46

Slide 46 text

LEARNERS BUILD THEIR NETWORK

Slide 47

Slide 47 text

…because the TAs worked so closely with each of the teams over eight weeks, they had a really good sense of how well each team performed, how well they did using the software engineering techniques, and who actually contributed and who didn’t contribute.” - Dean James Larus, EPFL (École polytechnique fédérale de Lausanne)

Slide 48

Slide 48 text

PULL REQUESTS + PROJECTS = LESS WORK, MORE REWARD

Slide 49

Slide 49 text

GITHUB EDUCATION IS HERE TO HELP

Slide 50

Slide 50 text

No content

Slide 51

Slide 51 text

No content

Slide 52

Slide 52 text

CASE STUDIES

Slide 53

Slide 53 text

! references + further reading 1. Basu, S. “Team Collaboration With GitHub” http://code.tutsplus.com/articles/team-collaboration-with-github-- net-29876 2. Binns, R. “Open Research in Practice: responding to peer review with GitHub” http://www.reubenbinns.com/blog/ open-research-in-practice-responding-to-peer-review-with-github/ 3. Escalante, J. “GitHub Pull Request Tutorial” http://www.thinkful.com/learn/github-pull-request-tutorial/Work- in-Progress 4. Garrison, D. R. (2011). E-learning in the 21st century: A framework for research and practice. Taylor & Francis. 5. Marlow, J., Dabbish, L., & Herbsleb, J. (2013, February). Impression formation in online peer production: activity traces and personal profiles in github. In Proceedings of the 2013 conference on Computer supported cooperative work(pp. 117-128). ACM. http://herbsleb.org/web-pubs/pdfs/marlow-impression-2013.pdf 6. McMinn, K. “How to Write the Perfect Pull Request” https://github.com/blog/1943-how-to-write-the-perfect- pull-request 7. Orsini, L. “How To Win Friends And Make Pull Requests On GitHub” http://readwrite.com/2014/07/02/github- pull-request-etiquette 8. Rigby, P. C., German, D. M., Cowen, L., & Storey, M. A. (2014). Peer Review on Open-Source Software Projects: Parameters, Statistical Models, and Theory. ACM Transactions on Software Engineering and Methodology (TOSEM), 23(4), 35. http://users.encs.concordia.ca/~pcr/paper/Rigby2014TOSEM.pdf 9. Zagalsky, A., Feliciano, J., Storey, M. A., Zhao, Y., & Wang, W. (2015). The Emergence of GitHub as a Collaborative Platform for Education. http://alexeyza.com/pdf/cscw15.pdf

Slide 54

Slide 54 text

! johndbritton education.github.com