疑問をすぐに質問できるのは素晴らしいことだ
龍野プログラミングクラブはJR本竜野駅2階多目的室(上の写真)で定期開催しています。教材にそって進めるスタイルで運営しています。
タッチタイピングの練習
わたしが運営するクラブでは、かならずタッチタイピングを練習します。キーを打つことを、息をするようにできるまで練習します。
タッチタイピングで使うツールは、無料タイピングと寿司打と右手専用タイピングです。
無料タイピング https://manabi.benesse.ne.jp/gakushu/typing
右手専用タイピング https://typing.twi1.me/game/15206
下は右手専用タイピングに、わたしが挑戦した動画です。
動画のように、右手専用タイピングは、右手を酷使します。
右手は、ホームポジションから離れることが多いため、すぐに迷子になってしまいます。いくつかキーを入力したらホームポジションに戻ること。特に右手は、これを意識しましょう。
アルゴロジックも難しい問題が出てきた
下の動画は、アルゴロジックでジュニア問題の終わりの方の問題を解いた様子です。
彼の場合、なかなか解けずに考え込んでいました。
そこでわたしからのアドバイスは、部分に区切ってかんたんにわかる問題を解くことです。この問題だと八角形をトレースする問題を解いてみます。
で、前回解けたのに、今回はなかなか解けなかったので、四角形をトレースしてみます。これはひと目でできました。四角形を解いたあとだと、八角形も解けました。
ここで、もとの問題に戻ってきて、「八角形が4つあること」「八角形はそれぞれ90度回転して配置してあること」に気づいてもらいます。
そしたら解けました。
プログラムは小さな(かんたんな)要素の組み合わせです。難しい問題は、小さな要素に分解できないか考えてみるのです。アルゴロジックは、そのあたり、よく考えて作られているなあと思います。
ゲームコーディングを続けます
アルゴロジックが終わったらコーディング。彼のコーディング速度は、だいぶ早くなりました。
タイピング練習がはずせないのは、コーディングをするからです。コードを入力するのに、いちいちキーボードで入力する文字を探していたのでは、まともなプログラミングはできません。
プログラミングで、あれやこれやと考えてほしいのです。試行錯誤してほしいのです。
またまた良い質問がありました
コーディングしていると、疑問に思うことがあるようです。たとえば、「Fontとはなんですか?」いう質問が出ました。
下は、ホワイトボードに書きながら説明した内容です。
コードの中のFontは、文字の書体にかかる設定をする項目です。
まだ英語に親しんでいないので、プログラムコードの中身を推測するのが難しいようです。これが高校3年生くらいになると、わたしよりよほど単語を知っていて、プログラムがわからなくても、意味が何となく推測できるようになるのだろうと思います。実際、受験生と話していてそう感じるところがありました。
そして、テキストを読みながらコードを追加していたときのことです。どこに追加したら良いのかわからなかったようで、わたしが挿入箇所を即座に示すと、なぜそんなに簡単にわかるのかと質問されました。
これも良い質問だと思います。わたしもあらためて言語化しました。回答は以下です。
追加したコードは、新しい関数でした。関数は、ゲームのメインループの上にまとめて書くのが通常です。
新しい関数を追加するので、今まで書かれている最後の関数の次に書くのが妥当です。
もちろん、同じような種類の関数をまとめるために、関数の並びの途中に挿入する場合もあります。
今回は、まったく新しい種類の関数だったので最後に追加です。
こういった疑問を一つずつ解消していくことで、プログラミングは上達します。素晴らしい、良い質問でした。