わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

「どうやったらプログラミングがうまくなりますか?」に対するスマートなつっこみ

その学生さんがある日、私に尋ねてきました。
「どうやったらプログラミングがうまくなりますか?」

「どうやったらプログラミングがうまくなりますか?」に対するスマートなつっこみを返すにはどうしたらいいんですか?わかりません>< - ゆうなんとかさんの雑記帳的な。

ふむ.で…

そうこうしていると、その日の担当の先生がよってきて「どうしたの?」と聞いて来ました。これはチャンスです。厄介な問題へのスマートな答えはこの先生にお任せしましょう。
先生は少し考えてから、こういう感じのアドバイスをされていました。他にも細かいことはおっしゃっていたのですが、大事そうなのはこの2点です。

  • とりあえずプログラムを書くというところから一旦離れて、どうすればやりたいことを実現できるか考える癖をつけたほうがいい
  • コピペすること自体は悪くないが、そのコピペした部分が何をしているのかちゃんと考えるようにしたほうがいい

これは素晴らしい.先生が,その学生のことを考えた上で回答されている点も,ブログ主さん(ティーチングアシスタント)によるテキスト化を通して「読める文」になっている点も,ともに素晴らしいと思います.
「一旦離れる」は重要で,私だったら「学期中のプログラミング授業と同じ時間数を,プログラミングや計算機科学の本を読んで過ごすのはどうかな」と言うと思います.いわば足腰を鍛える活動です.その経験・知識が即,骨格や筋肉にはならないけれども,あとになって,「あれはこのことなんだ」と気づく回数が増えてきます.研究室で良書を推薦してもらって借りるのもいいし,あるいは大学図書館の本から探すというのも,たいてい内容が古いけれども,本から学ぶにはいい機会だと思います.*1
ところで,「どうやったらプログラミングがうまくなりますか?」への定番ともいえるツッコミとして,「プログラミングがうまくなったら,何をする?」という,聞き返しも,頭の中に入れておいてもらえればと思います.

*1:「同じ時間数を」には元ネタがあります:「棋力を伸ばしたければ,ここの将棋教室に払う月謝と同じ金額を,本を買って読み,福島の関西将棋会館に通うのにかけなさい」(プレゼンの「7つの禁じ手」