Prerequisites
- GitHub user id (if you haven’t done so already)
- (recommended) photo of your faculty ID to request education benefits
In GitHub…
- Login
- Create new organization in GitHub
- select the “+” in the upper right of the screen and choose “new organization”
- you will create a new organization for each class
- the organization is linked to your github profile and will house the student repositories created through GitHub Classroom
- Set up the organization
- the free version is sufficient
- you can request free unlimited private repositories through GitHub Education later
- Skip the prompt to “invite members” to your organization (select “Continue”)
- students will NOT be “members” of the organization
- students will become “outside collaborators” when later added through GitHub Classroom
- Populate organization details
- mark that the organization is for educational use
- mark length of time for your class
- mark number of users (class enrollment)
In GitHub Classroom…
- GitHub Classroom Sign In (using GitHub credentials)
- Initate a “New Classroom” from GitHub Classroom landing page
- Grant GitHub Classroom access to the GitHub organization created previously
- The organizations shown (if any) have already been configured for access from GitHub Classroom
- Newly initiated organizations will not populate on the list yet
- Choose “Grand access to an organization that is not listed”
- Grant access to GitHub organization
- GitHub Classroom will populate a list of organizations associated with your GitHub credentials
- Click “Grant” next to the organization you want affiliated with your class
- You may also “Revoke” access if needed
- You will be prompted for your GitHub credentials
- Select GitHub organization for your class
- back to GitHub Classroom main page (may need to refresh page)
- your newly configured organization should be among the available options
- You will be prompted to rename your classroom (can be changed later if necessary)
- You will have an opportunity to invite other administrators (can be invited later if necessary)
- Set up class roster in GitHub Classroom
- this step is optional, and can be revisited later
(Recommended) GitHub Education Benefits
- Initiate GitHub Education Benefits
- unlimited private repositories
- unlimited collaborators (students)
- click the (well camouflaged) link or Internet search “github education”
- https://education.github.com
- Apply for GitHub Education Benefits
- Apply for GitHub Education Benefits
- Follow prompts to identify the github organization and describe your use
- You may need to show proof of academic status (e.g., upload photo of institution ID)
- verification of faculty status may take a few business days
- verification retained to expedite future requests
- Upgrade your organization once you are verified as faculty
Creating an assignment in GitHub Classroom
- Create your first assignment
- Choose “individual” or “group assignment”
- individual: each student has their own repository for the assignment
- group: the group will have a shared repository for the assignment
- Configure GitHub Classroom Assignment
- create concise assignment title
- choose public vs private–should student work be visible to public, including other students?
- determine whether students should have admin permissions on their repository, allowing them to
- revoke instructor access
- make private repo public
- and more
- enable assignment URL for easy distribution
- you may initialize student repos with code, templates, data sets, etc
- imports contents of an existing GitHub Repo
- can be a private repo associated with your own GitHub credentials
- you can configure a due date in GitHub Classroom
- Deploy assignment to students!
- invitation link can be posted in LMS, or otherwise distributed.
- when students click the link they will be prompted to accept the assignment
- once accepted, the assignment “clones” a version of the starter code (if provided) and initiates a new repo for the student
- student is then provided a link to their new GitHub repository (within your controlled github organization linked to the class)
LS0tCnRpdGxlOiAiR2l0SHViIENsYXNzcm9vbSBDb25maWd1cmF0aW9uIgpzdWJ0aXRsZTogIk9yaWdpbmFsbHkgcHJlcGFyZWQgZm9yIFVTQ09UUyAyMDE5IEJyZWFrb3V0IFNlc3Npb24iCmF1dGhvcjogIk1hdHRoZXcgQmVja21hbiAmIEFkYW0gU3VsbGl2YW4iCmRhdGU6ICJNYXkgMTcsIDIwMTkiCm91dHB1dDogaHRtbF9ub3RlYm9vawotLS0KCgojIFByZXJlcXVpc2l0ZXMKCi0gR2l0SHViIHVzZXIgaWQgKGlmIHlvdSBoYXZlbid0IGRvbmUgc28gYWxyZWFkeSkKLSAocmVjb21tZW5kZWQpIHBob3RvIG9mIHlvdXIgZmFjdWx0eSBJRCB0byByZXF1ZXN0IGVkdWNhdGlvbiBiZW5lZml0cwoKCiMgSW4gR2l0SHViLi4uCgoKMC4gTG9naW4gCjEuIENyZWF0ZSBuZXcgb3JnYW5pemF0aW9uIGluIEdpdEh1YgogICAgLSBzZWxlY3QgdGhlICIrIiBpbiB0aGUgdXBwZXIgcmlnaHQgb2YgdGhlIHNjcmVlbiBhbmQgY2hvb3NlICJuZXcgb3JnYW5pemF0aW9uIgogICAgLSB5b3Ugd2lsbCBjcmVhdGUgYSBuZXcgb3JnYW5pemF0aW9uIGZvciBlYWNoIGNsYXNzCiAgICAtIHRoZSBvcmdhbml6YXRpb24gaXMgbGlua2VkIHRvIHlvdXIgZ2l0aHViIHByb2ZpbGUgYW5kIHdpbGwgaG91c2UgdGhlIHN0dWRlbnQgcmVwb3NpdG9yaWVzIGNyZWF0ZWQgdGhyb3VnaCBHaXRIdWIgQ2xhc3Nyb29tCgo8Y2VudGVyPgoKIVtGaWcuIEluaXRhdGUgbmV3IEdpdEh1YiBvcmdhbml6YXRpb25dKEdpdEh1YiBDbGFzc3Jvb20gSW1hZ2VzLzAyLW5ldyBnaXRodWIgb3JnLnBuZyl7d2lkdGg9ODAlfQoKPC9icj4KCjwvY2VudGVyPgoKMi4gU2V0IHVwIHRoZSBvcmdhbml6YXRpb24KICAgIC0gdGhlIGZyZWUgdmVyc2lvbiBpcyBzdWZmaWNpZW50CiAgICAtIHlvdSBjYW4gcmVxdWVzdCBmcmVlIHVubGltaXRlZCBwcml2YXRlIHJlcG9zaXRvcmllcyB0aHJvdWdoIEdpdEh1YiBFZHVjYXRpb24gbGF0ZXIKCjxjZW50ZXI+CgohW0ZpZy4gU2V0IHVwIEdpdEh1YiBvcmdhbml6YXRpb25dKEdpdEh1YiBDbGFzc3Jvb20gSW1hZ2VzLzAzLXNldCB1cCBvcmcucG5nKXt3aWR0aD03MCV9Cgo8L2JyPgoKPC9jZW50ZXI+CgozLiBTa2lwIHRoZSBwcm9tcHQgdG8gImludml0ZSBtZW1iZXJzIiB0byB5b3VyIG9yZ2FuaXphdGlvbiAoc2VsZWN0ICJDb250aW51ZSIpCiAgICAtIHN0dWRlbnRzIHdpbGwgTk9UIGJlICJtZW1iZXJzIiBvZiB0aGUgb3JnYW5pemF0aW9uCiAgICAtIHN0dWRlbnRzIHdpbGwgYmVjb21lICJvdXRzaWRlIGNvbGxhYm9yYXRvcnMiIHdoZW4gbGF0ZXIgYWRkZWQgdGhyb3VnaCBHaXRIdWIgQ2xhc3Nyb29tIAoKPGNlbnRlcj4KCiFbRmlnLiBTa2lwIHByb21wdCB0byBpbnZpdGUgbWVtYmVyc10oR2l0SHViIENsYXNzcm9vbSBJbWFnZXMvMDQtaW52aXRlIG1lbWJlcnMgKGNvbnQpLnBuZyl7d2lkdGg9ODAlfQoKPC9icj4KCjwvY2VudGVyPgoKNC4gUG9wdWxhdGUgb3JnYW5pemF0aW9uIGRldGFpbHMKICAgIC0gbWFyayB0aGF0IHRoZSBvcmdhbml6YXRpb24gaXMgZm9yIGVkdWNhdGlvbmFsIHVzZQogICAgLSBtYXJrIGxlbmd0aCBvZiB0aW1lIGZvciB5b3VyIGNsYXNzCiAgICAtIG1hcmsgbnVtYmVyIG9mIHVzZXJzIChjbGFzcyBlbnJvbGxtZW50KQoKPGNlbnRlcj4gCgohW0ZpZy4gR2l0SHViIG9yZ2FuaXphdGlvbiBkZXRhaWxzXShHaXRIdWIgQ2xhc3Nyb29tIEltYWdlcy8wNS1vcmcgZGV0YWlscy5wbmcpe3dpZHRoPTgwJX0KCjwvYnI+Cgo8L2NlbnRlcj4KCgoKCgojIEluIEdpdEh1YiBDbGFzc3Jvb20uLi4KCjUuIEdpdEh1YiBDbGFzc3Jvb20gU2lnbiBJbiAodXNpbmcgR2l0SHViIGNyZWRlbnRpYWxzKQo2LiBJbml0YXRlIGEgIk5ldyBDbGFzc3Jvb20iIGZyb20gR2l0SHViIENsYXNzcm9vbSBsYW5kaW5nIHBhZ2UKCjxjZW50ZXI+CgohW0ZpZy4gSW5pdGlhdGUgbmV3IGNsYXNzcm9vbSBdKEdpdEh1YiBDbGFzc3Jvb20gSW1hZ2VzLzAwLWdpdGh1YiBjbGFzc3Jvb20ucG5nKXt3aWR0aD04MCV9Cgo8L2JyPgoKPC9jZW50ZXI+Cgo3LiBHcmFudCBHaXRIdWIgQ2xhc3Nyb29tIGFjY2VzcyB0byB0aGUgR2l0SHViIG9yZ2FuaXphdGlvbiBjcmVhdGVkIHByZXZpb3VzbHkKICAgIC0gVGhlIG9yZ2FuaXphdGlvbnMgc2hvd24gKGlmIGFueSkgaGF2ZSBhbHJlYWR5IGJlZW4gY29uZmlndXJlZCBmb3IgYWNjZXNzIGZyb20gR2l0SHViIENsYXNzcm9vbQogICAgLSBOZXdseSBpbml0aWF0ZWQgb3JnYW5pemF0aW9ucyB3aWxsIG5vdCBwb3B1bGF0ZSBvbiB0aGUgbGlzdCB5ZXQKICAgIC0gQ2hvb3NlICJHcmFuZCBhY2Nlc3MgdG8gYW4gb3JnYW5pemF0aW9uIHRoYXQgaXMgbm90IGxpc3RlZCIKCgo8Y2VudGVyPiAKCiFbRmlnLiBJbml0YXRlIGFjY2VzcyB0byBHaXRIdWIgb3JnYW5pemF0aW9uXShHaXRIdWIgQ2xhc3Nyb29tIEltYWdlcy8wNi1iYWNrIHRvIGNsYXNzcm9vbS5wbmcpe3dpZHRoPTgwJX0KCjwvYnI+Cgo8L2NlbnRlcj4KCgo4LiBHcmFudCBhY2Nlc3MgdG8gR2l0SHViIG9yZ2FuaXphdGlvbgogICAgLSBHaXRIdWIgQ2xhc3Nyb29tIHdpbGwgcG9wdWxhdGUgYSBsaXN0IG9mIG9yZ2FuaXphdGlvbnMgYXNzb2NpYXRlZCB3aXRoIHlvdXIgR2l0SHViIGNyZWRlbnRpYWxzCiAgICAtIENsaWNrICJHcmFudCIgbmV4dCB0byB0aGUgb3JnYW5pemF0aW9uIHlvdSB3YW50IGFmZmlsaWF0ZWQgd2l0aCB5b3VyIGNsYXNzCiAgICAtIFlvdSBtYXkgYWxzbyAiUmV2b2tlIiBhY2Nlc3MgaWYgbmVlZGVkCjkuIFlvdSB3aWxsIGJlIHByb21wdGVkIGZvciB5b3VyIEdpdEh1YiBjcmVkZW50aWFscyAKCgo8Y2VudGVyPgoKIVtGaWcuIEdyYW50IGFjY2VzcyB0byBHaXRIdWIgb3JnYW5pemF0aW9uXShHaXRIdWIgQ2xhc3Nyb29tIEltYWdlcy8wNy1sb2NhdGUgbmV3IG9yZy5wbmcpe3dpZHRoPTgwJX0KCjwvYnI+Cgo8L2NlbnRlcj4KCgoKMTAuIFNlbGVjdCBHaXRIdWIgb3JnYW5pemF0aW9uIGZvciB5b3VyIGNsYXNzCiAgICAtIGJhY2sgdG8gR2l0SHViIENsYXNzcm9vbSBtYWluIHBhZ2UgKG1heSBuZWVkIHRvIHJlZnJlc2ggcGFnZSkKICAgIC0geW91ciBuZXdseSBjb25maWd1cmVkIG9yZ2FuaXphdGlvbiBzaG91bGQgYmUgYW1vbmcgdGhlIGF2YWlsYWJsZSBvcHRpb25zCjExLiBZb3Ugd2lsbCBiZSBwcm9tcHRlZCB0byByZW5hbWUgeW91ciBjbGFzc3Jvb20gKGNhbiBiZSBjaGFuZ2VkIGxhdGVyIGlmIG5lY2Vzc2FyeSkKMTIuIFlvdSB3aWxsIGhhdmUgYW4gb3Bwb3J0dW5pdHkgdG8gaW52aXRlIG90aGVyIGFkbWluaXN0cmF0b3JzIChjYW4gYmUgaW52aXRlZCBsYXRlciBpZiBuZWNlc3NhcnkpCgo8Y2VudGVyPiAKCiFbRmlnLiBTZWxlY3QgR2l0SHViIG9yZ2FuaXphdGlvbiBmb3IgeW91ciBjbGFzc10oR2l0SHViIENsYXNzcm9vbSBJbWFnZXMvMTAtcmVmcmVzaCBhbmQgdmVyaWZ5IGNsYXNzcm9vbS5wbmcpe3dpZHRoPTgwJX0KCjwvYnI+Cgo8L2NlbnRlcj4KCgoxMy4gU2V0IHVwIGNsYXNzIHJvc3RlciBpbiBHaXRIdWIgQ2xhc3Nyb29tCiAgICAtIHRoaXMgc3RlcCBpcyBvcHRpb25hbCwgYW5kIGNhbiBiZSByZXZpc2l0ZWQgbGF0ZXIKCjxjZW50ZXI+IAoKIVtGaWcuIFNlbGVjdCBHaXRIdWIgb3JnYW5pemF0aW9uIGZvciB5b3VyIGNsYXNzXShHaXRIdWIgQ2xhc3Nyb29tIEltYWdlcy8xMy1zZXQgdXAgcm9zdGVyLnBuZyl7d2lkdGg9ODAlfQoKPC9icj4KCjwvY2VudGVyPgoKCgojIChSZWNvbW1lbmRlZCkgR2l0SHViIEVkdWNhdGlvbiBCZW5lZml0cwoKMTQuIEluaXRpYXRlIEdpdEh1YiBFZHVjYXRpb24gQmVuZWZpdHMKICAgIC0gdW5saW1pdGVkICoqcHJpdmF0ZSoqIHJlcG9zaXRvcmllcyAKICAgIC0gdW5saW1pdGVkIGNvbGxhYm9yYXRvcnMgKHN0dWRlbnRzKQogICAgLSBjbGljayB0aGUgKHdlbGwgY2Ftb3VmbGFnZWQpIGxpbmsgb3IgSW50ZXJuZXQgc2VhcmNoICJnaXRodWIgZWR1Y2F0aW9uIgogICAgLSBbaHR0cHM6Ly9lZHVjYXRpb24uZ2l0aHViLmNvbV0oaHR0cHM6Ly9lZHVjYXRpb24uZ2l0aHViLmNvbSkKCjxjZW50ZXI+IAoKIVtGaWcuIEluaXRpYXRlIEdpdEh1YiBFZHVjYXRpb24gQmVuZWZpdHNdKEdpdEh1YiBDbGFzc3Jvb20gSW1hZ2VzLzE0LWdpdGh1YiBlZHVjLnBuZyl7d2lkdGg9ODAlfQoKPC9icj4KCjwvY2VudGVyPgoKCjE1LiBBcHBseSBmb3IgR2l0SHViIEVkdWNhdGlvbiBCZW5lZml0cwoKPGNlbnRlcj4gCgohW0ZpZy4gQXBwbHkgZm9yIEdpdEh1YiBFZHVjYXRpb24gQmVuZWZpdHNdKEdpdEh1YiBDbGFzc3Jvb20gSW1hZ2VzLzE1LWpvaW4gZ2l0aHViIGVkdWMgZm9yIGZyZWUgcHJpdmF0ZSByZXBvcy5wbmcpe3dpZHRoPTgwJX0KCjwvYnI+Cgo8L2NlbnRlcj4KCgoxNS4gQXBwbHkgZm9yIEdpdEh1YiBFZHVjYXRpb24gQmVuZWZpdHMKMTYuIEZvbGxvdyBwcm9tcHRzIHRvIGlkZW50aWZ5IHRoZSBnaXRodWIgb3JnYW5pemF0aW9uIGFuZCBkZXNjcmliZSB5b3VyIHVzZQoxNy4gWW91IG1heSBuZWVkIHRvIHNob3cgcHJvb2Ygb2YgYWNhZGVtaWMgc3RhdHVzIChlLmcuLCB1cGxvYWQgcGhvdG8gb2YgaW5zdGl0dXRpb24gSUQpCiAgICAtIHZlcmlmaWNhdGlvbiBvZiBmYWN1bHR5IHN0YXR1cyBtYXkgdGFrZSBhIGZldyBidXNpbmVzcyBkYXlzIAogICAgLSB2ZXJpZmljYXRpb24gcmV0YWluZWQgdG8gZXhwZWRpdGUgZnV0dXJlIHJlcXVlc3RzIAoxOC4gVXBncmFkZSB5b3VyIG9yZ2FuaXphdGlvbiBvbmNlIHlvdSBhcmUgdmVyaWZpZWQgYXMgZmFjdWx0eQoKPGNlbnRlcj4gCgohW0ZpZy4gVXBncmFkZSB5b3VyIG9yZ2FuaXphdGlvbiBvbmNlIHZlcmlmaWVkXShHaXRIdWIgQ2xhc3Nyb29tIEltYWdlcy8yMS12ZXJpZmllZCBmYWN1bHR5LnBuZyl7d2lkdGg9ODAlfQoKPC9icj4KCjwvY2VudGVyPgoKCiMgQ3JlYXRpbmcgYW4gYXNzaWdubWVudCBpbiBHaXRIdWIgQ2xhc3Nyb29tCgoxOS4gQ3JlYXRlIHlvdXIgZmlyc3QgYXNzaWdubWVudAogICAgLSBDaG9vc2UgImluZGl2aWR1YWwiIG9yICJncm91cCBhc3NpZ25tZW50IgogICAgICAgIC0gaW5kaXZpZHVhbDogZWFjaCBzdHVkZW50IGhhcyB0aGVpciBvd24gcmVwb3NpdG9yeSBmb3IgdGhlIGFzc2lnbm1lbnQKICAgICAgICAtIGdyb3VwOiB0aGUgZ3JvdXAgd2lsbCBoYXZlIGEgc2hhcmVkIHJlcG9zaXRvcnkgZm9yIHRoZSBhc3NpZ25tZW50CgoKPGNlbnRlcj4gCgohW0ZpZy4gQ3JlYXRlIGZpcnN0IGFzc2lnbm1lbnQgaW4gR2l0SHViIENsYXNzcm9vbV0oR2l0SHViIENsYXNzcm9vbSBJbWFnZXMvMjMtZmlyc3QgYXNzaWdubWVudC5wbmcpe3dpZHRoPTgwJX0KCjwvYnI+Cgo8L2NlbnRlcj4KCgoyMC4gQ29uZmlndXJlIEdpdEh1YiBDbGFzc3Jvb20gQXNzaWdubWVudAogICAgLSBjcmVhdGUgY29uY2lzZSBhc3NpZ25tZW50IHRpdGxlCiAgICAtIGNob29zZSBwdWJsaWMgdnMgcHJpdmF0ZS0tc2hvdWxkIHN0dWRlbnQgd29yayBiZSB2aXNpYmxlIHRvIHB1YmxpYywgaW5jbHVkaW5nIG90aGVyIHN0dWRlbnRzPwogICAgLSBkZXRlcm1pbmUgd2hldGhlciBzdHVkZW50cyBzaG91bGQgaGF2ZSBhZG1pbiBwZXJtaXNzaW9ucyBvbiB0aGVpciByZXBvc2l0b3J5LCBhbGxvd2luZyB0aGVtIHRvCiAgICAgICAgLSByZXZva2UgaW5zdHJ1Y3RvciBhY2Nlc3MKICAgICAgICAtIG1ha2UgcHJpdmF0ZSByZXBvIHB1YmxpYwogICAgICAgIC0gYW5kIG1vcmUKICAgIC0gZW5hYmxlIGFzc2lnbm1lbnQgVVJMIGZvciBlYXN5IGRpc3RyaWJ1dGlvbgogICAgLSB5b3UgbWF5IGluaXRpYWxpemUgc3R1ZGVudCByZXBvcyB3aXRoIGNvZGUsIHRlbXBsYXRlcywgZGF0YSBzZXRzLCBldGMgCiAgICAgICAgLSBpbXBvcnRzIGNvbnRlbnRzIG9mIGFuIGV4aXN0aW5nIEdpdEh1YiBSZXBvCiAgICAgICAgLSBjYW4gYmUgYSBwcml2YXRlIHJlcG8gYXNzb2NpYXRlZCB3aXRoIHlvdXIgb3duIEdpdEh1YiBjcmVkZW50aWFscwogICAgLSB5b3UgY2FuIGNvbmZpZ3VyZSBhIGR1ZSBkYXRlIGluIEdpdEh1YiBDbGFzc3Jvb20KCgo8Y2VudGVyPiAKCiFbRmlnLiBDb25maWd1cmUgYXNzaWdubWVudF0oR2l0SHViIENsYXNzcm9vbSBJbWFnZXMvMjQtY29uZmlndXJlIGFzc2lnbm1lbnQucG5nKXt3aWR0aD04MCV9Cgo8L2JyPgoKPC9jZW50ZXI+CgoKMjEuIERlcGxveSBhc3NpZ25tZW50IHRvIHN0dWRlbnRzIQogICAgLSBpbnZpdGF0aW9uIGxpbmsgY2FuIGJlIHBvc3RlZCBpbiBMTVMsIG9yIG90aGVyd2lzZSBkaXN0cmlidXRlZC4KICAgIC0gd2hlbiBzdHVkZW50cyBjbGljayB0aGUgbGluayB0aGV5IHdpbGwgYmUgcHJvbXB0ZWQgdG8gYWNjZXB0IHRoZSBhc3NpZ25tZW50CiAgICAtIG9uY2UgYWNjZXB0ZWQsIHRoZSBhc3NpZ25tZW50ICJjbG9uZXMiIGEgdmVyc2lvbiBvZiB0aGUgc3RhcnRlciBjb2RlIChpZiBwcm92aWRlZCkgYW5kIGluaXRpYXRlcyBhIG5ldyByZXBvIGZvciB0aGUgc3R1ZGVudAogICAgLSBzdHVkZW50IGlzIHRoZW4gcHJvdmlkZWQgYSBsaW5rIHRvIHRoZWlyIG5ldyBHaXRIdWIgcmVwb3NpdG9yeSAod2l0aGluIHlvdXIgY29udHJvbGxlZCBnaXRodWIgb3JnYW5pemF0aW9uIGxpbmtlZCB0byB0aGUgY2xhc3MpCgo8Y2VudGVyPiAKCiFbRmlnLiBEaXN0cmlidXRlIGFzc2lnbm1lbnRdKEdpdEh1YiBDbGFzc3Jvb20gSW1hZ2VzLzI1LWFzc2lnbm1lbnQgbGluay5wbmcpe3dpZHRoPTgwJX0KCjwvYnI+Cgo8L2NlbnRlcj4KCgoKCgo=