Type "programming contest" into your favourite search engine.
Many have problems for all skill levels.
Some are competitive and give you limited time.
Others you can take at your own pace.
Find a project you really like.
Join and lurk a while on the mailing lists. If the list is silent or full of a-holes, move on.
Study the source code (a lot!).
Study the bug tracker, maybe find something you feel comfortable with.
Study the submission guides (formatting, testing, documentation etc).
Introduce yourself to the project maintainer. They'll be able to tell you how to proceed.