太子プログラミングクラブ2-4~常識の枠を打ち破れ~
2025年2月28日は、太子プログラミングクラブ「初級コース第2期」の4回目を実施しました。
今回は引き続き、サイコロプログラムに取り組みます。
タイピング練習
はじめはタイピング練習から。タイピング練習で使うツールは、いつものです。
- 無料タイピング
https://manabi.benesse.ne.jp/gakushu/typing/ - 寿司打
https://sushida.net
記録をつけるのも慣れた様子です。
きちんとていねいに練習すれば、必ず上達するのがタッチタイピングです。ただ、思うようなスピードで上達できないのもまた事実です。のんびりとていねいに練習していきましょう。
サイコロの設計を知る
単なる入力だけだと、かなり早く終わるようになってきました。当初の予定では、写経でGUIプログラミングの流れを感じてほしかっただけなのですが、進み方が早いので一部説明することにしました。
例えば、下図はサイコロプログラムで自分でお絵かきするときの設計図です。
私がコーディングしたときは、このような図を描いたわけではなく、頭の中でイメージしながら作りました。慣れないうちは、この図のようにコードの中で使う変数・定数や設定値を書き出してみるとコードを書きやすくなります。
そして、学校で習った座標の考え方を応用しています。ホワイトボードに描いて説明しているときに、メンバーからとても良い指摘がありました。
「Y軸が逆!」
そうなんです、プログラムの世界では、Y軸が上から下方向に定義されるのです。その場では、横書きの文化圏でコンピューターが発展してきたので、左上が原点だと説明しました。メンバーは納得してくれたようです。
もう少し詳しい説明を生成AIのClaudeに聞いてみましょう。数学の座標と対比して、なるほどという答えが返ってきました。
コンピューターの世界でY軸が下方向にプラスとなる理由について説明します。
主な理由:
歴史的背景
- 初期のCRTディスプレイやテレビは、左上から走査線を描き始めていた
- テキスト表示も左上から右下へと進む仕様が一般的だった
- これらの仕様が、画面座標系のデファクトスタンダードとなった
実用的な理由
- 人間が文字を読む順序(左上から右下)と一致する
- メモリ上のデータ配列と画面表示の対応が直感的
- 配列のインデックスが増加する方向と画面座標が一致する
数学との対比:数学での座標系
- 数学では、Y軸は上方向が正
- これは地球の重力に逆らって上向きを正とする直感的な理解
- グラフや関数の視覚化に適している
後学のために覚えておきます。
アルゴロジックをやろう!
テクノの水曜クラブで好評だったアルゴロジックを、太子プログラミングクラブにも展開しました。
太子のメンバーでは、何人かアルゴロジックをやったことがあるようでした。でも、最短手数である「◎」を取ることにこだわって取り組んではいない様子です。太子プログラミングでは、最短手数にこだわります!
問題を解くスタイルは、メンバーそれぞれです。少しずつ動かして正解を探る人、頭の中ですべて組み立てて一発で正解を求める人。
大切なのは、ブロックを組み合わせて、どのようにロボットが動くかを想像することです。この訓練にもってこいの教材です。
ところで、普段はすぐに課題を終えてしまうメンバーが、比較的かんたんな問題で足止めを食らっている場面がしばしばありました。比較的簡単だといっても、「常識」「当たり前」の枠を超えたらかんたんであるということです。
プログラミングでは、頭を柔らかくして発想することが重要になる場面がたくさんあります。常識の枠を超えて、良いプログラムが書けるようになってほしいと願います。