Saying "I'm lost" might help release some frustration (and accurately reflect your internal state! :) but it won't get you much help as no one is as familiar with your work as you. So the first step in getting help is explaining your problem precisely. Just imagine all the various things you'd explain to someone in person and how much of an iterative, back-and-forth process explaining the problem is, with the person trying to help asking many clarifying questions to get a handle on what might be wrong. Online, you have to be able to capture that same information in a single post!
Remember, the people you're asking for help are at least as busy as you. In general, when posting questions online (either in classroom forums or in the wilds of the internet), please do follow the protocols outlined below for eliciting the best help. These protocols build upon the latest research in Cyberlearning/Social Learning from community/knowledge sites which suggests how best to ask questions and learn new material.
Mandatory Posting ProtocolThe first step is to state your problem precisely; not only will this clearly communicate the issue you're trying to resolve but, as Charles Kettering said, "A problem well stated is a problem half solved."
As you know, all technical questions should be posted in the Q&A Forum. Like all such communities, before posting, all posts are required to include the following basic information:
- List what you tried
- List what you expected it to do and what it actually did
- It's very important to include a description or screenshot of what it actually did
- List why you think it failed or should have worked
- Summarize how you tried to research your question. Simply saying that you used Google and Wikipedia isn't enough. What are some of the search terms you tried? What articles did you read?
- This information is essential as most errors can be solved by simply searching for the exact error (in quotes).
- If necessary/appropriate, post pseudocode (only!) of your actual program/script with the full text of all errors.
- Expressing your program in pseudocode (YouTube video of pseudocode) will help you in understanding what you're doing and help others to understand what is going on. Please do not ever post your actual lab code for the lab that's due that week.
- Besides pseudocode, as also stated in these FAQs, if you're programming in Java, you should post the full stacktrace (which is described here and here).
- If absolutely necessary, you can include a short excerpt of just the specific block of actual code causing the error. When posting code, it is a requirement to follow the guidelines posted at sscce.org for creating a Short, Self Contained, Correct (Compilable), Example.
It's necessary to follow the above 5 steps as not only does that communicate the issue plainly for potential helpers but clearly defining the problem will VERY much help you get a handle on it, too.
For more generic issues, the follow-up will likely involve posting:
Beyond this course: If you intend to do any programming after you're done with this course, you'll likely need some help down the line. Although our course Q&A Forums won't be available then, the same skills you acquired in asking questions here will aid you in getting answers from the programming community on the Web! Here is a little guide on how to ask questions on the Web Forums: http://www.catb.org/~esr/faqs/smart-questions.html
Please remember, if you're in an academic situation, your professor likely has about 60 - 100 other students that are vying for his/her time; if you're in an industry-setting or seeking help online, the people you're approaching for help have other full-time jobs or tasks. Unless you've hired a personal tutor, the people helping you are likely giving of their own valuable time so it's incumbent upon you to make good use of it otherwise you'll get little to no help (and, on the internet, quite a few snarky responses, as explained here and here :).