>>20
競技プログラミングの問題をプログラミングの練習に使うことはあるけど、大会に出たりはしてないな。

基本的には書く方かな。
本とかwebページを読みながら、そこにあるサンプルプログラムを実際に書いて動かしてみるってのを繰り返すのが最初はいいと思うよ。
後は、ある程度書けるようになるまでは、(課題とかが許す限りは)その言語に集中したほうがいいと思う。
1つの言語がある程度書けるようになれば、そのほかの同じようなタイプの言語にも応用がきくようになるから。