Last updated 14 September 2013.
Code contributions are always welcome.
Patches are reviewed in the issue queue and may be committed to core or a contributed project.
Sandboxes can be promoted to full contributed projects, or sometimes pulled into existing projects.
The most important thing to remember when starting to contribute code to Drupal, is that with several hundred contributors to Drupal core releases, and several thousand contributors with access to the contributed git repository, there is always a good chance that the bug or feature you're interested in already has some existing work done somewhere.
Contributed projects can be found in the download section.
In-progress work for Drupal core and all contributed projects can be found in the issue queue.
It may be easier to join forces with an existing contributed project, or with an in-progress issue against a contributed project or core, than starting your own from scratch.