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

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

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

プログラミングと子育てをテーマに座談会をしました

昨日は初めての座談会でした。

子どものプログラミング学習を考えよう

 

ダイバーシティというテーマの中で、親と子という関係の新しい学び合いの形を考えているNPO法人GEWEL ダイバーシティー & インクルージョン推進活動、ビジネスリーダーの育成さんとの協働開催です。

 

日曜日の朝一という時間帯でしたが、熱心な3名の保護者が参加してくれました。

なんと、全てパパさん!!

 

お子さん連れで参加してくださった方もいたので

話をしつつ、子どもたちはlittleBitsやLEGOで遊びつつ

といった感じで、終始のんびりムードの2時間でした。

 

f:id:dig_learning:20170306224807j:image

 

初めての座談会で段取りが悪く…

最初に皆さんから自己紹介をしてもらうのを忘れてしまったのですが

半ば強引な意見交換の促しにも関わらず、皆さん快く応えてくださってありがたかったです。

 

時間配分は当日の様子を見ながら…

と思っていたので、話の流れから半分くらいは探プロの話をさせて頂きました。

 

どの程度お役に立てたかは?なのですが

個人的には、とても大きな気づきがありました。

 

f:id:dig_learning:20170306225141j:image

 

次世代を担う子どもたちには、少なくとも幼少期には

プログラミングのやり方ではなく、プログラミングの考え方を身につけてもらいたいと私は考えています。

 

なので探プロでは、子どもたちが将来、いろいろな場面でその考え方を応用してもらえるような学習の形を提案しています。

 

一方で、その保護者である大人は、プログラミングというものをどう捉えているのだろう?


というところが、今ひとつ掴めないでいたのですが、今日のお話の中に少しヒントがあったような気がしています。

 

プログラミングを経験してこなかった大人世代は、そもそもプログラミングがどんなものなのか?
何を学べば何ができるのか?


ということがイメージしづらいので、子どもたちが体験するプログラミングが、将来どんな形で仕事に役立つのか?


といった繋がりを理解できることが、もしかしたら重要なのかもしれないなぁ、と思いました。

 

そうしないと、家庭の中でお子さんと一緒にプログラミングを学ぶ、ということ自体が難しくなってしまうでしょうから。

 

プログラミングを学べば論理的思考力がUPする!
のようなスキルの話ではなく、実務的にどう役に立つのか?


ということを、もう少しイメージできるような伝え方、学び方というものを意識することが求められているのかもしれない


というのが、大きな気づきでした。

 

最近よく、プログラミングは大人も学ばないと!

という話をされるのですが

何を知りたいのですか?

と聞いても、プログラミングが分からないのですがら、何を知りたいのかも、ご本人はよく分かっていなかったりします。

 

私は、子どもだろうが、大人だろうが、即戦力となるプログラマーを目指すのでなければ

とりあえず、その概念、考え方を学んでおけば良いと思っていますが

私の伝え方が足りないこともあり

実際の実務との繋がりがまだ、イメージしづらいことが多いようです。

 

探プロは子ども向けの学習コンテンツですが

果たしてこれは、このままの形で大人にも通用するのか?しないのか?

もう少し吟味が必要なようです。

 

もし大人には通用しないとなったとき、探プロは方向性を見直すべきなのだろうか?

ということを今日一日、考えてみたのですが

今の時点では、NO、ですね。

プログラミングスキルを習得するのが目的なのであれば

それは他のコンテンツにお任せすれば良いので

探プロはあくまでも、考え方にフォーカスしていこうと。

 

なぜなら、それが一番、応用が効くと考えているからです。

 

 

さて、次回からはまた、『ルビィのぼうけん』の超訳にチャレンジしようと思います。

f:id:dig_learning:20170306230821j:image

 

 

【ワークショップレポート】未来の街を旅しよう!その7(完)

ようやく最終回です。

 

LEGOとlittleBitsを使って自分の作品を命令に見立て

それぞれの命令ブロックを拠点として

街(プログラム)をつくり

旅の行程(アルゴリズム)を決めて

実際に動かす(プログラミング)

というのがこのコンテンツの一連の流れでした。

 

今回は順次構造というシンプルなアルゴリズムなので

ストーリーを口頭で話しながら、順に命令を動かしていく

という発表スタイルとしました。

 

複雑になったら、地図を描くなどしてアルゴリズムを何かしらの形で表現できると良さそうですね。

 

今回のワークショップの雰囲気をお伝えするために

最後のプレゼンテーションまでを含めた動画を作成しましたのでご覧ください。


 

その3の投稿では、今回のワークショップでは4つのチャレンジをしていると書きました。

  1. いつもの紙工作ではなくLEGOを使うことで創造力をさらに高められるか?
  2. 発散系の創造的思考と収束系の論理的思考を同時に使いこなせるか?
  3. プログラミングの考え方(今回はアルゴリズム)を学び、理解した上で使いこなせるか?
  4. ファシリテーターの説明だけで子どもたちは理解できるか?(TAはどの程度の介在が必要か?

 

このうちの2の、創造的思考+論理的思考を同時に使う、という部分が、今回の旅のプログラミングになります。

論理的思考だけでもプログラミングの話はできるのですが、それだけだとつまらないので

子どもたちのワクワク感をどこまで高められるか?

というところが、面白いコンテンツを作る醍醐味であり、難しいところでもあるのだと思います。

(楽しい!に偏りすぎると、遊び要素が強すぎて学びの部分が減ってしまうんですよね...)

 

チャレンジ4の子どもたちだけで理解できるか?

に関しては、やはり相当難しいようなので...

説明自体をもっとシンプルに見直すのはもちろんではあるものの

TAの存在はあること前提で考えていく必要があるとあらためて実感しました。

というわけで、TAを引き受けてくださるかた大募集中です!

 

保護者の方々から終了後に頂いたアンケートでは

100%の方から、次回も参加したいという回答を頂きました!

もう少しワークをやらせてあげたかった、という声と、時間配分はちょうど良い

という声は半々くらいでしたが

実際にやってみた感じだと、2時間の枠でちょうど良い(子どもたちの表情に少し疲労感があった)かなと思いました。

高学年が中心であれば、もう少し難易度を上げて&難しくしてもいいですね。

 

 

課題はたくさんあるのですが、実際にやってみたからこその収穫なので

今回の経験とフィードバックを踏まえて、次回はさらにバージョンアップしてお届けしたいと思います。

 

(土日祝日限定となりますが)都内近郊であれば、開催できますので

関心のある方は是非ご連絡ください!

 

【ワークショップレポート】未来の街を旅しよう!その6

さて、ここまで5回にわたり

旅をテーマに、LEGOとlittleBitsを使って、

・命令(LEGO+littleBits)の集まりがプログラム(街)

・プログラムを順次実行するのがアルゴリズム(目的地までの行程)

という考え方を具体的にどう実現したのか?

について書きました。

 

次は学習フレームワークの最後のステップである「実現する(コーディング)」です。

f:id:dig_learning:20170301164031p:plain

 

ちなみにコーディングという名前は、実行させる命令をコード(Code)という形で作ることを意味します。

コードは、コンピュータが理解できる言葉です。

こんなやつですね。

プログラムコード - Google 検索

 

なので、コンピュータ上で実行するコード(≒プログラム=命令の集まり)を作る行為のことを、私はコーディングと呼んでいますが、世の中一般的には、プログラミングと呼ぶようです。

 

私の理解では、プログラミングはもう少し範囲が広くて、

少なくとも探プロの定義では 、アルゴリズム通りに動くプログラムを作ること

なので、実行させる対象は必ずしもコンピュータでなくても良いと思っています。

 

探プロが、いわゆるプログラミングっぽくないのはこの捉え方が違うから

なのですが、まだうまく伝えられていないような気がしています...

 

プログラミングという言葉を使わない方が良いのでは??

というアドバイスもよくもらいます。

 

それくらい、プログラミングという言葉が、少なくとも日本では限りなくコーディングに近いものとして使われていますから。

日本のプログラミング教育がいまひとつ私にとって魅力的に思えないのは、根本的にはこの定義がズレているから、と思っています。

 

ですが、この辺の定義には諸説ありますし、好みもあったりするので、これ以上深入りするのはやめておきます。

 

 

何にしても探プロでは

アルゴリズムに従って命令を実行するプログラムを作ることをプログラミング

と定義しました。

なので、実行するところに限定して、コーディング、という言葉をあてています。

 

そして、探プロでいうところのコーディングが何か?

今回の例でいえば、littleBitsを使って動かすことがコーディング、となります。

f:id:dig_learning:20170302232640j:plain

 

作品をつなげるアルゴリズムをストーリーとして語りながら

Aの作品ではAの命令を実行(littleBitsを動かす)

次にBの作品でBの命令を実行(littleBitsを動かす)

という感じです。 

 

レポートその3の中では、今回のチャレンジを4つ書きました。

  1. いつもの紙工作ではなくLEGOを使うことで創造力をさらに高められるか?
  2. 発散系の創造的思考と収束系の論理的思考を同時に使いこなせるか?
  3. プログラミングの考え方(今回はアルゴリズム)を学び、理解した上で使いこなせるか?
  4. ファシリテーターの説明だけで子どもたちは理解できるか?(TAはどの程度の介在が必要か?

 

そのうちの3つめ

プログラミングの考え方(今回はアルゴリズム)を学び、理解した上で使いこなせるか?

について振り返ります。

 

今回は順次構造という非常にシンプルな形のアルゴリズムだったので、結論としてどのグループも、ちゃんと旅のストーリーを作って、かつlittleBitsのくっついたLEGOを命令と見立ててプログラミングすることができていました。

f:id:dig_learning:20170301165134p:plain

 

ここでも、TAの皆さんのフォローに大変助けられたのですが、終わってからのフィードバックには

街、旅、という複数の概念が混在する中で、子どもたちが何を作ったらいいのか分からず混乱する場面があった

というものがありました。

 

確かに、いま振り替えると「街」という概念はあまり重要ではなかったかもしれません。

 

また、子どもたちの考える旅の発想はもっと自由で、街にこだわる必要はなさそうでした。

3グループの発表をきいた感じだと、ロールプレイングゲームを作っているような、そんなイメージで捉えていたようです。

飛行機に乗って移動したり、最新型のロボットに乗っていたところもありましたしね(笑)

 

そんな反省を活かして、次回は旅というコンセプトは残しつつ、子どもたちに伝えるときはクエスト(Quest)という言葉を使うのもありかなとか。

もうちょっと考えてみます。

 

そして、もっと複雑なアルゴリズムを作った場合には、ストーリーを聞いているだけでは分かりづらいので、何らかの形で可視化する工夫も必要です。

この辺までやると、学校でのプログラミング教育としても活用できるのではないかなぁ、と思っていますがどうでしょう?

 

 

さてさて、各グループはどんなプログラミングをしたのでしょうか?

次はようやく、発表です!

@tanpro-lab