プログラミングは論理的な思考力を養うとか。
それはとてもいいことだと思いますが、プログラミングを始める最初の動機が「論理的思考力を養うため」だった場合、少々期待外れに終わるかもしれません。
実際のところ、論理的思考力が養われたとしても、それをどうやって確かめるのでしょうか。
Matzさんが挙げた課題のひとつ、「どのように評価するのか」というのと同じ話です。
論理的思考力をテストし、プログラミングを学び、その後再度論理的思考力をテストするのでしょうか。
テスト、テストって、うちは学校でもないし、学習塾でもないので、そんなつまらなそうなことに時間を割いてお金をいただくのは間違っているように思います。
プログラマの本懐は、車のドライバーと同じようなものだと個人的には思っています。
車がある。自分の技術を駆使して、速く走らせたり、悪路を進んだり、燃費効率を向上させたりする。それがうれしい。
プログラマも同じです。
コンピュータがある。自分の知識やテクニックを駆使して、速く処理させたり、難しい問題を解決したり、効率的に操作できるようにする。それが楽しいのです。
入り口はなんでもいいので、論理的思考力を養いたいから、というのもプログラミングを始める動機として否定しません。
しかし、それは一見明確な目的を持っているように聞こえますが、実は論理的思考力なんてものが漠然としているものですから、なかなか目的を達成できず、失意のまま挫折してしまうことが予想されます。
どちらかというと、なんだかプログラミングって面白そうだとか、よくわからない可能性を秘めていそうなコンピュータをもうちょっと知ってみたいとか、そういういい加減であいまいに聞こえる動機のほうがいいのではないでしょうか。
楽しさはすぐにわかります。コンピュータを効率よくドライブする喜びはわかりやすいのです。