【コラム】抽象化の答えが1つではないことの意味
先のコラムでは、効率的にモノゴトを処理するには『抽象化』という考え方が重要になることと、プログラミングの世界でも抽象化の考え方が必要になることをお伝えしました。
子どもたちが学校で学ぶことにはたいてい、答えがあります。
問題に対して、答えが1つ、決まっています。
そうしないと、先生が採点しづらかったり、社会が混乱したりするからです。
もちろん、道徳の授業のように答えが1つでないことも学ぶのですが、点数の良し悪しで判断するしくみがある限り、問題に対して答えが1つ、という考え方は子供たちの成長過程で当たり前に植え付けられるもの、と思います。
そうなると、すぐに答えを求めるようになるのですよね。
私たち大人は、社会に出てしまえば答えが1つの問題なんてほとんど存在しないことを知っています。
でも、答えは1つが当たり前の中で育った子どもたちには、なかなか分かりません。
そして、答え探しをしても見つからないことに苦労する人たちが出てきます。
実際に、普段の仕事でもそうした人が多いことが気になります。
相手が答えをもっていることが当たり前、と思ってしまうのですね。
こうした背景に問題意識があるからこそ、最近の教育では、自分の頭で答えを"考える"ことの重要性を説かれていますし、そうした機会が増えているのだと思います。
私は、子どもたちが成長する過程では、答えが1つではない問題にたくさん向き合ってほしいと考えています。
そして、プログラミング学習がそうした学習の機会になればと思うのですが、何らか"採点する"必要が出てきた途端に、答えが必要になってしまうのは残念なことだと思っています。
プログラミング教育を指導する立場からすれば、課題に対して答えがないと、都合が悪いです。
そうなると子供たちは、せっかくプログラミングという新しいものを学ぶ機会があっても、やはり"問題を解く"というスタイルに落ち着いてしまうのではないか、と懸念しています。
学校の現場でプログラミングを学ぶ、というところにも、同じような問題が起きるのではないかな、とも思っています。
だからこそあえて、探プロでは、答えのないプログラミング学習を目指しています。
例えば抽象化という考え方の答えは、1つではありません。
前回のコラムでは、抽象化はグループをつくること、とお伝えしました。
このグループづくりが、人によって全く違うので面白いのです。
以前にやったワークを1つご紹介します。
名付けて
散らかった部屋をみてお母さんが怒っています!早く片付けよう!!
です。
子どもたちには、こんなイラストが描かれたカードを渡します。
そして早く片づけられるようにグループに分けて、と促します。
制限時間内にグループに分けて、そのグループに名前をつけてもらいます。
2人より3人、3人より4人と、人数が増えるほどに難しくなるワークです。
なぜなら、人によってグループの分け方が全く違うからです。
ある人は色だったり、ある人は形だったり、はたまた季節だったり。
分け方は十人十色ですから、会話しながらそういった違いを知るのもまた面白い発見になると思っています。
このワークをすると、もう1つ面白い発見があります。
うまくグループに括れないものたちをまとめて「その他」とする子が出てくるのです。
そうすると、グループ分けはあっという間に完成します。
だから、「その他」というグループを作り始めたら、それはNG、と伝えます。
じゃあどうするか?
子どもたちが必死に共通項を探し始めることでようやく、"考える"モードに入ります。
他愛のない仲間集めゲームに見えますが、このときの思考はそのまま、プログラミングの世界でも活用できますし、プログラミングだけでなく、私たち大人が仕事をする上でも役に立つことは説明するまでもないと思います。
似たものを集めて1つのグループにまとめる。
そして、まとめて処理する。
これがどう日常生活に役に立つのか?については以前、洗濯物を干す、というテーマで書いたものがあるのでそちらを参考にしてください。
抽象化は、モノゴトを効率よく処理するために必須の考え方です。
これが出来ないと、仕事でも家事でも、無駄がたくさん発生してしまうのです。
そして、グループに分ける方法は1つではないのです。
つまり、他の人と自分とでは、分け方が違う可能性があるのです。
当たり前だと思うことが、違ったりする。
そこで初めて、もっと効率よくするためのグループ分けができるのではないか?と考えたり、皆が納得するためのグループ分けはなんだろう?と考えたりできるようになります。
仲間と一緒に問題を解決していく上では、こうした思考のトレーニングこそが重要になると信じています。
【イベント告知&拡散希望】
予測できない未来に生きる子供たちに必要なことは
プログラミングができる力
ではなく
・考える力
・仲間と協力できる力
・社会を知る力
・技術を使いこなす力
探究型プログラミング学習(探プロ)では、プログラミングそのものではなく、プログラミングの考え方を学ぶことで、これらの力を身につけることができます。
小学校低学年向けのワークショップはこちら。
6月7月に計4回、実施します。
1回からの参加でもOKです!
■6月2日 公園をつくろう!(ポリモフィズム編)
https://tanpro-lab-20190602.peatix.com/view
■6月9日 街をつくろう!(モジュール化編)
https://tanpro-lab-20190609.peatix.com/view
■7月14日 お手伝いをしよう!(アルゴリズム編)
https://tanpro-lab-20190714.peatix.com/view
■7月21日 お弁当をつくろう!(マルチタスク編)
https://tanpro-lab-20190721.peatix.com/view
探プロでは隔週で情報を配信します。
お友達とうろくをぜひ!