新しい学習指導要領では中学校で今以上にコンピュータについて学ぶ時間が増えるみたいですね.僕も小学生のプログラミングについていろいろと考えてはきましたが,中学生に対しては何をどんな風に教えるのが良いのか考えてみたいと思います.
文科省の位置づけや,大多数のコンピュータへのイメージは,やはり大きく技術という枠組みの中で捉えるということなのでしょう.それに対して,僕が考えるコンピュータは技術の側面だけじゃなく,科学の側面も同じくらい重要だと考えています.コンピュータエンジニアリングだけじゃなくて,コンピュータサイエンスということなんですが,英語で言うとなんか分かったような気になってしまいますね.
コンピュータサイエンスという言葉がとても軽々しく使われていますが,もう少しちゃんとサイエンスの部分を説明できないかと思っています.その説明が,そういうことが得意な人だけじゃなく,普通の人でもわかるくらいの学年はどれくらいだろうということで,中学生を対象にしました.
一番伝えたいのは,システム全体がレイヤーに分かれていて,各レイヤーがシンプルな構成要素を組み合わせて複雑なものを作り,それが上のレイヤーの構成要素となってゆく,という階層的な作られ方です.1つのレイヤーだけだったら,たとえばレゴブロックを組み合わせてロボットを作る,といったのが例としてあげられますが,コンピュータのすごさは,そんなレイヤーが何段も重なっているということです.
どうも,最近のプログラミング教育は1つのレイヤーを教えて終わり,というのが多くとても残念ですが.僕はレイヤーが何段も重なっていることこそが,いまの情報化社会が成功した理由だと思っているので,そのイメージを是非とももってもらいたい.この考え方は時代や技術に対して普遍ですから,これで育った子供が,将来新しいレイヤーをどんどん作っていって欲しい,と思ってます.
それで,スイッチやトランジスタから始まって,ビスケットの上で動くテトリスに至るまでに沢山あるレイヤーを1段ずつ解説してゆきます.解説が単なる講義になってしまうと,つまらないので,そこにちゃんとした実験を仕掛けます.
実験は,まず決められた手順通りやってみる段階があって,次にいろいろといじって遊ぶという段階があります.たとえば,抵抗を大きくしたり小さくしたりすると何が変わるのか,といったことです.
僕の強みとしては,これまでビスケットをとても沢山の子供達に教えてきたという経験です.ビスケットじゃない対象を教える場合でも,子供の反応がなんとなく想像できます.その想像があっているかどうかは,実際に子供にやってみないとわからないのですが.
で,論理回路でいろいろと遊んでいて,やはりこれはちょっと難しいなと感じる部分がいくつか出てきました.どういうのが僕のセンサーに引っかかるかというと,プログラミングを教えているときによく出てくる「これは呪文だからそのまま考えずに入力してください」というあれです.それが入った瞬間に,そこで浮かんだ「なぜ」を封印してしまうことになります.
ここで,2つの選択肢があって,そういう「なぜ」を拾って丁寧に教えてゆくという方向.これは泥沼です.大勢の子供を置いて行きます.その一つの「なぜ」の説明に,新たに「なぜ」が100個くらい生まれるという感じ.そっちに進むと本筋からどんどん離れていってしまうので,だから最初に「これは呪文だから」中身を考えないでと言ったわけです.
もう一つの方向が,その呪文をいろんな工夫によって隠してしまうということです.少なくとも,何も考えずに入力する,という作業を見せなくするのです.
今までビスケットを教えてきて,少しでも説明が難しいなと思うことがあると,アプリを方を修正して,説明がしやすくなるようにしてきました.その結果,とても教えやすくなったのですが.今回もその方針をビスケット以外でも進めて行きます.
論理回路を3Vで動かします.同時にLEDも3Vのものを使います.
論理回路はもともと5Vで動かすようになっていました.いま,いろんな色のLEDがありますが,赤は2.1V,緑や青は3Vくらいで光ります.そこにうっかり5Vを繋いでしまうと,緑や青はものすごい明るさで光りますが,赤は耐えられずに壊れてしまいます.それで,正しい回路では,これらのLEDに電流が流れすぎないように,必ず抵抗を直列に繋ぐことになっています.赤の場合と緑や青の場合とでは,耐えられる電圧が変わるので,抵抗の大きさが変わります.
こういう回路で遊ぶときには,いろいろと試してみるのが大事です.その中に,うっかりLEDを壊してしまう可能性があるのはまずいのです.LEDには耐圧というのがあってそれを超えると壊れちゃうよ,というメッセージはもっとあとでもよいのですから,ここで抵抗を必ず入れる,というのは「呪文」です.
そしたら最近の論理回路というのは,3Vでも動くのですね.それで,LEDは3Vの耐圧のものにします(2.1Vの赤は使いません).それでも完全ではないですが,呪文の抵抗は省略できるし,壊してしまう可能性もぐっと減ります.
こんな感じで,小さい壁を減らしながら,少しずつつくっております.