Link Search Menu Expand Document

GitHub Classroom Benefits

Table of contents

  1. Advantages
  2. Videos
  3. Examples

Advantages

  • GitHub Classroom is an easy introduction to Git and GitHub for students. It eliminates the cognitive load of learning how to clone, branch, merge, or push to repositories.
    • As students progress in their CS classes, they will already be familiar with Git. It will not be intimidating because they will already have experience with it.
    • Developers need solid Git/GitHub skills to get a job.
  • Read how and why Professor Dan Wallach of Rice University uses GitHub Classroom.

  • All code, instructions, and test cases are logically grouped together into assignment repositories maintained centrally in a single organization by course mentors.

  • Student repositories automatically execute test cases and linting when their assignments are submitted. Bots embedded in the assignment give invaluable feedback to the student immediately, helping them fix any errors.

  • Instructor sees their entire class’s pass/fail status on each programming assignment in one central location.

  • Instructors do not need to download student programs, or run any tests on their own local machines, etc. (I love it)

  • An online IDE (repl.it) can be automatically connected to assignments, allowing students to complete their assignments with a push of a button, even if they cannot install software on their machines.
    • Once the student opens their repo in repl.it, their minute-by-minute action is recorded for instructor review. You can see if they simply cut & paste code, or just check their incremental development over point in time.
  • GitHub and GitHub Classroom are free. Verified students and teachers can receive upgrades to a PRO account.

  • Instructors only need to share the “assignment invitation URL” generated by the GitHub assignment onto their canvas assignment page.

  • 2020 GitHub Education Classroom Report

Videos

Examples

  • Canvas Assignment

  • Instructor Interface

  • Instructor Class Interface

  • Instructor Assignment Interface