Pythonでプログラムの広大な海に漕ぎ出そう

龍野プログラミングクラブはJR本竜野駅2階多目的室で定期開催しています。以前、ほかのクラブに通っていたメンバーが来てくれました。

タッチタイピングの練習

タッチタイピングはプログラミングの基本です。息をするようにタイピングできると、プログラミングに集中できます。

タッチタイピングで使うツールは、変わらず無料タイピングと寿司打です。

無料タイピング https://manabi.benesse.ne.jp/gakushu/typing

寿司打 https://sushida.net/

どうも、右手の小指で入力するキーが苦手な様子です。うまくいかないのは、何かしら理由があるはずです。それを一緒に考えます。

何も考えずに指を動かしていてもなかなか上達しません。なれないうちは、ゆっくり考えながら身体に覚え込ませましょう。自転車を動かすのと同じ、身体感覚です。くりかえし正しく練習するうちに、身体が覚えてしまうのです。

規則性を見つける課題

前日の光都ICTクラブでも取り組んだ課題に、今日のメンバーにも取り組んでもらいました。

やはり傾向は同じで、数字の羅列はかんたんに解きます。現実の問題とのリンクはうまくできないようです。

そこで、一緒に考えるのです。実は、答えがあっているかどうかはあまり重要ではありません答えにたどり着くまでに、どのように考えたか、このプロセスが重要なのです。

話をしながら進めてみると、小さな要素は知識として持っているのです。しかし、それらが横通しで有機的に結びついていないから答えにたどり着くことができないのです。

学校で教えるのは、国語なら国語の問題の解き方、算数なら算数の問題の解き方です。プログラムは総合力です。学校の科目全てと、さらに日常で見聞きしているすべての情報を使って考えます。それを一緒に勉強していきたいと考えています。

早速Pythonでゲームづくり

龍野プログラミングクラブは、テキストにしたがってコーディングを進めていくスタイルです。

早速コーディングが一段落して、デバッグしてみたもののうまく動きません。動くべき動作をしてくれないのです。しかも、エラーをはいてくれません。このパターンが一番苦労するパターンです。わたしも何度このパターンで泣いたことか。

さて、比較的短いコードなので、いっしょにコードを見ていきます。

すると、おかしなところをいくつか見つけました。

エラーがでないということは、入力文字を間違えたり、文字を入力し忘れたりというのが原因ではありません。設定値を間違っていたり、条件分岐を書いてなかったりというような間違いが考えられます。

今回もそのパターンです。実際の動きと理想の動きとの差異から、おおよそ間違っているところに当たりをつけて探します。この辺は経験がものを言うところです。

間違っていたところをいっしょに修正したら、よし動いた!

話していて、まだ英語を本格的に勉強していないのがハンデになっていると思いました。写経では、中学英語レベルでも単語を知っていると、英語の意味をたよりに動きを想像することができます。小学生だと学校で習っていないので、英単語を知っている前提で話すと行き詰まります。

それをとやかく言っても仕方ないので前向きに考えましょう。先取りして英語の勉強もしていると考えれば、プログラムと合わせて一石二鳥です。冒頭に戻りますが、総合力というのは、このあたりからも感じられます。

本を読めばプログラムを勉強することはできるといいつつも、行間を補うのは、われわれの腕の見せ所です。