すべての家族と、それを支えるすべての人を照らす

おうち、てらす

子どもたちがプログラミングを学ぶべき本当の理由

|1|2|》

 

ITの溢れる現代社会のなかで、プログラミング学習の波は子どもたちにも及んでいるようです。小学生向けのプログラミング教室や、ゲーム感覚でプログラミングが学べるアプリ、ついには公教育でのプログラミング必修化の動きも。

プログラミング、と聞くとわたしは、自分とは無縁のなんだか難しいもののように感じてしまいます。それがなぜ、今これほどにプログラミングスキルが重要視され、これからの子どもたちに強く求められているのでしょうか。

 

***

 

今回インタビューをさせていただいたのは、子どもたちに向けて「探究型プログラミング学習(探プロ)」を展開する小笠原記子さん。IT企業に勤めながら大学院を修了され、2児の母でもある、バイタリティ溢れる方です。

探プロは、いわゆる「プログラミング教室が提供するもの」とは一線を画すプログラムです。そこに込めた思いを伺いました。

13187831_1051264784959689_912211986_n
プログラミングって、PCを開いて一人でカタカタ…ってイメージがありませんか? PCを使うといろんなものが作れて、作ったものをいろんな人に見てもらえる。そんなプログラミング学習が子ども向けにもすごく多いんです。それってなんか違うな、とわたしは思っています。なぜかって、実際にわたしたちが仕事でやっているような大きなスケールのシステムは、一人では絶対に生み出せないものなんです。自分一人で作るわけじゃなくて、誰かと協力しながらじゃないと作れないようなボリュームだから。だから自ずと、他者とコミュニケーションを取ることが非常に重要になります。それって実はプログラミングだけじゃなくて、社会のあらゆるところでも同じことが言える。誰も一人では生きていないですから。

 

ーその通りですね。個人が社会とつながり続けるには、コミュニケーションが必須。

巷に溢れているプログラミング学習、つまり、子どもがPCに向かって孤独にプログラムの作り方を教えてもらう作業と、現実社会の真実である「誰かと誰かが必ず協力しなければものは作れない」ということって、すごく隔たりがある気がしたんです。もしかすると、一人でカタカタしているのがすごく楽しい子はいるかもしれない。それはそれで良くて、だけどやっぱり、いずれ一人ではできないって気づくときが来ると思うんですよね。そのときに、他者と協力し合いながら作るっていうスタイルを知っている人と、一人でしか作ったことのない人って、その後の幸せ度が変わってくるのではないかな。

 

ー子どもたちの反応はいかがですか?

子どもは、とにもかくにも「自分の作りたいものを作りたい!」という欲求に素直です。大人であれば、一つの目標を掲げたら、「じゃあそれに向けて分担をしましょう、あなたはこの役割で…」というふうにタスクを切り分けてプロジェクトを回すことができる。でも、子どもにとって、それはあまり楽しい作業じゃないんですね。すごく楽しそうなツールが目の前にあるのに、「あなたはこの部分作ってください」って分担させられると消化不良に陥る可能性があるのかなって思っています。

なので、まずは自分が作りたいものを思う存分作ってもらうようにしています。4人程度のグループを作って、なんとなくの方向性だけ合意を取って、あとは個々人で自由に作っていい。例えばこの間「街づくり」のワークショップでやったときは、最初に4人でどんな街をつくるかを考える。「海の中にある街」に決めたあとは、潜水艦を作る子、魚を作る子、なぜかモノレールを作る子など、みんな思い思いに作っていました。そして、いざ街のなかに並べると、ちょっと違和感が生じたりする(笑)

13219842_1051264498293051_1040284161_n

ー「海」という同じテーマなのに、ちぐはぐな感じがいい味を出していますね(笑)

そう、「海」であること以外のつながりがなにもない。そのモノレールに乗って何が起きるのか、魚と潜水艦はどんな関係なのか、まるで物語性がない。

そこで、冒頭のコミュニケーションの重要性に気づくのです。プログラムのつながりってすごく厳密で、AからBを呼び出すためのつながりは、AとBがつながり方を知っていなければいけない。事前に情報の受け取り方が決まっていなければ動かないという厳密さがあります。だから、ものを作るときは最初に「どうやって受け渡しするか」を決めるんですね。さっきの海の街の世界でいうと、たとえばモノレールに魚が乗ってもいいです。乗ってAの駅からBの駅まで魚が到着するみたいなところをつくるとしたら、乗るためにはどういう動きが必要かとか、AからBにその電車をどうやって動かすのかとか、Bに到着したらその魚をどう降ろすのかみたいなことを全部決めておかないといけないじゃないですか。魚がたとえばこれぐらいのサイズでつくったのに、モノレールがこんなちっちゃかった、なんてことになれば魚が乗れない。最初に大きさを決めておけば良かったんだねっていうことを学んで欲しい。このサイズに収めるのなら魚はせいぜいこのぐらいにしておかないといけなかったね、とか。

あんまり重すぎる魚は無理とか、そういうところを本当は事前にお互いに話をして、調整してつながり方を考えておかないと、うまくその街は生まれていなかったということを、実際には体験して、学習して欲しいという狙いがあります。一回、自分の思うように作る。でもみんなでひとつのものを作るためには、最初にちゃんと考えなきゃいけないことがあるんだねってことを、一回失敗することで学習するのが狙いです。

 

ー大人が当たり前にやっていることをいきなり子どもに求めるのではなくて、その必要性を自然と学ばせるしくみになっているんですね!

はじめから子どもたちに対しても「こうやりましょう」って言えば、きれいなものが作れるかもしれない。でもあえて一度失敗して、ああうまくいかないんだなっていうことを経験したほうが納得感があると思うんですよね。わたしは、探プロを通して子どもたちの「21世紀型スキル」を育てたいと考えています。

13219783_1051264794959688_1386360765_n

ー21世紀型スキル、ですか?

21世紀を生きるこれからの子どもたちに求められる、4つのスキルのことです。1つが、考える力。1つが、ITを使いこなす力。この二つが大事だと唱えるプログラミング学習が巷にはたくさんあります。でも、あと2つが足りないんです。

3つめがコーポレーション。誰かと協力し、多様性を認めながら何かをつくること。4つめが、社会と向き合う力。これら4つがセットになってはじめて、21世紀型スキルといえるのです。

 

ープログラミングで社会と向き合うって、どういうことですか?

プログラミングって、実は社会科と相性がいいんです。既存の教科にプログラミングを組み込むということを考えたとき、算数とか理科とか国語とかを思い浮かべがちですよね。でも、この間わたしが探プロのワークショップでやった「街づくり」の観点で考えると、社会科に組み込むことってすごく自然なんです。

街っていろんな要素があって、乗り物もあるし建物もあるし、道路もある。いろんなもので構成されている街っていうものを、ひとつひとつが繋がっていると捉えていけばプログラミングの勉強も社会の勉強も、全く同じもの。街って一言で言っても、ただ単に建物とか人とか車とかが存在しているというだけじゃなくて、観光地もあれば、災害に強い街であったり、防犯のしっかりした街であったりと多様で、子どもたちはそういうことを社会科で学んでいます。

たとえば、「安心で安全な街っていうのはどういう街だろう?」ということを社会科のなかで勉強して、実際に作ってみるとする。プログラミング学習の一番の醍醐味はものをつくることができるということなんですよね。それも、紙の工作だけではないから動きを加えることができる。こんなふうに、街づくりはすごく社会科との相性がいいのです。

 

ープログラミングに疎すぎて恐縮ですが、プログラミングで街を動かすってあんまりイメージができなくて…

たとえば、自分で消防署の出動の仕組みとかも作ろうと思えば作れちゃう。わたしがワークショップで使っているlittleBitsという電子ブロックがあるのですが、それぞれのブロックにいろんなセンサーがついているんですね。音に反応するセンサーとか、光に反応するセンサーとか。ブロックをつなぐだけで、ライトをつけたり音をならしたりモーターを動かしたりというしくみが作れるんですよ。

じゃあ、そういうものを使って消防署の発動のしくみを作ろうと思ったら、電話がなりました、電話の音を感知してたとえばライトをつけて職員の人たちに知らせるとか。ライトが光ったら、明かりを感知するセンサーがあるんですけど、消防署の人たちが寝ているベッドがあるとして、バイブレーションを動かして起こすとか。ブロックの組み合わせだけで作ることができる。そういうかんじ。

こういう連鎖の仕組みを作るだけでも物語性ができるし、ものが動く仕組みがわかるじゃないですか。そんな仕組みが社会のなかにあるんだなという理解につながる。

 

ーへえ!

みたいなことを、すごく幼稚なかんじがするかもしれないですけれど、プログラミングって要するに命令を組み合わせているだけってことがわかれば、立派な学習になるんですよね。それがビジュアル的に変わったりとかすればより高度で難しい仕組みを使って実現しているというだけで、構造自体はブロックでつなげるだけでもなんら変わらない。

 

|1|2|》

 

 

>> <<