探究型プログラミング学習(探プロ)

プログラミングの考え方を学んで、未来を創る力を手に入れる

プログラミングの考え方を学んで未来を創る力を手に入れる

【コラム】抽象化の答えが1つではないことの意味

先のコラムでは、効率的にモノゴトを処理するには『抽象化』という考え方が重要になることと、プログラミングの世界でも抽象化の考え方が必要になることをお伝えしました。

 

 

子どもたちが学校で学ぶことにはたいてい、答えがあります。

問題に対して、答えが1つ、決まっています。

そうしないと、先生が採点しづらかったり、社会が混乱したりするからです。

もちろん、道徳の授業のように答えが1つでないことも学ぶのですが、点数の良し悪しで判断するしくみがある限り、問題に対して答えが1つ、という考え方は子供たちの成長過程で当たり前に植え付けられるもの、と思います。

 

そうなると、すぐに答えを求めるようになるのですよね。

私たち大人は、社会に出てしまえば答えが1つの問題なんてほとんど存在しないことを知っています。

でも、答えは1つが当たり前の中で育った子どもたちには、なかなか分かりません。

そして、答え探しをしても見つからないことに苦労する人たちが出てきます。

 

実際に、普段の仕事でもそうした人が多いことが気になります。

相手が答えをもっていることが当たり前、と思ってしまうのですね。

 

こうした背景に問題意識があるからこそ、最近の教育では、自分の頭で答えを"考える"ことの重要性を説かれていますし、そうした機会が増えているのだと思います。

 

私は、子どもたちが成長する過程では、答えが1つではない問題にたくさん向き合ってほしいと考えています。

そして、プログラミング学習がそうした学習の機会になればと思うのですが、何らか"採点する"必要が出てきた途端に、答えが必要になってしまうのは残念なことだと思っています。

プログラミング教育を指導する立場からすれば、課題に対して答えがないと、都合が悪いです。

そうなると子供たちは、せっかくプログラミングという新しいものを学ぶ機会があっても、やはり"問題を解く"というスタイルに落ち着いてしまうのではないか、と懸念しています。

学校の現場でプログラミングを学ぶ、というところにも、同じような問題が起きるのではないかな、とも思っています。

 

だからこそあえて、探プロでは、答えのないプログラミング学習を目指しています。

例えば抽象化という考え方の答えは、1つではありません。

前回のコラムでは、抽象化はグループをつくること、とお伝えしました。

このグループづくりが、人によって全く違うので面白いのです。

 

以前にやったワークを1つご紹介します。

名付けて

散らかった部屋をみてお母さんが怒っています!早く片付けよう!!

です。

 

子どもたちには、こんなイラストが描かれたカードを渡します。

そして早く片づけられるようにグループに分けて、と促します。

f:id:dig_learning:20190519234132p:plain

f:id:dig_learning:20190519235039p:plain

 

制限時間内にグループに分けて、そのグループに名前をつけてもらいます。

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

 

 

探プロでは隔週で情報を配信します。

お友達とうろくをぜひ! 

 

友だち追加

 

 

【コラム】小学2年生が抽象化を学ぶ意味

長かったように思えた連休もまもなく終わりですね。

学校生活にも慣れて、勉強意欲が増してくるこの時期に、探究型プログラミングのワークショップはいかがでしょうか?

 

小学校低学年向けの連続ワークショップを実施中です!

電子ブロックのlittleBitsやレゴブロックを使い、日常生活の中で問題解決に活かせるプログラミングの考え方を学びます。
親子で一緒に参加することで、家庭や学校生活の中で役立つプログラミング学習を体験して頂けますよ。

計4回のコースですが、1回からお気軽にご参加頂けます。
お申し込みはこちらから。

★変身する公園をつくろう(ポリモフィズム編) 6/2(日)

★探プロ★変身する公園を作ろう(プログラミングの考え方を学ぶ、ポリモフィズム編)★お土産付き★20190602 | Peatix

★街をつくろう(モジュール化編) 6/9(日)

★探プロ★街を作ろう!(プログラミングの考え方を学ぶ、モジュール化編)★お土産付き★20190609 | Peatix

アルゴリズム編 7/14(日)

★探プロ★littleBitsでプログラミングの考え方を学ぼう(アルゴリズム編)★お土産付き★20190714 | Peatix

マルチタスク編 7/21(日)

★探プロ★littleBitsでプログラミングの考え方を学ぼう(マルチタスク編)★お土産付き★20190721 | Peatix

 

==

さて。

今回からしばらくは、プログラミングの考え方というものを少しずつ掘り下げてみようと思います。

最初のテーマは「抽象化」です。

ちなみに抽象化の話は、6/9の「街をつくろう!」というワークショップでも登場します。

 

数あるプログラミングの考え方の中で、今回この「抽象化」をとりあげようと思ったのには理由があります。

こちらです。

f:id:dig_learning:20190505233607j:plain

娘(小2)が1年生のときからやっているZ会では、今年度から「みらい思考力」という新しいワークが始まりました。

「みらい思考力」は6つの力に分かれています。

・論理的判断力(きちんとかんがえる力)

・情報整理力(せいりする力)

・試行錯誤力(いろいろためす力)

・連想力(おもいつく力)

・注意力(よくみる力)

・推移力(みぬく力)

 全てではないのですが、このうちいくつかはプログラミング学習においても重視したい力が含まれています。

例えば4月号では、情報整理力を育成するコンテンツとしてまさに、抽象化が取り上げられていました。

国語や算数だけでなく、21世紀を生きる子供たちにはこうしたスキルが必要です。

2年生といえばかけ算・・と思っていましたが、抽象化を学ばせるこの教材には非常に刺激を受けました。

なぜなら、探プロでもこの「抽象化」の考え方はとても重要だと考えているからです。

 

抽象化といっても、難しい話ではないのです。

みなさんもよく知っている"仲間集め"と同じです。

タクシーとトラック、バスの共通点をみつけて、乗り物というグループをつくる、あれです。

 

対象が動物だったり乗り物だったりと、見た目は子ども用の教材に見えますが、この2年生向けテキストにはなんとベン図が登場します!

(わたしがベン図を学んだのは確か高校生だったと思いますが・・)

さらに、表に記載された〇×を見ながらベン図に情報を整理する問題などもあり、なかなか高度なことを要求するなと感心しました。

 

このBlogでは過去に何度か抽象化について書いています。

dig-learning.hatenablog.com

なぜ抽象化の話が重要なのかについてはそちらを読んで頂きたいのですが、抽象化の考え方をマスターするとどんな良いことがあるのか?

についてあらためて書いておきます。

それは

効率的にデータを扱う

ことができる、です。

全てのデータを手当たり次第に見ていくよりも、データを整理して範囲を絞り見るべきものを限定する方が、効率よく目的に近づくことができるのです。


読者である大人の皆さんは、普段の仕事や日常の中でこの「抽象化」という考え方をごくごく自然に使っていると思います。

逆に、抽象化できないと大変です。すごく手間と時間がかかるのです。

例えば10個のデータがあるとして、この10個を1つ1つ調べるよりも、5個と3個と2個のグループに分けられることに気づくことができれば、調べるのは3種類で済むわけです。

 

このグループ分けを間違えてしまうと、、、どうなるか想像つきますよね?

抽象化の考え方を使いこなせないと、プログラミングでも同じ問題がおきます。

 

すごく似ているけど少し違うプログラムAとBとCとDとEという5つのプログラムがあるとします。

全体の95%が同じで、残りの5%だけが違うプログラムだったとき、もし95%の部分を変更しなければならなくなったらどうしますか?

5つのプログラムを全て変更することになるのです。しかも、全て同じように手を加えることになります。

 

ここでもし、抽象化の考え方を取り入れるとどうなるでしょうか?

例えば、この5つのプログラムを1つのグループにまとめることができれば、同じ部分を共通機能として使いまわすことができます。

そうすれば、変更するプログラムは1つで済む、というわけです。

 

だから、プログラミングの世界でも、うまく抽象化できるかどうか、というのはとてもとても重要なことなのです。

モノゴトをうまく整理して、効率化するために必要な考え方なのです。

 

しかし、この抽象化の考え方を使いこなすにあたっては1つ、問題があります。

それは、グループに分ける方法は必ずしも1つとは限らない、ということです。

だからこそ面白くもあり、難しくもあるのですが・・・

 

どういうことなのか、次回に詳しく書いてみます。

【コラム】探プロのアシスタントを子どもが務めるということ

2週間続けて実施した探プロのワークショップも小休止。

次回のワークショップに向けて仕込み中です。

まだお席がありますので、お時間のある方は是非お越しくださいね。

 

■2019年6月2日 変身する公園をつくろう!

 

■2019年6月9日 街をつくろう!

Blogで書きたいことはたくさんあるので、これから少しずつ書いていこうと思うのですが、最近の一番のトピックとして取り上げたいのが、探プロを手伝ってくれる小学生のアシスタントについてです。

 

f:id:dig_learning:20190421220731p:plain

 

探プロのワークショップでは、小学生が小学生をアシストするTA制度を導入しています。

TAといっても堅苦しいものではなく、当日のワークショップに参加する子供たちをサポートする頼もしい存在です。

 

先日は低学年向けのワークショップだったので、高学年の5年生から6年生の3名の子供たちに手伝ってもらいました。

ちなみに、わたしの息子も手伝ってくれていて、何度も参加している彼はもうベテランの域に達しています。

 

このTAは大人がやってももちろん良いのですが、参加者に近い年齢の子が近くでサポートすることにとても意味があると思っています。

子どもにとって、やはり年齢が近いお兄さん、お姉さんの方が安心して会話できるようですからね。

 

彼らに一番期待しているのは、littleBitsの使い方や考え方を「教える」のではなく、参加者が自ら答えに辿り着いたり、考えたりするために「問いかける」ことです。

大人はすぐに答えを知りたがるし、教えたがるのですよね。

 

先日、知人と話をしていてあらためて実感したのですが、いまの子供たちは自分で考える機会がとても少ないように感じます。

大人が忙しすぎるので、そうした中で、行くべき道も、問題の答えも、ぜんぶ先に与えられてしまう。

なんてもったいない、と思います。

 

探プロのワークショップに参加する子供たちを見ていると、自分で考えてみよう、と促した途端に目の色が変わって必死になることが多いです。

でも、傍にいる大人が手や口を出すと、良くないことがおこります。

最近ではだいぶ減りましたが、付き添いの大人の方が、「どうやってやるんですか?」と聞いてきたり、終了後に「もっとじっくり使い方を教えてほしかった」とフィードバックをくれたりするのです。

探プロのワークは、さほど難しいことをやっているわけではないので、時間内に考えて到達できるように作っています。

考える、というその時間をもっと楽しんでもらえると良いな、と心から願っています。

 

そんなこんなで、TAの子供たちの仕事は、参加者が考えることをサポートすることです。

これは結構、難しいです。

そして、こうやればいい、という正解があるわけでもないです。

相手によりけりなので、毎回やり方は変わるでしょうし。

 

私から彼らに伝えているのはこれだけです。

「けっして、答えを言わないこと。みんなが考える手伝いをしてあげてほしい」

 

高学年とはいえまだまだ子どもです。

自分の知っていることを相手に伝える、だけでも難しいのに、相手に考えさせて答えに辿り着くようサポートする、というのはとても難しいことだと思います。

 

でも驚くべきことに、子どもたちはやれてしまうんですね。

とても自然に、手伝っている様子を見ていると感動すら覚えます。

 

回を重ねるごとに、周りをみて動けるようになり、余裕が生まれて、とても頼もしくなります。

こうした体験が彼ら彼女らにとって、大きな成長の第一歩になると良いな、と心から思っています。

 

プログラミングの考え方を学びながら、自分自身が学ぶだけでなく、人の役に立ち、コミュニケーション能力を高める体験までできるなんて素晴らしいと思いませんか?

 

そんなわけで、探プロのワークショップを手伝ってくれるTAを大募集しています!!!

理想は小学5年生以上(上は何歳でも可)ですが、それより下でも、やってみたい子は大歓迎!

やってみたいな、というお子さんは是非、こちらからエントリーしてください。

頂いた情報は、tanpro-labが責任をもってお預かりし、本活動以外の目的に使用しないことをお約束します。

(上のアドレスからエントリーしても情報が公開されることはありませんのでご安心ください)

 

なお、ワークショップのTAを務めてくれたお子さんには、ほんの気持ちですがお土産をお渡しします。

現金というわけにはいかないので・・・何をもらえるかはお楽しみに!

(お土産を探すのも私の楽しみの1つなのです)

 

エントリーして頂いたお子さんたちには、次回6月のワークショップに向けて事前に簡単なTA講座(無料)を受講して頂きます。

もちろん、6月には参加できないけど、いつかTAをやってみたい、という方でも構いません。

登録して頂いたメールアドレス宛に、ご連絡差し上げます。

 

ご応募お待ちしています!

@tanpro-lab