How do you use Issues in your class?

Hi All,

I would like to use my GitHub Classroom as the primary discussion forum for the class. I’m thinking of making a Syllabus repo and using Issues there for general discussion, especially since convos at the beginning of the semester will be around textbook, grading, expectations and what not. Does anyone else have ideas on good ways to do this?



Hello @kelle:

I’ve seen instructors + schools use Issues for discussion and to curate resources:

My recommendation would be to use Issues for questions and potential problems as they get oriented in the course, for instance:

  • “Which repo should I start with?”
  • “Can’t find the homework”
  • “Missed class”

That way other students can see the answers, and it models to them how to use bug trackers and tickets in the future.

@alexeyza has a project-based course where he opens Issues for student projects, then steps back and asks them to prioritize and solve the problem: Startup Programming.

Hope this helps–let us know how you decide to structure it :slight_smile:

1 Like

Hi Kelle,

I find using Issues for discussions works (mostly) well. You may need to initially encourage students to use issues for discussion, and perhaps post of a few issues yourself. Using labels (e.g., assignment, grading, etc…) can also help. Also, your and the TA’s response time will affect how students use the issues - we saw a case where the instructor wouldn’t reply quickly (beyond a week) to questions posted through issues, so the students stopped posting on issues and Pull-requests in that course.

There are some things to consider. First would be whether the course repo is public or private (as part of a GitHub organization for the class). This may affect the students’ activities (some students may be more active, while some may be more cautious as they worry about future employers ask them to see their GitHub profile).

Furthermore, note that Issues are typically used in an asynchronous manner (similar to forums and email), where something like “Gitter” is used for a synchronous type of communication (similar to Google hangouts or Slack). This difference may dictate the communication type - choose based on the communication you want to support.

Also, in one case where we examined the students’ perspective of using GitHub in the classroom, some students found themselves struggling with communication overload (related to Issues). One student said:

“It sent me a million emails, both of [the tools used in the course] actually. I should have just turned that off, but I was worried about missing something. Because every time someone would post, you would get another email… I actually did not read anyone else’s feedback because it was just so many emails, to be totally honest.”

A good way to deal with this challenge could be to explain that there are different ways of being subscribed to GitHub issues, and that each student can control and change the notification delivery method.

Hope it helps,


Thanks for your thoughtful reply, @alexeyza.

@kelle changed the phrasing of the topic in the hopes that others might be able to help.

While this would certainly work and encourage proficiency with Github, we have chosen to use Slack and Discord for such things because it promotes a more immediate sense of presence, includes the potential for voice chat, and are tools also commonly used in the startup/agile workforce.

I like “immediate sense of presence” @robmuh.

One of my favorite frameworks for learning design is the Community of Inquiry model:

@kelle I’m not sure if this is exactly how you’d like to use it, but how we use issues is summarized here. This is part of the resources created for all of my students here.

For your discussion purposes, I’d imagine the Assignees and Labels fields would be quite useful. I’d definitely recommend adding labels beforehand for each type of issue you may have, for example: classDiscussion-responseRequired, question, announcement, and so on. I think the labels will give important context to your students so that they know what they are supposed to be getting from an issue before they start reading.

1 Like

very good idea