見出し画像

「エラーで学ぶPython」の発売から,約2か月

「エラーで学ぶ」シリーズの第2弾,「エラーで学ぶPython」の発売から約2か月が経ちました。
第1弾「エラーで学ぶScraith」は発売後に Twitterでたくさんのつぶやきがあったのですが,第2弾での X のポストはそれほどではありません(笑)

本日,「エラーで学ぶPython」についてご執筆いただきましたので,ご紹介します。

私は学生時代から今までプログラミングを仕事として考えたことは一度もなく,趣味として続けてきました。自分が作ったアプリで授業をしたりしたことは仕事の一部ではあるのですが,いわゆる職業プログラマーではないので,納期があるわけではなく,気が向いたら作るという意味で趣味なのです。

我が家の家訓は「壊れたら直す,ないなら作る」です。
私自身,日曜大工で棚も作るし,家の修繕もします。コロナ禍でマスクが不足していた時はミシンでマスクも作りましたし,膝の破けたジーンズも直します。
プログラミングもこうしたDIYの一種だと考えていて,自分の欲しいアプリがないから作っているだけです。

なぜ,プログラミングが40年以上も私の心を掴んで離さないのかを考えてみると,単純に面白いからです。
何が面白いのかをもう少し深く考えてみると,自分が思ったようにアプリが動くことなのですが,簡単に作れたアプリには思い入れがあまりありません。
その機能を実現するためにアルゴリズムを調べて,コードを打ち込んで動かし,うまくいかずに,また調べて,コードを修正して,やっと思い通りに動いた時のうれしさといったらありません。

こう考えたとき,プログラミングの面白さや楽しさというのは,試行錯誤からの解決感なのではないかと思うのです。
数学の問題でも,単純な計算問題を素早く正確に解けることはそれなりに楽しいのですが,「え!?ちょっと,これどう解くの?」っていう問題につまづいて,あれこれと考えを巡らせてやっと答えが出たときが数学が面白いと思う瞬間ではないでしょうか。
ただ,数学が苦手とか嫌いという人は,だいたいこの試行錯誤しても答えにたどり着けないことが多いのです。なので,「私は○年生で脱落した」などと言われます。
脱落しない人は考えることをあきらめなかった人です。そういう意味では,数学的なセンスというよりは,継続して考え続ける力,忍耐力が必要なんだと思います。
これはプログラミングも同様のことが言えます。

プログラミングにおける忍耐力を鍛えるための一つの提案が「エラーで学ぶ」です。
試行錯誤から解決感につなげるために重要なことの一つは,学習者にとって適切なハードルが与えられているかです。高すぎるハードルを初心者は越えられませんが,同時にそのハードルの高さを知りません。ハードルの高さは,越えた後に初めてわかることです。
ですから,学習において適切なハードルを準備するということは指導者にとってとても重要なことです。
プログラミングにおけるエラーには様々なものがあり,一口にエラーと言っても,解決の難しさには違いがあります。
「エラーで学ぶ」は段階的にエラーの解決方法を学ぶことによって,自力解決できる力,つまりは,忍耐力をつけられるのではないかと考えています。

プログラミングにおける「写経」に意味がないとは考えていませんし,おおいに写経してプログラミングに親しむべきだと思います。
「写経」による学びと「エラー」による学びは,「写経」による学び→「エラー」による学び といった一方通行ではなく,「写経」による学び←→「エラー」による学び という双方向であり,以下のようにスパイラルに積み上げられていくものなのかもしれません。

プログラミングの学び

「著者の経歴を拝見すると、学校で教育を長年されてきた方と分かりました。教えることのプロです。」なんて書いていただいてうれしかったので,勢いで書いてしまいました。

プログラミングは楽しいです!言いたかったことは以上です。

この記事が気に入ったらサポートをしてみませんか?