津幡町「科学の祭典」

「小さなコンピュータ IchigoJamでプログラミング体験」

日時

2016/12/10(土)
10:00-10:45、11:00-11:45、の2回開催。

場所

津幡町文化会館シグナス

概要

津幡町で開催された「科学の祭典」に、PCN金沢も出展してきました。
なるべく多くの子どもにコンピュータに触れてもらいたく、
45分間ワークショップを2回開講することにしました。

今回、皆に学んで/遊んでもらうテーマは大きく2つ。
・光の3原色を体験してもらう。光は赤緑青の合成でできている。
理科の授業で習っても、実際に目の前で光を混ぜることを見た
こと無いのでは?
・プログラムを叩かなければコンピュータは動かない、ゲームで遊べ
ない。プログラムを叩くことでキーボード操作に慣れ、ちょっと
づつプログラムの仕組みが、改造箇所が判るようになっていく。
(繰り返し経験、慣れ)

対象

小3~小6、各回 20名まで。
津幡町に限らず、近隣の かほく市、金沢市から来てくれた子も。

満員ではなく 各回 12名だったことは寂しいが、お父さん/お母さん
も子どもの隣に座る余裕があったので、一緒にキーボードに向かう
姿は和んでましたね。

内容

1) 身近なところにコンピュータがある

炊飯器、エアコン、デジカメ、デジタル時計、、、にもコンピュータ
が内蔵されている。
家の中に、コンピュータ何個あるかな? 50個以上見つかるかも?

2) まずは LED

LEDを光らす/消す。
LED1 [Enter]
LED0 [Enter]

LEDという命令を覚えた。君の指示に従って コンピュータが動いたのだ。

LED1:WAIT 60:LED0 [Enter]
.. LEDが光り、1秒後に LEDが消える。

LED光らせて、すぐに消したら、パパッと見えないくらい早い。
WAIT命令は「待て」の意味。60 は待つ長さ。

IchigoJamというコンピュータは WAIT 60で1秒間待つ。
では、0.5秒間にしたかったら幾つ? → 60 * 0.5 = 30
3秒間にしたかったら幾つ? → 60 * 3 = 180

LED1:WAIT 180:LED0 [Enter]
.. LEDは 光って3秒後に 消えた。

《point》
・コンピュータは超高速に実行してくれるので、逆に「待つ」が
大事。WAIT命令の値を変えると 待ち時間が早く/遅くなる。

3) 一晩中点滅し続ける 信号機

「光って1秒後に消えて、また1秒後に光って、1秒後に消えて、
また1秒後に光って、1秒後に消えて、また1秒後に、、、」
何回命令を叩けばいいの?

繰り返し実行してもらう命令の集まりがプログラム。
10 LED1
20 WAIT 60
30 LED0
40 WAIT 60
50 GOTO 10
行番号で実行する順番を指定して、最後の命令 GOTO 10 で、
10行目に戻る=繰り返す、のだ。

《point》
・コンピュータは、超高速に言われたことを実行してくれるけど、
逆に言わなきゃ何もしてくれない。何を実行させるか?は
君たちのアイデア次第なんだ。
・コンピュータに繰り返し実行させる命令の集まりがプログラム。

4) フルカラーLED

絵の具の3原色は、色を混ぜたことあるよね?
光の3原色 って理科の授業で習った?
けど、実際に 目の前で光を混ぜることを見たこと無いのでは?
コンピュータ使えば、簡単に実験できる。

OUT 1,1 で青に光る
OUT 1,0 で青が消える

OUT 2,1 で赤に光る
OUT 2,0 で赤が消える

OUT 3,1 で緑に光る
OUT 3,0 で緑が消える

電球1個なのに、3色に光った。

では、
OUT 2,1: OUT 3,1 で黄に光った。
赤と緑を混ぜると黄色なのだ。

ここで OUT 2,0 で赤を消すと緑になった。
黄色から 赤を消すと 緑なのだ。

: 何色に光らそうか?

《point》
・光は 青/赤/緑 の合成でできている。

⇒ ガラス製のクリスマスツリーの中に、フルカラーLEDを
入れて、プログラムで各色に光らすと綺麗だよ。
来年のクリスマスに作ってみようか!

5) さぁ、ゲーム作って遊ぼう

プログラムを叩かなければコンピュータは動かない。
ゲームで遊びたかったら、自分で叩くしかない。

ちょっと長いんだが、プログラムを叩いてみよう。
8行のプログラム、早い子で 10分くらい。親御さん/スタッフ
の応援を受けて 全員 完動!
「僕 348点だ!」と自慢げ。

「難しい~」という子のために、WAIT 3 → WAIT 5 に改造。
もっと遅く WAIT 30 とかにすると、キーの反応も悪くなり、
マトモに動かない、ツマらないゲームになってしまう。

やっぱ WAIT 2 ~ WAIT 5 が妥当なんですよね。

《point》
・プログラムを叩くうちに、キーボード操作に慣れていく。
[Shift] + [2] で 「”」が打てるとか、直ぐに慣れていたよね。
(繰り返し経験、慣れ)
・プログラムを叩くうちに、ちょっとづつプログラムの仕組みが、
改造箇所が判るようになっていく。
1番簡単なのは WAIT値を変えてもらう。

最後に

・やっぱ 45分間は短い。準備していた教材の何ページも省略したの
は残念だったが…

・それでも、実際にコンピュータに自分で命令する感覚を体験して
もらい、「0.5秒間にしてみた」「~したら 紫に光ったよ」
と自ら 応用効かせてくれる順応力の高さを見せてもらった。

# この自慢げな顔/嬉しそうな笑顔、が見たくって、こんなイベント
# を開いているのです。子どもたちから 元気 貰っています。

・「来年春?に 津幡の “町なか科学館” で “プログラミング体験”
のイベント開くから、また遊んでくれるかな?」の挨拶に
「はい!」と言ってくれたことが何よりも嬉しい。