プログラミングが上達しない人に共通するたった一つの点

C言語やJavaScriptでのプログラミングを10年程教えているが、上達しない学生に共通することがある。
しかもそれは、たった一つのことだった。


プログラミングが上達しない人に共通する点は、自分の記述ミスに自分で気がつかない人だ。
プログラミング初期の頃、よく間違う項目として、参考書籍に印刷されている文字の認識の勘違いがある。
例えば、英語の大文字「I(アイ)」と英語の小文字「l(エル)」を間違えて入力してしまう場合などだ。
文字列をくくる「”(ダブルクォーテーション)」も

printf(“おはよう!”);

というプログラムだと、日本語の「おはよう!」の後の「”」が、全角のダブルクォーテーションになってしまい、ぱっと見た場合に気づかずにいて、いつまでも悩んでいる例をよく見かける。
最初の2〜3回は、わたしから間違っている部分を指摘して説明してあげるのだが、何回も同じミスをしている学生には、間違っている場所はあえて教えずに「○箇所間違っている」と間違いの個数だけを伝えて、自分で自分の入力ミスに気づいてもらうようにしている。
しかし、何ヶ月か過ぎても自分で自分の記述ミスに気がつかない学生がいる。
その学生は、自分の入力したプログラムが間違っていると思って、再確認していないのかもしれない。
「1字1字参考のプログラムと照らし合わせて、確認してみてください」
といっても無駄だ。
先日、息子が図書館で借りてきた本を失くしてしまった。
返却期日がせまっているので、皆で探したがなかなか見つからない。
息子がいう「この部屋からは持ち出してない」という部屋を最後に徹底的に探した。
その本は、息子のランドセルが置いてある棚のすぐ脇に、棚に張り付くように落ちていた。
灯台下暗し、だった。
息子は「探したよ」とは言っていたが、わたしからすれば、それは「探したつもり」だ。
こういうことは、他人が解決したのでは、いけないと思う。なぜなら、本人がしたことだから。
プログラミングに限らず、あらゆる面で、自分がした間違いに気づかない人は、何事も伸びないと思う。
「自分がしたミスを自分で解決出来ない人は、いつまでたっても伸びない」
というのが、最近のわたしの見方になっている。

コメント

タイトルとURLをコピーしました