I have basic C and C++ programming skills as well as a little bit experience with gtkmm and Linux-programming in general (not to forget I have lots of spare time). I want to participate in an Ubuntu project which is small and not too complex in order to improve my programming sills and of course support Ubuntu.
Can you give me pointers in the right direction and do you know of a project where I could start?
I good place to start is the One Hundred Paper Cuts project.
Aside from recommending any specific Project, keep this in mind:
With open source software,
You don't need to ask permission from anybody to
As long as you follow the terms of the License.
Many projects are apprehensive of accepting new members before they have contributed in some way; therefore, it's best to just start doing stuff and worry about the projects after you've done something. If your modifications are significant, make your work known on their mailing lists, forums or IRC channels. They will most likely help you out, getting to know the projects structure and development guidelines.
I absolutely agree with João Pinto's recommendation of the One Hundred Paper Cuts project, it's a fantastic place to start.
Another good place to start is to look for bugs that have been marked as easy to fix, using the bitesize tag.
Another opportunity is to look for an area where the linux ecosystem is lacking, and create a small application to fill the space. A good example of this is simple-scan. If you can create (a) small application(s) like this that improve the life of the wider community, it goes a long way.
I personally have a small game project in need of coders. If you are interested: Colonial The Game.
GNOME Love is also a good place for new contributors to start.
The right answer to that question is up to you. What I mean is that you can only put your heart and soul into a project that you are interested in. Find something that you use often and that is missing a feature or it has a bug that annoys you so much that you would give up your spare time to fix it. That is the perfect project for you.
Anything else suggested by other people will very likely only motivate you for a couple of days and then you will be looking for something else to do.
Ubuntu is using tons of open source software. You also can support some project/s separate form Ubuntu but used by them.
For example sourceforge, freshmeat.net etc. and pick a project according to your expertise / interests and became a member of the dev.team or just contact them and send a pach. You can also search by development activity.