A general note on resourcefulness

As graduate or senior undergraduate students in computer science, one of the key skills you need to develop is resourcefulness.  This refers to many things that are expected of you, but that you won't be taught in any specific course, and that you might escape university without really doing ever.  These include:

Using Google all the time, for everything
Asking questions on mailing lists
Searching mailing list archives
Hunting down project documentation
Reading man pages
Finding articles using CiteSeer
Writing scripts and using the command line effectively
Being comfortable with a UNIX-based operating system
Studying source code for large open source projects (e.g. Soot)

If you've achieved competency and moreover fluency with all of these things, your research and courses will progress much more smoothly.  In general, if you're having trouble doing something or understanding something, there are two possible situations:

A) somebody else has had this problem before
B) nobody else has had this problem before

In the event of A), it is extremely likely that the solution to your problem has been documented somehow, somewhere, either on the internet or in a book or in your operating system.  You cannot be expected to know everything you need to know without having searched for it, and by the same token, your advisors, professors, instructors, and teaching assistants cannot be expected to teach you everything you need to know, especially if you haven't done a thorough search for it first.  There simply isn't time for it.  However, you will find that people will almost always be helpful if you show them that you've found out everything you can about a given problem, but are still struggling with it and need assistance.

In the event of B), either (i) you're doing new research, in which case you'll know, because you'll have done a thorough literature review, read the relevant textbooks, and talked to your supervisors about it, or (ii) you've found a bug, be it in a piece of software, a proof, or someone's explanation of something.  In both cases, you'll find that people will also be glad to discuss things, particularly if you document it beyond simply "this idea is new" or "there is a bug", and if they're immediately enabled to help you in some way.  Patches are generally well received.

So, don't be shy, but do the required groundwork first.  People are here to guide you, not to tell you exactly what to do or spoonfeed you.  It's important for you to internalise this method of approaching problems as soon as possible, if you haven't already done so.

You might also find the following guide helpful:

How To Ask Questions The Smart Way

Don't worry if you find yourself making any number of the mistakes identified therein -- a lot of these things you wouldn't find out unless somebody told you.