光都ICTクラブ(2025年10月)~Unity改造とPythonスキルアップ~
金曜日は、毎週(第五金曜以外)光都ICTクラブの定例会が開催中です。メンバーみんなが、それぞれ課題を持ち寄って取り組んでいます。
Contents
スタートはタイピング練習
光都ICTクラブの各クラブでは、最初にタイピング練習に取り組むことにしています。
そろそろ私のハイスコアを超えるのメンバーの二人目が登場しそうです。

Unityの教材が終わったみたいなので、自分でアレンジします
教材にそって進めているクラブですが、進み方に合わせて自分のやりたいことをやっています。
こちらのメンバーは、ロープレみたいな画面を作っているのかな?

そして、こちらのメンバーはアクションゲームかな?

自分で作りたいものを作るのが、上達の一番の早道です。自分で考えて、なにか一本アプリケーションを作ってみること、それがプログラム上達の王道です。
さて、下の写真は「本に寄り添う文鎮」の写真です。

スタッフが、メンバーのために持ってきてくれたそうです。私も持っていますが、いいですよ「本に寄り添う文鎮」。
OS(Linux)を再インストール
こちらのメンバーは、パソコンにLinuxOSを再インストールしています。動かなくなったとか。
プログラムとは違うけれど、実はこっちのほうが役立つコンピューター知識です。

こっちができた方がいいけれど、いかんせん出来上がりが面白くありません。「古いパソコンがサクサク動きます!」小中学生にとっては、面白いネタではないですよね。
でも、興味を持つメンバーには全力サポートします。むしろ、こっちのほうが燃えるスタッフがそろっています。
ところで、LinuxOSを使うなら、Linuxの系譜を知っておくと良いでしょう。大きく分けてRed Hat系とDebian系があります。系統をまたぐと学習コストが上がるので、まずは同じ系統のディストリビューションを使って見るとよいですね。

リスト内包表記を勉強しよう
Paizaで学習していたメンバーが、模範解答がよくわからないということでフォローします。鬼門のリスト内包表記でした。

リスト内包表記は、突然でてくると戸惑う内容です。入門書にははしょっている書籍も多く、ネット検索すると出てくるリスト内包表記がよくわからないみたいです。
でも、説明すると理解してくれるところが素晴らしいと思います。単にfor文を変形しただけというのを理解してくれました。何度も出てくれば、すぐに慣れるでしょう。

もう一つ、Pythonのfor文の書き方で悩んでいました。例えば、下のような書き方です。
for i in (リスト):
(処理内容)いつもなら(リスト)のところにrange(35)みたいに繰り返し回数を指定するのに、リストが来るとは何なんだ?という悩みです。
これは、Pythonらしい書き方ですね。実は、繰り返し回数を指定するのは、仕様の古い言語でも採用されている書き方です。例えばC言語だと、こう書きます。
for(i=0:i<35:i++){
(処理内容)
}この書き方、35自体に本質的な意味はありません。悪い意味で「マジックナンバー」といいます。
クラス35人にプリントを配る場合を考えてみましょう。Pythonでは、以下のように書けます。
for i in range(35):
(プリントを配る)これで、35人にプリントを配るプログラムが書けました。では、転校生が来て36人になったらどうしましょう。35を36に書き換えればOKです。では、二人転校してしまったらどうしましょう。36を34に書き換えます。
さて、転校の都度数字を書き換えないといけません。これは、プログラムの意図として本質的ではありません。以下のような書き方ができれば、転校生があっても数字を書き換える必要はありません。
for i in (クラス全員分のリスト):
(プリントを配る)こうすると、数字をいちいち書き換える必要がなくなります。つまり、間違いが起こる可能性を減らせるわけです。
そして、プログラムコードを読む立場からすると、本質的なコードになっていると思いませんか? このコードの意味は「クラス全員にプリントを配る」です。数字を入れていたときは「クラスの35人にプリントを配る」です。
プリントを配るとき、あなたがやりたいのはどっちですか?
物理シミュレーションをやってみる
内容は大学レベルの物理シミュレーションをやってみようと、今回から少しずつ始めていきます。

中学生のメンバーなので、運動方程式の理解は、とりあえず置いときます。自分の経験を元にファジーに掴んでくれたらいいです。
コーディングは教材を写経するわけで、なんとなく動けば良しとします。今の段階で細かい議論をしてもしんどいだけなので。まずは動く楽しみを感じましょう。
で、元中学校教諭のビートル山本先生に解説してもらいました。このスタッフの層の厚さ見よと、私は自慢したいのです。

さあ、がんばるぞ!
週がかわって、復習の次のこと
倒立ロボットのシミュレーションをCoderDojoやったはいいけれど、来ているメンバーと来ていないメンバーがいました。そこで、もう一度シミュレーターを復習します。
さて、前回と同じとおりに実行するだけなのに、なぜか動かなかったり、環境設定がうまくいかなかったり、大苦戦でした。大体足並みがそろったので、次回から実物を動かしましょう。
HDDの健全性を確かめるには?
メンバーの一人がHDDが欲しいというので、余っていた3.5inch HDDをあげました。わたしの本棚の肥やしになるより、メンバーが活用してくれたほうがよほどいいのです。
さて、中身のデータに変なものが入っていないか確認したあと、メンバーに渡したところ、自主的に「Crazy Disk Info」なるアプリケーションをインストールしてHDDの健全性を確認していました……。素晴らしい。

ちなみにCrazy Disk Infoは、Crystal Disk InfoのLinux版です。勝手に調べて、勝手にソースを落としてきて、メイクしてインストールしていました。プログラミングも大切だけど、コンピューターを使っていくうえでは、こちらのほうがよほど大切なスキルです。教えていないのにやってのけるとは。
好きこそものの上手なれ、ですね。もっとやってほしいと思います。
ついでにHDDの中身を勉強
いっしょに部屋においてあった、蓋を開けたHDDを持ってきました。ハードディスクの(物理的な)中身なんてまず見ることがないでしょう。ということで、見て、触ってもらいました。
光都ICTクラブの面白いところは、こういうツールを持ってくると、メンバーだけでなくスタッフも興味深そうに首を突っ込んでくるところです。
実は、光都ICTクラブにはスタッフもコンピューターやプログラム好きが集まっています。だから、「教えている」というよりは、スタッフもメンバーも一緒になって「楽しんでいる」という感覚です。

