他学科(建築・デザイン)のとある女子学生さんから卒業作品について相談がありました。
話を聞くと、光ファイバーを束ねて光らせたり反応したり表現したい、とのことでした。
彼女はオダビプロジェクトで一緒だったため、僕がそういうシステムについて詳しいと考えたようです。
オダビプロジェクトであまった材料(マイコン、LED、ブレッドボード)があったので「自分のパソコンを持ってきてくれたら、そこに環境構築して簡単な使い方を教えてあげるよ」と伝え、今週の月曜日に1時間くらい2人であれこれやりました。
とりあえずArduinoをその子のパソコンにインストールして、パソコンとArduinoを繋ぎ、以下のようなLEDを点灯するだけのプログラムを作りました。あわせてコンパイルやデバッグや転送方法を説明しました。そこまでは私が主に操作する感じで進めました。
void setup() { pinMode(5, OUTPUT); } void loop() { digitalWrite(5, HIGH); }
単純にLEDが点灯しただけでしたが、彼女の喜びようは感動的でした。キラキラです。人って光るんですね。。。ホント、久しぶりにみました。
ちょっと脱線しますが。。。プログラミングの授業やゼミなどしていて、私自身は「こんなに凄いことが簡単にできる!!」とJavscriptやiPhoneやKinectやProcessingやあれこれやらせてきたのですが、そのたびになんというか反応が非常に薄いんですね。。。感動すると負けと思っているのでしょうか(苦笑)非常勤で看護学校に行っているのですが、授業の流れで「ちなみにこんな操作するともっと簡単になるんだよ」とExcel等で小技を紹介すると感動した様子を見かけることがあります。ああいう感情表現は、自分自身にいいフィードバックを起こし、記憶の定着につながるばかりか、教員も人間ですから、もっともっと教えてあげよう、という気にさせてくれる(要は乗せてくれる)わけです。そんなことを書いている私も学生のときには教員の感情など考えたこともありませんでしたので反応は薄かったかもしれません。もっともっと感情を出して行けたら授業も楽しかったのでしょうね。。。と今頃になって思います。
話を戻します。
その後、明滅するように書き換えて見せました。
void setup() { pinMode(5, OUTPUT); } void loop() { digitalWrite(5, HIGH); deley(500); digitalWrite(5, LOW); deley(500); }
次に、LEDを1つ追加して2つ点滅するように自分でやってみよう、と伝えました。
試行錯誤しながらブレッドボード上のマイコンにLEDを接続し、プログラムを以下のように書き換えました。でも、もう1つのLEDは光らない。。。「digitalWriteがないとダメだよ」と教えてあげました。
void setup() { pinMode(5, OUTPUT); pinMode(6, OUTPUT); } void loop() { digitalWrite(5, HIGH); deley(500); digitalWrite(5, LOW); deley(500); }
すると次のように書き換えました。交互に点滅しますよね。。。「あれ!?」というわけです。
void setup() { pinMode(5, OUTPUT); pinMode(6, OUTPUT); } void loop() { digitalWrite(5, HIGH); deley(500); digitalWrite(5, LOW); deley(500); digitalWrite(6, HIGH); deley(500); digitalWrite(6, LOW); deley(500); }
で、ここから彼女なりに試行錯誤したり、わからないようなのでタイミングチャートを書いて教えてあげたり、という感じでした。
上記の通りで、その子は電子回路はもちろんプログラミングも未経験でした。今後、卒業するために卒業制作は完成させなければならない、という動機はありますが、そこから先に繋がったらいいなとは思います。
彼女がやりたいことは、もっと「ふわっ」と光らせることのようですので、AO(PWM)を使った制御も学ぶ必要があるかもしれません。とりあえず、いろいろやってみてわからなかったら聞においでと伝えました。
お礼にとクッキーを焼いて持ってきてくれました。こういう大人からすると一見普通なことが若いとなかなかできません。彼女のお父様・お母様の育て方の素晴らしさゆえと思います。うちの子はできるかなぁ。。。
情報学科の学生さんでも、必ずしも自分が勉強したことを活かした就職先を選択するわけではありません。
プログラミングできなくて選択しない人もいますが、できる学生でもそういう傾向はあります。経験した上での判断ということのなのでしょう。ちょっともったいない気はするのですけどね。。。
Qiitaに高校生向けのIT教材について検討した興味深い記事がありました。こうした教育に乗って行ける生徒はもとから興味があって積極的に身につけようと努力することが結果に結びつくのだと思います。
一方で、ハードを組み合わせた試みもされているようです。ファブ的な活動ですね。これも有望と思います。何か新しいモノを生み出す、そのための知識であり技術を身につける。
2020年から小学校でプログラミングが必修化されますが、文法ではなく、何か1つのゴール(ゲームでもパズルでも数学アプリでもロボット操縦でも)を設定して、そこに必要な知識であり技術を知る機会にできるといいな。。。と思います。できれば、プログラミングを単体の科目として扱うのではなく、そこで学んだ知識を他の既存教科に活かせたらどんなにいいことでしょう。。。小学校では無理としても中高生になったときに、Excelマクロなんかで暗記用アプリやデータ可視化アプリなど自作するという発想ができる子が大多数になってきたら。。。プログラミング教育も本物と思います。今の大多数の大人もできていないことですからね。。。実現は難しいとは思いますが。できたら素晴らしいだろうな。。。