Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Table of contents

  1. Creating a new GitHub Classroom
  2. Adding students to the classroom
  3. Creating a new assignment as a teacher
  4. Autograding

Creating a new GitHub Classroom

The teacher can create a new classroom. Check https://classroom.github.com/classrooms. Select a GitHub organization where the classroom and its repos are created. Note that each assignment in the classroom will create a repo for each student so there will be a lot of repos!

Maybe a new organization per course is a good practice. Or if the course will have a lot of assignments then a new organization per course implementation might be easier to handle.

Note that if you as a teacher have applied for academic benefits you can upgrade every organization to Team plan for free. Check Upgrade your organization for more details.

After the change in 02/2021 in GitHub plans the Free plan will also allow unlimited private repos with unlimited collaborators so each student can have a private repo for each assignment. The Team plan is not actually needed for this any more.

Adding students to the classroom

Students can be added manually or importing a CSV or a text file. The classroom can also be connected to a LMS like Moodle to populate the students list from course’s students.

Connecting to Moodle requires the teacher to add a new activity “External tool” (or in Finnish “Ulkoinen työkalu”). GitHub Classroom will give required configuration info that needs to be set to the External tool configuration. Check details how to connect GitHub Classroom with Moodle from document Configuring Moodle from GitHub Docs.

Moodle connection to Savonia’s Moodle has been tested on 18.2.2021 and it seems to work.

Creating a new assignment as a teacher

New assignments can use a repository marked as a template as a base for the repos created for each student. The template repo can contain any files necessary for the assignment. An assignment can also be created without a template repo.

The following video shows how to create a new assignment for a classroom from teachers view. The video is in Finnish.

Autograding

GitHub Classroom assignments can be auto-graded when the student commits and pushes code to the remote repo. The auto-grading is done with automated tests (input/output and unit tests). When a test passes then it will credit with a configured amount of points to the student. There can be multiple tests per assignment. The auto-grading requires that the assignment is designed so that it can be automatically tested with unit tests and/or input/output tests.

Check Introducing autograding for GitHub Classroom and the GitHub Teacher Toolbox for more details.


Copyright © 2023 Mikko Pääkkönen