個人的には初心者に練習問題は勧めない
プログラムは実用的なツールなので、
何か身近な問題を解決するようなツールや
簡単なゲームなどをどんどん作って欲しい
練習問題解くだけじゃモチベーション保てない

例えばピザの面積と値段の比率から
どのサイズが最もお得か計算するプログラムとか、
数当てゲームとか、少ない知識でも作れるプログラムは色々ある

最初のうちは効率も悪けりゃ使い勝手も悪いプログラムしか作れないかもしれないけど、
別に最初はそれでいいと思う
Effective なんちゃらとかに書いてある内容は
ある程度プログラムをやらないと実感できない事も多いから
むしろ悪いプログラムを書く経験はあった方がいい
色々知識を付けるのは、ある程度プログラムやった後の方が良い

プログラムは使ってなんぼなのに
プログラムを勉強した後に「何を作ればいいんですか?」とか言い出す人をたまに見かける
俺からすりゃ「作りたいものがあるからプログラム勉強したんじゃないの?!」とか
「作りたいもの作ればいいじゃん!」としか言えない
こういう人にならないためにも、普段からプログラムを実用する癖を付けた方がいい