【コラム】社会人向けと子ども向けではプログラミング学習の目的が違うはず
国内で子ども向けプログラミング学習の話題に触れるとき、大きな文脈として紹介されるのが経産省が2016年に発表したIT人材に関する報告です。
IT人材の最新動向と将来推計に関する調査結果を取りまとめました(METI/経済産業省)
IT人材が足りない、ぜんぜん足りない。
だから育成しなければ
⇨社会人も教養としてプログラミング技術を学んだりITリテラシーを高めるべき、という話へ
だから子どもたちも教育しなければ
⇨小学校からプログラミング教育、という話へ
このうち前者の話は、たとえばこんな感じのサービスが注目されることに繋がっています。
簡単にいえば、手に職を、という話です。
プログラミングスキルを身につけて転職したり、今の仕事の中でスキルアップしたり
いま求められるスキルであることに間違いはないので、プログラミングスキルを身につけておけば即戦力として自分をアピールできますね。
大人向けのプログラミング教育という話題は、自分自身がIT業界にいることもあって、とても共感できます。
一方で、子ども向けはどうでしょう?
先ほど紹介した記事を読むと分かると思うのですが、社会人向けのプログラミング学習はあくまでも即戦力であり、身につけているのはいわゆる"コーディングスキル"です。
プログラムを書くためには、プログラミング言語といってコンピュータに理解できる専用の言語を覚えたり、その言語を使ってプログラムを書くための環境を使いこなす学習が必要です。
社会人のプログラミング学習は、まず専用の環境を自分のPCにセットアップするところから始まって、プログラミング言語のお作法や文法を習い、少しずつステップアップしながら自分でプログラムを書けるようになるまで練習する、というスタイルです。
経産省のいうIT人材、というものが社会人向けにも子ども向けにも同じ文脈として使われるとしたら
子ども向けにも同じスタイルが適用されるのが正解なのでしょうか?
つまり、より低年齢のうちから即戦力となる人材を育成すべきなのでしょうか?
中学校では技術家庭の時間を使ってプログラミングを学ぶことになっています。
ロボットを操作して簡単なアルゴリズムを学んだり、ホームページを作ったり、大人顔負けのプログラミングをしたり、学校によって様々ではあるのですが、いずれも思考力に加えてプログラミングスキルを習得させようとしているように見えます。
技術家庭という科目の目的からして、そうなのかもしれません。
ここでプログラミングに関心をもつ子がいれば、その道へ進むこともあるでしょう。
とここまでは良いのです。
問題は、その前の過程である小学校では何を学ぶべきなのか?
というところです。
数年前の議論では、プログラミングスキルを学ばせることが目的ではない
とよく言われました。
プログラミングを学ぶのではない
プログラミングで学ぶのだ
といった論調もよく聞かれました。
多くの議論を経て、新学習指導要領ではコンピュータを使ったITリテラシーの教育
といった位置づけになりました。
ここまでにたくさんの議論がされたのだと思いますが、私が知る限り、小学生がプログラミングを学ぶ目的
について明確に答えているものはないように思います。
多くは
思考力を鍛えるため
ITを使った問題解決をするためのリテラシーを身につけるため
といったところでしょうか。
では、思考力を鍛える手段はプログラミングでなければいけないのでしょうか?
なぜプログラミング学習なのか?
といった疑問にはこたえられていません。
ITリテラシーは次世代の子どもたちにとって必須であることに異論はありません。
ここで指摘したいのは、果たしてそれはプログラミング教育なのか??
というところです。
ITリテラシーを習得するために、いわゆるコンピュータサイエンスの分野を子どもたちが先取りして学ぶのは賛成です。
こうした学習は家庭間で格差が生じるものなので、義務教育としてやるべきだと私も思います。
私にはこの中で「プログラミング」をどう位置づけるか?
といったところが曖昧になっているように感じるのです。
プログラムとは命令の集まりであり
アルゴリズムを決めてその通りにプログラムを動かすことがプログラミング
というのが私なりのプログラミングの定義です。
なので、コンピュータサイエンスの文脈で語るとスコープが狭くなりすぎてしまうんですよね。
本当はもっと、学べることがあるはずなのにもったいない。
ちなみに最近、子ども向けのオンラインプログラミング講座というものが出てきました。
Z会にもありましたね。
これこそ、大人のプログラミング学習と同じ文脈…
と思ってしまうのですがどうでしょうか?
【ワークショップレポート】ピタゴラ装置をつくろう! 1/2
今月は探プロのワークショップを各所で提供させて頂いています。
おかげで大忙しですが本当にありがたいことです!
先日は6月25日と7月23日の2回に渡って、「ピタゴラ装置をつくろう!」というテーマで勝間塾ジュニア教室の皆さん向けにご提供しました。
このワークショップをグループ内で告知した際、なんと3時間で満席&キャンセル待ちになったそうです!!
急遽参加枠を増やして皆さんにご参加頂きました。
嬉しいなー
小学生のお子さんがいる家庭が中心の会ですが、お子さんだけでなく保護者の方々が非常に意欲的で、2日間のワークショップは私にとってもすごくやりやすくて助かりました。
企画のお話を頂いたとき、候補の1つがピタゴラ装置だったのですが、いつも顔を合わせているメンバーだからこそできること、ということで是非やらせてほしいと私からお願いしました。
という話題になったことがあって、それ以来、いつか探プロでピタゴラ装置をテーマにやってみたかったのです。
ただ、工作道具を揃えることと、設計する時間が課題でした。
これは1回のワークショップでは実現できない...
そこで探プロとして初めて、2回連続のワークショップ形式をとることにしました。
DAY1とDAY2の2回に分けて、1ヶ月のブランクをとっています。
この1ヶ月の間に、家族でじっくり考え、プロトタイプを作り、必要な工作道具を揃えて当日はそれごと持参してもらうことにしました。
主催者側の都合もありますが、結果的に家にあるものを個々に持ち寄る形になったので無駄がなく良かったのではないかと思います。
(持ち運びは大変だったでしょうが...)
さて、この「ピタゴラ装置を作ろう!」のプログラムで学習できるプログラミングの考え方とは何でしょうか?
それは、「インタフェース」です。
先日のEdisonワークショップでも「インタフェース」を取り上げていますが、観点が少し違います。
Edisonワークショップで伝えたかったのは、
「モノゴトを正しく伝えるためにはインタフェースが大事」
さらに
「間をつなぐものが増えれば増えるほど、インタフェースはもっと大事」
ということでした。
今回伝えたかったことは
「モノとモノ、モノとヒトの間にはインタフェースがある」
さらに
「ヒトとヒトの間のコミュニケーションにもインタフェースの考え方が使える」
でした。
まずはDAY1。
親子15組の参加でスタートです。
DAY1は、littleBitsの使い方を覚えてもらうことと、インタフェースの考え方を知ってもらうことを目的にしています。
そこでアイスブレイクとしてこんなゲームをやってみました。
まずは、いつものlittleBitsミニ講座から。
そして次に、親子でlittleBitsをつなげます。
そしてさらに、一緒になったグループの中で家族同士のlittleBitsをつなげます。
さぁ、ここまでくると大変です。
つなげるlittleBitsのモジュールが増えれば増えるほど、これまでつながっていたものがつながらなくなる。
うまくつなげるためには組合せを変えて工夫しなければいけません。
つなげるときに大変な思いをするのはなぜだろう?
つなげ方を最初に決めておけば、もっと簡単につなげられたのでは?
そんな気づきを得てもらうことが目的の親子ゲームでした。
そして、あらためてインタフェースの話をした後は、グループごとにピタゴラ装置の設計をします。
自分の作品と、その前後の作品を意識して、つなげかたを考えることができるようにこんな設計書を用意しました。
このときはレゴブロックを使ってプロトタイプを作りながら考えてもらったのですが、みんな真剣...
DAY2での装置作りに向けて、各々のやり方でイメージを作っていきます。
中にはギアを使いこなす子もいました。
そして最後に、モノとモノ、モノとヒトの間にあるインタフェースの事例を紹介した上で
ヒトとヒトの間のインタフェースの話をしました。
伝言ゲームってあるじゃないですか?
「明日、雨が降ったら、車で、美術館へ行こう」
と伝えると
最後には
「明日、雨が降らなかったら、電車で、博物館へ行こう」
くらいに変わってしまう...
この話を例に出したら、子どもたちからすかさず
「そんなわけないでしょっ!」
と突っ込みがあったのですが、いやいや、実際にこれくらいの間違いは大人の世界でも普通に起きていますよと伝えました(笑)
伝言ゲームだけでなく、親子の間のコミュニケーションもそうですね。
伝えたはずのことが、伝わらない。
何が問題なんだろう?
どうすれば良いのだろう?
ここで、インタフェースの考え方を使ったらどんな解決ができるだろうか?
例えば、5W1Hを使うのも1つの手ですし、他にもあるでしょうか。
ピタゴラ装置の設計をしながら、家族でインタフェースについて少し考えるきっかけが作れたらと願いつつ1回目が終了しました。
DAY2へとつづきます。