A Student's Guide to Asking Good Questions
Many students don't know how to ask good questions. This is okay, students are supposed to learn. This page is a succinct guide on asking good, effective questions that will help you get help faster and help other people want to help you more.
Do not ask for hand-holding
People like to help people who help themselves. If you try nothing and call it a day, people will just avert their gaze. Make an honest attempt before you ask anyone anything.
Explain what your problem is
Too many students will say something like "my code won't compile, anyone else get this error?" And the attachment will be an image of lots of warning code followed by a "Segmentation fault (core dumped)". Everyone will do a little groan when they see this. If you have generic or vague problems, expect generic or vague (or no) solutions.
Explain what you're trying to do, THEN what you're doing
Don't tell us you're trying to make your itertools mumbo jumbo perform some obscure, probably redundant operation on an arbitrary NxMxP tensor. Say you're trying to implement a simple backpropagation algorithm, and people will kindly tell you "Maybe you should try this easy-to-read one-liner that contains little to no mumbo jumbo".
Read The Syllabus/Docs
Only nerds like reading, sure. But you're a student, and you're reading this. So you're probably a nerd too. (Click here). Nerds read their syllabus or project documentation. Why? Because it works. Probably 70 percent of your problems are perfectly explained in documentation. Read it before you ask people who have.
Check if your question has been answered
This could mean a lot of things. Number one? Google. Google has the answers to everything, surprisingly. So ask your error questions there and let the jerks at stackoverflow from 10 years ago solve it for you. Are you on a class message board? Scroll up a bit, maybe someone has had the same problem as you (they probably have!). Put some work in.
A great scholar came up with this perfect question template. Consider always using it.
"Hello, this is the problem I'm trying to solve."
"This is the output."
"This is what I've done so far."
"This is what I think is the issue, Is there anything wrong with my approach and how can I change it?"
Just think before you type and don't be annoying. Please.
Signed, a tired student.