今朝のプログラミング「教育」考察

【今朝の頭の中】
先に書いておきますが、頭の中を書き出すとまた考え方が変わったり、あとで読んで何かに気づいたりするので書いてます。
皆さんがコメントくださるのも私の頭には少なからず影響があって、「へー」とか思うとやってみます。なので、「何言ってんだ!ちがうだろ!」と思ったらそう書いていただいても良いです。そうかぁ…と思ったらまたコロリという事変わるかも知れません。

さて、頭の中に浮かんでることを書きますが、プログラミングの教科ごとの活用例は、子どもの教材作りなのかな?誰が作るの?先生?
いつも私が研修で伝えてきた、機器やサービスの活用の目線だと、「ICTは時間と距離を飛び越える」というキャッチフレーズの足元が揺らいでしまいそうでドキドキします。

「ますます忙しくなったじゃないか!💢」と叱られる…。
いちいちゼロからプログラミングで教材を作るのはものによってはかなり大変かな。シミュレーションさせたいものが明確にある時点で、先生方がそれを作って、配布するだけになると、子供たちができるのは、パラメーターの限界に挑戦してみるとか、キャラクター変えるとかになりがちで、飽きるまではめちゃくちゃを試したくなる子が多そうに思う。当然制限なく改造できるんだから、間違いなく、こちらの意図から外れて別物を作り出す子が出てくるだろう。それが良い!ということなら、私はあくまでサポートだから先生がやりたかったことがそれであれば、子供を止めたりはしないです。めちゃくちゃな数値を試すことで何を発見するのか、じっくり観察する時間的な余裕があるならそれにも対応します。その日の目的が別にあるなら、あらかじめ入る数値や言葉は制限するか、もしくは進行するのに時間制限を設けて、ストップをかけるなど、コントロールが肝になりますよね。

ただ、本に載ってるサンプルをそのまま作るのでも意外と時間がかかる。色んな本に出てるサンプルや人が作ったものを真似して作ってみていますが。
でも、あらかじめ各教科ごとに使えば効果のある教材を準備して(誰が?)、それを各自が真似して手元のコンピュータで作り?(うーん、ものによっては配布しちゃえばよさそう)そこに例えば文字列を入れてみる、数値を入れてみる、クリックしてみる(どんな文字列を?どんな数値を?どんなタイミングで?)何度も試してみて、出た結果を元に、自分の考えを整理していく。実験。その結果何かに気づく?
色んなところで実際に子供達にプログラミングさせている報告では、子供にもループや条件分岐はわかるとかできるとか…やっぱり組ませることを見てるわけで、それいつやるのかな…と思うわけです。授業の中で組ませるのかな。

授業の中で組ませた例も見たことはあるけれど、じゃあ同じ単元をプログラミングなしでやった場合、所要時間はどのくらい?そして子供の理解度や定着度はどちらが高い?それこそ、子どもたちは生身だから、同じ能力の同じ人数で実験するなんてむずかしい。非効率的で以前よりその単元にかける時間が増えても、プログラミングを身につけることができているなら良しなのか?否か?
少なくとも教科で取り入れる前段階で、操作くらいは教えておかないと困るだろうな。1回の研修で例えばscratchを教材がオリジナルで作れるくらいまで理解させるとなると、1時間程度では無理だな。真似っこするために、決まったものを完成させる操作自体だけならできるかな。結局全員に同時期に同じものをある程度同じレベルまで習得させるというスタイルがある限り、プログラミングは、これまでの通常の授業の中で余計な作業をする時間をとらなくてはいけなくなる。

数日前に、「プログラミングは算数や理科と相性がいい」と思ったけれど、算数や理科は求められる答えがもう先生方の中でこれ!と決まっていることが多いから、コンピュータで何度もトライしてみることは、今ある定理の仕組みや正しさを納得するためにシミュレーションしてみるような活動になりそう。うーーーん。
意外とそれよりもコンピュータの本気の無作為(人間はどうしてもそこに意思が働く)とか、無限に繰り返すとかスピードが速い(疲れない、人間ではできないスピード)などを利用して、国語や英語、社会など、答えはひとつじゃない?ことが多い教科で使えるのかも知れないと思い始めました。むちゃくちゃな数値をいれたら、どうなっちゃうのか。例えば社会で人口増加とかのシミュレーター作って、少子化問題はどんな要素が加わると解決するのか考えてみるとか。別に子供増やさなくてもよくない?ってことになるかも知れないし、どうにかすると自ずと増えるようになるかも知れないし、それはどんな要素が必要なのか、無限に考えて追加できるかも知れない。すごく巨大なプログラムになりそうだけど。あ、そういったセッション的なみんなで作るのなら面白いかな。それぞれがプラグイン作ってくるみたいな。

いずれにしても、そういったことをやるには、先生も子供たちもプログラミング「的思考」じゃなくて、プログラミングやらないとできないでしょ。で、じゃあコンピュータで組むんじゃないならアンプラグドとか?

アンプラグドを見た時に思ったのは、これ、普通にコミュニケーションスキルのトレーニングかな、と。日本人ははっきり言わないから伝わらないとか言われてて、語尾をぼやかしたり、察してもらおうとしたりというのが、人間らしいところなんだけど、最近はそういう言葉のために、人と繋がるのがうまくいかないことが多いから、こちらの意思を的確に伝えるためのトレーニングとしてどうかな、と思ったんだけど、これは違うらしいです。なんか。何がどうだめなのか教えてください。

そういうコミュニケーションにおけるメソッドについて、定型発達(この言い方はなんかいや)の人間が、発達障害の人に伝わる言い方を学ぶのには、何かすでに私が言ってるようなメソッドが存在するようです。これも知りたい。

アンプラグドは、コマンドを受け取る側の動きをあらかじめ制限しないと、人間がやることなので、判定が甘かったりして、なんだかピンとこないんです。フローを考えるところをアンプラグドだと言うのも見ましたが、最終的にはコンピュータにやらせると、あれれ?ということになって、バグ取りするんですよね。やっぱりコンピュータは必要。

結局のところ、授業で何を目的にしているのか、今までの指導案でやったら時間はたりないわけで、無理矢理感がはんぱない。

で、今までやってきたやり方を大きく変えて、そこにプログラミングが入ってくるなら、やっぱりそこでコンピュータ相手に組む姿しか思い浮かばないのです。

もしそうだとするなら、子ども同士が学び合うとはいえ、先生も全くわからないところからじゃ辛いでしょうから、ごく簡単なものを組んでみていいんじゃないでしょうか。そこを習得するのを手伝うのと、ほしい教材を作るお手伝いくらいなら支援できるのかしら。

うーん、やはり支援員って常駐せざるを得ないのか。対応できる支援員を育てておきたいけど…。とまた頭を抱えるのです。