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

GitHub Education 2017 Classroom Report

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 full-size 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 full-size slide

  3. 172
    teachers responded

    View full-size slide

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

    View full-size slide

  5. COMMUNITY
    SNAPSHOT

    View full-size 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 full-size slide

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

    44% Yes

    56%

    View full-size slide

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

    7%
    Yes

    93%

    View full-size slide

  9. 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 full-size slide

  10. 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 full-size slide

  11. 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 full-size slide

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

    View full-size slide

  13. 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 full-size slide

  14. 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 full-size slide

  15. 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 full-size slide

  16. 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 full-size slide

  17. 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 full-size slide

  18. 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 full-size slide

  19. 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 full-size slide

  20. 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 full-size slide

  21. 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 full-size slide

  22. 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 full-size slide

  23. 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 full-size slide

  24. 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 full-size slide

  25. 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 full-size slide

  26. 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 full-size slide

  27. 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 full-size slide

  28. 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 full-size slide

  29. 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 full-size slide

  30. 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 full-size slide

  31. 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 full-size slide

  32. 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 full-size slide

  33. 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 full-size slide

  34. 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 full-size slide

  35. 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 full-size slide

  36. 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 full-size slide

  37. GITHUB EDUCATION
    TOOLS

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  41. “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 full-size slide

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

    View full-size slide

  43. “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 full-size slide

  44. “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 full-size slide

  45. TEACHER TRAINING

    View full-size slide

  46. 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 full-size slide

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

    View full-size slide

  48. 2017
    Classroom Report

    View full-size slide