夏休み プログラミング教室 開催
縁あって、夏休みにプログラミング教室を行うことになりました。
そして、そのまま勢いに乗って、エンジニアの卵を育成する計画を前倒ししていくことに。
プログラム未経験者、パソコン未経験者をもエンジニアの道に取り込もう、という計画ですので、楽しくなくてはなりません。
そして、子供でも安心して取り組める安全性が不可欠です。
また、TEAM-EBIでプログラミング教室をやるなら、やはり「モノを動かす」と「コーディング」は外せません。
最近盛り上がっているのは、GUI上でブロックを組み合わせるようにプログラミングしてアルゴリズムを学ぶ、というスタイルですが、そうではなく、キーボードでプログラムのコードを入力して動かす方です。
時代に逆行しているとか言われそうですが、ちゃんとそれっぽい理由があります。
GUIスタイルのプログラミングの場合、用意されているブロックを用います。
そして、その先のステップに進む際は、そのブロック自体を新たに作成したり、別のプログラム言語を用いるなどの道が考えられますが、その際、コードを書く必要が出てくると、急に大きな階段を上らなければならなくなります。
あるいは、一足飛びにエンジニアとして就職し、いきなり、サーバや製品を前に「この仕様書とソースを読んでこっちの機能を実装して」などと言われるということにもなりかねません。
ですから、プログラミング学習には、地道に細かいものや知らないものを作り上げる、とうステップが必要だと思うのです。
そのステップを経験していれば、突然、知らないものを開発する段になっても、慌てずに「何から始めればよいか」「先に調べなければならないことは何か」を考えることができるようになるのです。
オンボード プログラミング スタイル
一方、プログラミング教室を場所やコストを選ばず実施しようとなると、PC環境とかインターネット環境とかインストールの手間に縛られてしまいますので、なかなか実現へのハードルが高いことに気づかされます。
そういった条件を踏まえ、導き出したスタイルが次のような形です。
- Linuxで動くシングルボードコンピュータと、PCをUSBで繋ぐ。(余分な電源がいらなくなる。)
- PCからターミナル接続でLinuxにアクセスし、コンパイルから実行までボード上で実施。
(インターネット不要。PCのOSは何でもOKだし、パフォーマンスも最低限でOK。) - LEDを制御するプログラムを書き換えることにより、光の変化を楽しむ。
- モーターを制御するプログラミングで、物理的なモノが思い通りに動いた時の感動を知ってもらいたい。
- PC → シングルボードLinux → LEDやモータ制御基板 → モータ+α
モーターで動きのある体験を
モーターの選定には悩みました。
サーボモータがロボット的な動きに近くて良いのですが、動きが限定的で、その先のアイデア(自由研究とか)に繋がりにくい。
DCモータの回転速度を制御すれば面白いのですが、回転が速すぎるので、ちょっとしたことでケガにつながりかねない。モータの先に扇風機の様な画用紙を貼り付け、ちょっとした油断でその羽が目に…ダメダメ。
ステッピングモーターは、回転量を制御できるからアイデアが生まれやすいが、回転の遅いのがネック。
でも、回転が遅いのは、安全にもつながるし、パワフルという利点に変わります。
というわけで、ステッピングモーターに決定しました。
安価に、より多くの子たちに体験してもらいたいので、部品選定にも苦労しました。
LED 3つで光の三原色を学ぶ
LEDも僅か3個で光の三原色を学ぶことができます。
三原色、意外といろいろな業界で必要になりますよね。
R、G、B とか。Y、C、M とか。
実機のカバー
電子部品は静電気や物理的な障害にも弱いですからね。ケースをどうするか、も悩みました。
あまり時間もないですし。
結局、アクリルでサンドイッチ。一工夫加えますけどね。
キーボードの使い方も、ゼロから
最初は、プログラムの数字を書き換えるところから。
次はアルファベットを書き換えることに挑戦。
大文字と小文字の違いが、意外とハードルが高い。
この辺の工夫はまだこれからです。
ただの講義で終わっては意味がない
必要なことは教えますが、できるだけ、自分で考える余地を残したいと思います。
自由研究も狙っているので、なおさらですね。
光の三原色とか。過去に戻って自分で自由研究の題材にしたいくらいです。
ミニ四駆で遊んでたあの頃の自分に、この教材を握らせてあげたい。
さてさて、ちょっとおもしろくなってきましたよ。
子供たちがどんなアイデアを出してくれるのか、楽しみですね。