We’re exploring the idea of switching to GitHub for our classroom. So far we’ve gone through the setup procedure and we are ready to issue assignments. However, we are still unsure of how communication between the instructors and students is facilitated. Currently I was thinking of using @mention to do so.

If someone could explain how this is achieved and perhaps the general workflow of the classroom after an assignment has been issued, that would be greatly appreciated.

GitHub Classroom is meant to be an administrative dashboard for the teachers and teaching assistants. Aside from when they accept the assignment, students never see GitHub Classroom.

For communication, you can open issues on your student repositories and mention them and your students can do the same. Depending on the access levels you set, your students may also be able to communicate with each other about their code.

I think this would be a good way of getting students in the habit of addressing issues individually. Each part of the assignment could be broken down into issues that can be “checked off” as they are completed.

This also would allow a single starter repo to be used for several mini-projects. In our case, hello, hi, nyan and a bunch of other tiny scripts that do not really warrant their own assignments (which would really, really fill the organization with hundreds of repos instead of just the one per student.)

In fact, a generic way to add the same set of issues (perhaps from a JSON file) to a number of repos would be amazing. I wonder if a commandline utility making use of the GitHub API would accomplish this?