In this course, we will use a Github Issues forum to communicate as a class.
About Github Issues
Traditionally, Github’s Issues is used for documenting problems or feature requests in a specific software project. The features built into Github’s Issues, however, are also perfect for a questions and answer forum for a course such as this. So not only will we take advantage of those features, we’ll also gain practice using a real world software development tool. Furthermore, by sharing information via the forum, we'll benefit from the collective knowledge of the class and practice technical communication skills.
- Things you should post about:
- Questions or request for further clarification on curriculum (notes, lecture topics, etc.)
- Troubleshooting questions (I'm trying to do this and it isn’t working, etc.)
- Strategic questions (How could I accomplish xyz? Is this the best way to solve this problem?, etc.)
- Useful information (how you solved a problem you were facing, a related resource/guide/tool you found helpful, etc.)
- Things you should not post about but instead email me about (email@example.com):
- Questions regarding the Content Check portion of your weekly assignments; these must be completed independently without any collaboration with classmates.
- Questions specific to your personal involvement in the course, e.g. grading.
- Completing your work is your own responsibility and if a solution is not reached for one of your posts, this is not an excuse for incomplete/late work.
- Be respectful of everyone’s time by:
- Closing your own posts when an issue is resolved
- Sharing the most up-to-date code
- Providing sufficient detail so we can effectively help you (tips on this below)
- Don’t ask multiple questions in the same post unless they’re closely related.
- Don’t ask new questions in the thread of an existing post; instead, create a new post and tag the original post if it’s related.
Getting help effectively
Search first for quicker resolutions: Posting in the forum should not be your first stop in solving a problem. Instead, resources like Google and StackOverflow are necessary resources that can often give you an immediate answer to the problem at hand.
If you can’t find your answer there, then search the forum to see if anyone else is having a similar problem which has already been solved (or is in the process of being solved).
If you can’t find your solution, then create a new post.
Write clear, thoughtful questions: One of the skills you’ll be working on in this class is how to articulate technical problems; this is an essential skill for any programmer. The more information you can provide, the quicker your peers will be able to help you.
The following is a quick summary of guidelines to help you build good posts.
- Take time to neatly format your posts using proper Markdown syntax, code blocks, etc.; the more organized a post is, the easier it will be for us to help you.
- Use clear, to-the-point, informative post titles.
- When relevant, include your Github repository URL, tell us the specific files you’re asking your question about, and make sure your code is up to date.
- Describe what behavior you are expecting and how it is different from the behavior are you actually receiving.
- Include relevant errors, code snippets, screenshots, and context (live server, local server, platform, etc.).
Here’s an example of a post that needs work:
And here’s that same post corrected:
In a traditional in-person classroom - not only do you obtain information from the lecturer, but you absorb supplemental details when your classmates ask questions mid-lecture, or while engaging with your peers before/after lecture or during breaks. In an online course, much of this community chatter is lost, and with it so is the opportunity for learning via exposure to related questions and ideas. With this in mind, the forum is not just about getting your questions answered, nor being able to answer other student’s questions. Instead, it’s about being actively engaged in a community to benefit from the supplemental learning opportunities available there.
With that in mind, engagement can/should take many forms:
- Skimming all new posts and reading follow-up threads on posts you find interesting.
- Using the response feature to “thumbs up” posts that you feel provide the most accurate or helpful answer.
- Sharing your own questions in a clear, thoughtful way (tips below on writing good questions).
- Sharing tips or suggestions that helped your own process.
- Sharing resources such as relevant guides or tools you found helpful.
Do not feel discouraged if you can’t answer questions, or even if you don’t understand some of the questions being posted. Even if you don’t understand something now, the point is to open yourself to new ideas from your classmates.
Also, be aware that it’s common to feel your own questions are too simple to post about. Every semester, I hear from some students who say reading their classmate’s posts make them feel like the majority of the class is ahead of them in regards to skills, and this makes them hesitant to post. It’s not that these students are in the minority, it’s just that the advanced students are more confident about posting, and thus they post more creating the impression that everyone in the course is more advanced.
With that in mind, assuming you’ve taken the time to carefully read the notes and do your due diligence to try to solve your problem, there are no stupid questions.