新しいメンバーには、scratchとpythonを比べてみるところから

龍野プログラミングクラブは、JR本竜野駅2階多目的室(上の写真)で定期開催しています。

タッチタイピングの練習とアルゴロジック

わたしたちが運営するクラブでは、かならずタッチタイピングを練習します。はじめは、慎重にゆっくり入力していたメンバーも、徐々にキーボードを見ることなく入力しはじめます。

タッチタイピングの効果を感じるのは、コーディングと生成AIへの指示出しです。おどろくほどスムーズにキーボード入力をしていて、いちばん大切な「考えること」に集中できているのがわかります。

タッチタイピングで使うツールは、無料タイピングと寿司打と右手専用タイピングです。

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

寿司打 https://sushida.net/

右手専用タイピング https://typing.twi1.me/game/15206

タイピング練習のあとに取り組んでいるのが、アルゴロジックです。

アルゴロジックで、プログラミングに必要な以下のスキルを身に着けます。

  • 小さな機能に分解すること
  • 同じ機能は繰り返せること
  • 成果が同じなら少ない手数が良いこと

実は、現実世界でも重要性は変わりません。政府が2020年から学校で進めている「プログラミング的思考」を身につけるというのは、つまり、このことです。

「プログラマーになるわけじゃないから、プログラムは関係ないや」ではないのです。重要なのは、プログラムを通して身につく、その先の「力」です。

アルゴロジックは、ゲーム感覚でプログラミング的思考が身につく良いツールです。フリーで誰でも使えるので、どうぞご自宅でもお試しください。

教材の写経をやってみて、AIに動かないところを指摘してもらう

ひさしぶりに教材のプログラムを写経します。

これまでは、一生懸命入力したプログラムがエラーで動かなかったら、自分で間違いを探していました。せっかく生成AIの使い方を覚えたので、間違い探しを生成AIにしてもらうことにしました。

生成AIのプロンプトに自分が入力したプログラムを貼り付けて、エラーコードも一緒に貼り付けます。すると、間違っていると思われるところをいくつかピックアップして教えてくれます。

実は、プログラムが動かない原因の多くは、入力ミスです。小文字を大文字で入力したり、半角を全角で入力したり、人間にとっては些細なことでも、プログラムを読み込むコンピューターにとっては致命的です。

そして、人間にとっては些細であるがゆえに、間違いを見つけづらいのです。わたしも散々経験がありますが、毎度「時間を返せ!」と言いたくなるようなミスです。

これは、初学者にとっては辛いところです。そこで、生成AIを使って、すぐにプログラムが動くようになる、というのがとても画期的なのです。

しかも、詳細を噛み砕いて説明してくれるので、まるでペアコーディングでベテランプログラマーと一緒にコーディングしているような感じです。

これは、未来のコーディングスタイルです。

新メンバーには多角形を描くプログラムから

一方、こちらの新メンバーには、まずは身近な例をプログラムで体験してもらいます。

光都ICTクラブお得意の「多角形を描くプログラム」です。

Scratch(ブロックを使ったビジュアルプログラミング)の経験はあるということだったので、簡単にScratchで多角形を描くプログラムを作ります。ここまでは準備運動。

それが出来たら、今度はPythonコードを写経します。下がPythonで六角形を描いたところです。

コーディングをしながら、簡単な算数をします。例えば、「360÷4は?」とか「360÷5は?」とか。割る数が少ないうちはいいものの、7とか9とか11になると、だんだん大変になってきます。わたしは暗算したくないので電卓を使います。

現役の小中学生でも、割り切れない暗算は得意ではないようです。当たり前ですね。そろばんやってるなら、すっと答えが出てくるかもしれませんが、訓練してないないと誰でも割り切れない暗算は嫌いです。

そこで、面倒なことはコンピューターにやらせよう!というのがプログラミング的思考です。そもそも計算をすること自体がいらないように、プログラムを書けばよいのです。

数学的には、「一般式をたてる」といいます。暗算ができることより、こちらのほうがよほど重要です。

例えば、現代において100kmの道のりを素早く移動するために、ひたすら長距離走の練習をする人がどれだけいるでしょうか? 100kmを速く走ることより、「自動車が運転できる」「公共交通を使ってたどり着ける」「ヒッチハイクする度胸がある」などのほうが重要でしょう。時代によって、求められるスキルは変わるのです。

なんか、面白そうなことやってる!

ちょっと目を離したスキに、Scratchで楽しそうなことをやっていました。今度はこちらのメンバーに、わたしが食いつきます。

下のScratchコード、動きが面白いので目を引きます。簡単なのでぜひ動かしてみてください。

ただし、Scratchでプログラムを動かすのは、当クラブの本意ではありません。Pythonで動かしましょう!

自力でPythonコードが書けないときは、生成AIに変換させてみましょう。下がそのプロンプトです。

違う言語に変換するのは、生成AIの得意なところです。ただ、Scratchのようなビジュアルプログラムをテキストコードに変えるのは、工夫が必要です。やってみて、完全とは言えないので、何度もやり直します。

やり直しているうちに、どのようにプロンプトを書いたらよいか掴めてくるものです。