Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GitHub Education 2017 Classroom Report

@mozzadrella
August 29, 2017

GitHub Education 2017 Classroom Report

In July we asked you about your level of Git mastery, what you want out of a teacher-training program, and where your students struggle with Git and GitHub.

Here are the results of our first annual GitHub Education Classroom Report.

@mozzadrella

August 29, 2017
Tweet

More Decks by @mozzadrella

Other Decks in Education

Transcript

  1. 2017
    Classroom Report

    View Slide

  2. Teachers, tell us:
    • Which courses do you teach?
    • What’s your level of Git mastery?
    • Where do students struggle with Git +
    GitHub?

    View Slide

  3. 172
    teachers responded

    View Slide

  4. Community snapshot
    GitHub Education tools
    Git + GitHub mastery
    Teacher training

    View Slide

  5. COMMUNITY
    SNAPSHOT

    View Slide

  6. Programming Languages
    AP Computer Science - A
    AP Computer Science - Principles
    Computer Science I
    Software Development Fundamentals
    Computer Science II
    Software Engineering
    Algorhthms and Complexity
    Platform-based Development
    Networking and Communication
    Archiecture and Organization
    Graphics and Visualization
    Human-Computer Interaction
    Operating Systems
    Parallel and Distributed Computing
    # of teachers
    0 18 35 53 70
    13
    15
    15
    15
    15
    17
    21
    29
    41
    41
    47
    59
    34
    34
    68
    Which courses do you teach?
    (Check all that apply)

    View Slide

  7. Do you use any sort of version control in
    your classes?
    No

    44% Yes

    56%

    View Slide

  8. (Of those who do use version control)
    Do you use Git in your classes?
    No

    7%
    Yes

    93%

    View Slide

  9. GIT MASTERY

    View Slide

  10. Creating a new branch
    Committing to a new branch
    Cloning a repository on your local machine
    Creating a repository on the command line
    Pushing to a remote repository
    Opening a pull request
    Editing a pull request
    Merging a pull request
    # of teachers
    0 25 50 75 100
    49
    43
    59
    84
    65
    91
    75
    75
    Which of the following are your comfortable doing
    without referencing documentation?

    View Slide

  11. Resolving a merge conflict locally
    Resolving a merge conflict from the remote
    Reverting a commit
    Renaming a file with Git
    Moving a file with Git
    Rebasing
    Shashing commits
    Cherry-picking commits
    # of teachers
    0 15 30 45 60
    10
    14
    20
    37
    37
    36
    26
    53
    Which of the following are your comfortable doing
    without referencing documentation?

    View Slide

  12. Using Git reset
    Using the reflog
    Effectively using labels
    Effectively using milestones
    Effectively using issues
    Integrating automated testing
    Making a call to the GitHub API
    Setting up a page on GitHub Pages
    Using Git with your IDE
    # of teachers
    0 12,5 25 37,5 50
    44
    33
    7
    15
    33
    21
    20
    11
    25
    Which of the following are your comfortable doing
    without referencing documentation?

    View Slide

  13. How important are the
    following topics to teachers
    just getting started?
    Which topics are the
    hardest to teach to
    students?

    View Slide

  14. 0
    12,5
    25
    37,5
    50
    49
    26
    15
    7
    Not at all important
    Slightly important
    Somewhat important
    Very important
    Creating a new branch
    IMPORTANCE DIFFICULTY
    0
    10
    20
    30
    40
    5
    15
    37
    39
    Easy
    Comprehension takes several attempts
    Students struggle with this material
    Too difficult to teach in my class

    View Slide

  15. 0
    15
    30
    45
    60
    52
    15
    24
    6
    Not at all important
    Slightly important
    Somewhat important
    Very important
    Committing to a new branch
    IMPORTANCE DIFFICULTY
    0
    10
    20
    30
    40
    5
    18
    38
    36
    Easy
    Comprehension takes several attempts
    Students struggle with this material
    Too difficult to teach in my class

    View Slide

  16. 0
    22,5
    45
    67,5
    90
    87
    8
    1
    1
    Not at all important
    Slightly important
    Somewhat important
    Very important
    Cloning a repository
    to your local machine
    IMPORTANCE DIFFICULTY
    0
    17,5
    35
    52,5
    70
    3
    5
    20
    69
    Easy
    Comprehension takes several attempts
    Students struggle with this material
    Too difficult to teach in my class

    View Slide

  17. 0
    20
    40
    60
    80
    73
    20
    3
    1
    Not at all important
    Slightly important
    Somewhat important
    Very important
    Pushing to a remote repository
    IMPORTANCE DIFFICULTY
    0
    12,5
    25
    37,5
    50
    4
    12
    41
    40
    Easy
    Comprehension takes several attempts
    Students struggle with this material
    Too difficult to teach in my class

    View Slide

  18. 0
    10
    20
    30
    40
    38
    30
    18
    11
    Not at all important
    Slightly important
    Somewhat important
    Very important
    Opening a pull request
    IMPORTANCE DIFFICULTY
    0
    8
    16
    24
    32
    15
    28
    32
    22
    Easy
    Comprehension takes several attempts
    Students struggle with this material
    Too difficult to teach in my class

    View Slide

  19. 0
    7,5
    15
    22,5
    30
    29
    29
    25
    14
    Not at all important
    Slightly important
    Somewhat important
    Very important
    Editing a pull request
    IMPORTANCE DIFFICULTY
    0
    8,5
    17
    25,5
    34
    17
    33
    32
    15
    Easy
    Comprehension takes several attempts
    Students struggle with this material
    Too difficult to teach in my class

    View Slide

  20. 0
    10
    20
    30
    40
    37
    28
    21
    11
    Not at all important
    Slightly important
    Somewhat important
    Very important
    Merging a pull request
    IMPORTANCE DIFFICULTY
    0
    10
    20
    30
    40
    17
    34
    36
    10
    Easy
    Comprehension takes several attempts
    Students struggle with this material
    Too difficult to teach in my class

    View Slide

  21. 0
    15
    30
    45
    60
    51
    28
    16
    2
    Not at all important
    Slightly important
    Somewhat important
    Very important
    IMPORTANCE DIFFICULTY
    0
    15
    30
    45
    60
    13
    57
    24
    3
    Easy
    Comprehension takes several attempts
    Students struggle with this material
    Too difficult to teach in my class
    Resolving a merge conflict
    from your local machine

    View Slide

  22. 0
    10
    20
    30
    40
    39
    28
    22
    8
    Not at all important
    Slightly important
    Somewhat important
    Very important
    IMPORTANCE DIFFICULTY
    0
    15
    30
    45
    60
    26
    51
    18
    2
    Easy
    Comprehension takes several attempts
    Students struggle with this material
    Too difficult to teach in my class
    Resolving a merge conflict
    from the remote

    View Slide

  23. 0
    10
    20
    30
    40
    35
    37
    20
    5
    Not at all important
    Slightly important
    Somewhat important
    Very important
    IMPORTANCE DIFFICULTY
    0
    15
    30
    45
    60
    26
    51
    18
    2
    Easy
    Comprehension takes several attempts
    Students struggle with this material
    Too difficult to teach in my class
    Reverting a commit

    View Slide

  24. 0
    10
    20
    30
    40
    23
    24
    38
    12
    Not at all important
    Slightly important
    Somewhat important
    Very important
    IMPORTANCE DIFFICULTY
    0
    10
    20
    30
    40
    16
    16
    37
    28
    Easy
    Comprehension takes several attempts
    Students struggle with this material
    Too difficult to teach in my class
    Renaming a file with Git

    View Slide

  25. 0
    10
    20
    30
    40
    24
    25
    34
    14
    Not at all important
    Slightly important
    Somewhat important
    Very important
    Moving a file with Git
    IMPORTANCE DIFFICULTY
    0
    10
    20
    30
    40
    16
    17
    37
    27
    Easy
    Comprehension takes several attempts
    Students struggle with this material
    Too difficult to teach in my class

    View Slide

  26. 0
    10
    20
    30
    40
    14
    19
    37
    27
    Not at all important
    Slightly important
    Somewhat important
    Very important
    Rebasing
    IMPORTANCE DIFFICULTY
    0
    12,5
    25
    37,5
    50
    45
    31
    18
    3
    Easy
    Comprehension takes several attempts
    Students struggle with this material
    Too difficult to teach in my class

    View Slide

  27. 0
    10
    20
    30
    40
    11
    14
    40
    32
    Not at all important
    Slightly important
    Somewhat important
    Very important
    Squashing commits
    IMPORTANCE DIFFICULTY
    0
    12,5
    25
    37,5
    50
    45
    32
    17
    3
    Easy
    Comprehension takes several attempts
    Students struggle with this material
    Too difficult to teach in my class

    View Slide

  28. 0
    10
    20
    30
    40
    11
    14
    35
    37
    Not at all important
    Slightly important
    Somewhat important
    Very important
    Cherry-picking commits
    IMPORTANCE DIFFICULTY
    0
    12,5
    25
    37,5
    50
    48
    28
    17
    4
    Easy
    Comprehension takes several attempts
    Students struggle with this material
    Too difficult to teach in my class

    View Slide

  29. 0
    10
    20
    30
    40
    18
    23
    40
    16
    Not at all important
    Slightly important
    Somewhat important
    Very important
    Using Git reset
    IMPORTANCE DIFFICULTY
    0
    10
    20
    30
    40
    30
    30
    32
    5
    Easy
    Comprehension takes several attempts
    Students struggle with this material
    Too difficult to teach in my class

    View Slide

  30. 0
    8,5
    17
    25,5
    34
    17
    24
    34
    22
    Not at all important
    Slightly important
    Somewhat important
    Very important
    Using the reflow to view history
    IMPORTANCE DIFFICULTY
    0
    10
    20
    30
    40
    25
    26
    34
    12
    Easy
    Comprehension takes several attempts
    Students struggle with this material
    Too difficult to teach in my class

    View Slide

  31. 0
    10
    20
    30
    40
    12
    26
    33
    26
    Not at all important
    Slightly important
    Somewhat important
    Very important
    Effectively using labels
    IMPORTANCE DIFFICULTY
    0
    7,5
    15
    22,5
    30
    30
    22
    29
    16
    Easy
    Comprehension takes several attempts
    Students struggle with this material
    Too difficult to teach in my class

    View Slide

  32. 0
    10
    20
    30
    40
    15
    16
    39
    27
    Not at all important
    Slightly important
    Somewhat important
    Very important
    Effectively using milestones
    IMPORTANCE DIFFICULTY
    0
    7,5
    15
    22,5
    30
    29
    26
    28
    14
    Easy
    Comprehension takes several attempts
    Students struggle with this material
    Too difficult to teach in my class

    View Slide

  33. 0
    8,5
    17
    25,5
    34
    27
    20
    34
    16
    Not at all important
    Slightly important
    Somewhat important
    Very important
    Effectively using issues
    IMPORTANCE DIFFICULTY
    0
    7,25
    14,5
    21,75
    29
    23
    24
    29
    21
    Easy
    Comprehension takes several attempts
    Students struggle with this material
    Too difficult to teach in my class

    View Slide

  34. 0
    6,75
    13,5
    20,25
    27
    27
    25
    24
    21
    Not at all important
    Slightly important
    Somewhat important
    Very important
    Integrating automated tests
    IMPORTANCE DIFFICULTY
    0
    12,5
    25
    37,5
    50
    42
    33
    19
    3
    Easy
    Comprehension takes several attempts
    Students struggle with this material
    Too difficult to teach in my class

    View Slide

  35. 0
    12,5
    25
    37,5
    50
    12
    12
    25
    48
    Not at all important
    Slightly important
    Somewhat important
    Very important
    Making a call to the GitHub API
    IMPORTANCE DIFFICULTY
    0
    12,5
    25
    37,5
    50
    47
    31
    17
    2
    Easy
    Comprehension takes several attempts
    Students struggle with this material
    Too difficult to teach in my class

    View Slide

  36. 22
    23,25
    24,5
    25,75
    27
    23
    23
    27
    24
    Not at all important
    Slightly important
    Somewhat important
    Very important
    Setting up a webpage on GitHub Pages
    IMPORTANCE DIFFICULTY
    0
    9
    18
    27
    36
    21
    19
    36
    21
    Easy
    Comprehension takes several attempts
    Students struggle with this material
    Too difficult to teach in my class

    View Slide

  37. 0
    10
    20
    30
    40
    34
    26
    24
    13
    Not at all important
    Slightly important
    Somewhat important
    Very important
    Using Git with your IDE
    IMPORTANCE DIFFICULTY
    0
    8,5
    17
    25,5
    34
    15
    21
    33
    28
    Easy
    Comprehension takes several attempts
    Students struggle with this material
    Too difficult to teach in my class

    View Slide

  38. GITHUB EDUCATION
    TOOLS

    View Slide

  39. Have you used GitHub Classroom?
    58%
    11%
    31%
    Yes, and currently use it
    Yes, but have stopped using it
    No

    View Slide

  40. WHAT IS ONE THING
    GITHUB EDUCATION
    COULD DO TO HELP
    TEACHERS?

    View Slide

  41. “GitHub is not a goal but
    a means and merge
    conflicts should be
    addressed in a better way
    I think.”

    View Slide

  42. “Examples of basic workflows for
    different types of projects -
    working alone, working in a small
    group, contributing to a major
    project as one of many, managing
    a project with many contributors.
    What do each of those look like
    day to day, building up from the
    simple to the complex.”

    View Slide

  43. “Ideas on Best Practices...
    Some help with integration
    tests would be awesome”

    View Slide

  44. “Provide training for teachers in
    how to effectively use GitHub in the
    classroom. Also, provide clear
    instruction sheets that can be given
    to students to explain how to use
    the various aspects of GitHub.”

    View Slide

  45. “Have a structured way to move
    through the material (i.e. a
    curriculum rather than just a series
    of help pages) that both teachers
    and students can refer to.”

    View Slide

  46. TEACHER TRAINING

    View Slide

  47. How would you like to receive teacher
    training from GitHub Education?
    8%
    10%
    81%
    Asynchronously and at my own pace
    In-person on my own campus
    At GitHub's Headquarters in SF

    View Slide

  48. Sign up to know more
    about teacher-training:

    View Slide

  49. 2017
    Classroom Report

    View Slide