I'm relatively new to this site and love it! I want to contribute, but I can't until I get more reputation points. What is the best way to legitimately gain reputation points here on Stack Overflow?
Answer lots of questions with thoughtfulness and details and working code examples that are correct.
I find that about 90% of the points I get are for answers I made to a question that was not answered completely with sufficient details. I might not get the check mark, and the question might already have an "accepted" answer, but in many cases over time I will get a higher voted answer than the one that gets marked "accepted".
Answering unanswered or incorrectly answered questions shortly after they are asked helps, but is not essential.
This site isn't about getting points as fast as you can, it is about answering questions correctly and completely, to create a knowledge base for everyone to benefit from.
The reputation points are a reward, and a gauge that people can use to know that you probably know what you are talking about if they don't completely understand the answer you provided.
This will get closed (should be in meta) but basically, in my experience, you need to watch the new questions like a hawk, post the first answer and hope it's right.
You can take time to write well thought out, complex, correct answers; but most questions don't get any traffic once they've been on the board for a short period of time. The older the site gets, the fewer really good questions you'll see asked.
There is nothing more frustrating, IMHO, than spending 20 minutes writing code that does something really well, better than the accepted answer but getting zero points for it.