For someone who is not a programmer or is starting how can he/she contribute to Drupal.org?
Both @David and @Patrick have put it well, on the ways to contribute to the Drupal community. I think a good place to evaluate yourself and then start contributing would be at Drupal Ladder.
It was a result of the work from the guys from Boston, who came together and started something called Boston initiative where they come together and work on contributing.  

You can look at the ladder screenshot below :



If one wishes to contribute, s/he is suggested to follow this steps starting from bottom and climbing the ladder one step at a time.

For more, you can also view the session about Drupal ladder at DrupalCon Denver.

P.S. : The Drupal Ladder was designed to encourage users to contribute to Drupal core and not did not focus on contribution towards the modules (contributed).