I say “me” and “I” in this guide but this applies everywhere
Asking good questions is really about explaining your current understanding. If you tell me where you are, it’s much easier for me to lead you to the solution.
Don’t say, “can I ask a question?” The answer is always yes. I know you think that it’s rude not to ask permission, but it’s literally my job to be here to answer your questions, and asking-to-ask just wastes time.
Show me any error messages. Not a summary, not part of the message, the actual message.
- ❌ I got an error
- ❌ I got a compiler error
- ❌ The compiler said something about my function
- ❌ The compiler said unreachable statement
- ✅ The compiler said Lab3.java:62: error: unreachable statement
Show me your code. Don’t describe what it does, just show it. I’m good at reading code!
Sometimes I will ask you to send me your whole program, but only as a last resort.
But this is not CS 0007! It is no longer acceptable for you to send your whole program to me and ask, “can you have a look?” No, I can’t. Your programs are getting really long. Instead:
- Narrow down where the problem is happening.
- If there’s an error, I need to see the code where it happens.
- Not just that line, but the lines before and after, too.
- Preferably, the whole function where the error occurs!
I am not a compiler. After doing the above, don’t make minor modifications to your code and send it to me asking “does this look good?” I don’t know! Compile it and test it! That’s what programming is about: you make a thing, you test the thing, you fix the bugs. Come to me if you’re stuck.