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

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

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

読書で広げるプログラミング的思考

他にはない面白いコンセプトのプログラミング学習をご紹介する第2段です。

 

1ヶ月ほど前になりますが、こちらのワークショップに子どもたちと参加しました。


コンセプトはなんと、読書×プログラミングです。

プログラミングを学習するのにパソコンは不要、という話は私もよくしていますが

読書を通じて、という観点は目からウロコでした。

 

体験したのは、講師がオリジナルで作り上げたという「読書」で広げる「プログラミング的思考」です。

 

講師は佐賀県でパソコン教室を運営していて、速読やプログラミング、その他たくさんのプログラムを子どもから大人向けに提供している方でした。

読書からプログラミング的思考を連想するなんてさすがです。

 

会場は池袋の明日館という、これもまたプログラミングとは縁のなさそうな取り合わせがまた良かった。

 

この日は、恐らく誰でも知っている物語「北風と太陽」を題材に、3つのチカラを修得するプログラムを体験しました。

 

  • あらすじの理解+まとめ ⇛ 論理的思考力
  • 出来事の分析+疑問+解決 ⇛ 問題解決力
  • 枠にとらわれず自由に発想+まとめ ⇛ 創造力

 

ワークショップ中は、「北風と太陽」の話を少しずつ速度を上げながら繰り返し聴き

頭を活性化させていきます。

その状態で、まず物語の構成を図に表しました。

 

私は普段、仕事の中でロジック・ツリーやアルゴリズムなどを図式化することはありますが

物語の構成に注目したことはありませんでした。

でも、言われるがままに書いてみるとたしかに、それまでなんとなく聞き流していた物語が

ちゃんと意味のあるカタマリで目の前に可視化することができました。

 

思い返してみると、小学校の国語の授業や受験勉強では、文章の構成を意識するような勉強をよくやっていましたね。

そしてこれはアルゴリズムであり、論理的思考力に繋がるものだと、やりながら実感することができました。

 

ここまでが、どちらかというと左脳的なアプローチ。

このメソッドがすごいのはここからです。

 

次に、いろんな場面での出来事に注目し、発想を拡げていきます。

たとえば、そももそもなぜ、太陽の相手は北風だったんだろう?
(雨雲ではだめだった?)

もし、太陽ではなく北風が勝っていたらどうなったんだろう?

(旅人は超寒がり?)

などなど

要は、物語に自分でツッコミを入れていくわけですね。

 

実際にどんな成果が出るのか、ちょっと面白いものをお見せします。

 

これは、私の息子(9歳)がワークショップ中に描いた絵です。

f:id:dig_learning:20161215134731j:plainf:id:dig_learning:20161215135700j:plain

 

分かりづらいので解説をしましょう(笑)

 

季節は秋。

そういえば物語には季節の設定がありませんでしたが、彼は秋だと考えたようです。

別に季節は何でも良くて、そこでなぜ?と考えて自分で答えを語れることが重要ですね。

季節は秋、そう言われるとそんな気分になるので不思議です。

 

このシーンでは、北風と太陽がゲームの勝敗を決めるルールを話し合っています。

そう言われて初めて気がついたのですが、私はこの物語に出てくる北風と太陽は、すごく仲が悪くて、勝負が決まった後はお互い絶交、くらいの関係なのかと考えていました。

 

でも彼は、北風と太陽は友だちのような関係で、ちょっと勝負しようぜ、くらいの軽いノリと捉えていたようです。

なので、ゲームのルールをはじめに話し合うという、なんともほのぼのとしたシーンが出てくるわけですね。

ちなみにルールとは、先に服を脱がせて池に飛び込ませた方が勝ち、というものです。

もう一度絵をよく見てみると、北風がそう言っています(笑)

 

こんな感じで、同じ物語なのに、人によって捉える観点が違って、そこから見えてくるものも違うとなると、自分の発想の枠がぐぐっと拡げられる実感があります。

 

このメソッドの良いところは、「読プロチャート」というオリジナルの表記方法を使って、物語を構造化することと、発想を拡げることの両方を同時に体験できるところです。

話を整理しながら、一方でどんどん拡げていく。

収束と発散を同時にやる快感があるのですね。

 

しかも、とても分かりやすい形でA4(またはA3)の紙にまとめていくので、あとで見返したり、人に説明するのにも役立ちます。

 

そういえば、講師の方が面白いことを仰っていました。

同じ物語を何度聞いても、やるたびに違うチャートができるのだそうです。

自分の思考と向き合うツールとして活用すると、その変化から面白いことが発見できるのかもしれません。

 

こうしたワークショップを通じて、読書って楽しい!と実感する子が一人でも増えたら良いですよね。

論理的思考力を鍛えるプログラミング、というよりも、読書の楽しみを通じてプログラミング的思考を養う、というコンセプトであるところにとても共感します。

 

ちなみに、私はこのワークショップを体験したことであらためて、国語とプログラミングの相性に注目するようになりました。

そこで探プロでもいくつかコンテンツを作っていこうと考えているのですが、そのうちの1つが、カタルタという物語を作るためのカードを使ったワークショップです。

カタルタ PLAYING STORY CARDS

f:id:dig_learning:20161215140345j:plain

題して「物語をつくろう!」

 

さてさて、どんなコンテンツが出来上がるでしょうか。

春頃にはお披露目できると良いなぁ、と思ってます。

 

 

探究学習の中でプログラミングを学ぶという意味

探プロの形が出来上がったのはちょうど1年前です。

1年前の今ごろは修士論文を書いていて、探プロのコンセプトを整理するのに頭を悩ませていた時期でした。

 

単にプログラミングを学ぶのではなく、探究学習という形をとることは

探プロのコンセプトを考え始めたかなり早い段階から決めていました。

プログラミングと探究学習の相性の良さは間違いないと思っていたので。

 

それでも、1年前は探究学習とプログラミングを組み合わせる発想が世の中では一般的でなく、私自身もうまく説明しきれないもどかしさがありました。

 

それが今年の春に
小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ):文部科学省

が公表されて以来、一気に「プログラミング的思考」という言葉と共に認知が進んできたように思います。

 

いま、次期学習指導要領等の見直しが進められている中でプログラミングが注目されていることはご存知の通りですが

具体的なイメージというのはまだ見えてきません。

そうした中で、たとえば

生活・総合的な学習の時間ワーキンググループにおける審議の取りまとめ(総合)

の中では、総合的な学習の時間の見直し案として、こんなことが書かれています。

(情報活用能力の育成、プログラミング的思考や社会との関わりの視点)

○ 総則・評価特別部会において、教育課程全体を通じた情報活用能力の育成について検 討される中で、総合的な学習の時間においては、情報の集め方や調べ方、整理・分析の 仕方、まとめ方や表現の仕方などの、教科横断的に活用できる「学び方」を身に付ける ことや、学習の過程において情報手段の操作もできるようにすることが求められる。

 また、プログラミングに対して小学校段階において体験し、その意義を理解するとい うことが求められており、教育課程全体を通じて、各教科等の特質に応じた取組が期待 されている。プログラミング教育は、子供たちが将来どのような職業に就くとしても、 時代を超えて普遍的に求められる力としての「プログラミング的思考」などの育成を目 指すものであり、コーディング(プログラミング言語を用いた記述方法)を覚えること が目的ではない。「プログラミング的思考」とは、自分が意図する一連の活動を実現す るために、どのような動きの組み合わせが必要か、どのように改善していけばより意図 した活動に近づくのかということを論理的に考えていく力である。

 総合的な学習の時間においては、情報に関する課題について探究的に学ぶ中で、自分 の暮らしとプログラミングとの関係を考え、プログラミングを体験しながらそのよさに 気付く学びを取り入れていくことが考えられる。例えば、プログラミングを体験しなが ら、生活を便利にしている様々なアプリケーションソフトはもとより、目に見えない部 分で、様々な製品や社会のシステムなどがプログラミングにより働いていることを体験 的に理解するようにすることが考えられる。

 プログラミングを体験することが、総合的な学習の時間における学びの本質である探 究的な学習として適切に位置づけられるようにすることとともに、児童一人一人に探究 的な学びが実現し、一層充実するものとなるように十分配慮することが必要である。

 

抽象的な話だと分かりづらいかもしれませんが、例えばこれを探プロでやっている街づくりのプログラムで説明すると、こんな感じになります。


街には何があるだろう?(課題の設定)

ここでは特に、動くものに注目します。

 

そして、実際に街を探検して探してみます。(情報の収集)

たとえば、信号機や踏切、自動販売機、などがありますね。

 

それらの動く仕組みを読み解き、アルゴリズムを理解し(整理・分析)、伝える(まとめ・表現)。

 

これだけでも十分に探究学習になります。

でも、探プロはこれだけでは終わりません。

 

街の中にあるそれぞれは、どんな繋がりをもっているのだろう?(課題の設定)

 

すると、たとえば踏切(+信号機)と電車の関係、店にあるPOSレジと工場や倉庫の関係、などが見えてきます。(情報の収集)

 

そうやって、実は街は個と個の繋がりでできていて、全体で1つの社会(システム)を構成していること、その繋がりはアルゴリズムで説明できること、を学ぶことができます(整理・分析)。

 

こうした学習を、机上だけでやらずに、littleBitsや実際のプログラムなどを使って繋がりを可視化し(まとめ・表現)、それを体験できれば学習の理解はさらに深まります。

 

この学習を本当に実現することができたら、子どもたちが見えている世界は大きく変わるでしょうね。

大人ですら、モノとモノの繋がりを理解して、その全体を正しく捉えられている人は実は少ないのかもしれません。

 

こういったモノの見方、考え方ができるようになると、自分を中心とした視野の狭い捉え方ではなく

全体の中での自分の位置づけ、といった捉え方ができるようになるはずです。

 

と、ここまでが先の取りまとめの中で期待されていることなのですが

探プロはさらに先へ進みます。

 

社会(システム)がプログラミングによって実現されている、動いている

ということを理解したら、

その社会の仕組みを作るためには何が必要か?

ということを考えていきます。

 

そうなると、Aを動かしたあとにBを呼び出すために

何を決めておく必要があるのか?

正確で効率の良く実行するためには、どんな順番で呼び出せばよいか?

などに関心が向かうはずです。

 

こうした考え方こそが、プログラムを設計するときにとても重要な考え方で、探プロではこれをプログラミングの概念、と呼んでいます。

(整合性のとれたインタフェースや最適なアルゴリズム

 

そう、つまり私たちが日々過ごしている社会と、子どもたちにこれから学んでほしいと思っているプログラミングは、その仕組みや考え方が同じなんですね。

そこに早く気づいてほしい。

 

ゲームを作るのも、アプリを作るのもいいけど、もっと周りをみて

自分の生活している社会は実はゲームやアプリで作ったシステム(プログラム)と同じ考え方でできているということや

プログラミングの考え方は、ITの世界だけじゃなく、仕事にも生活にも役立つということを

一人でも多くの人に気がついてもらえたら、と思っています。

そのための探究学習、なんですよね。

 

探究学習としてプログラミングを学ぶ意味が、少しは伝えることができたでしょうか?

Minecraftで社会課題と向き合う

探プロは、一般的なプログラミング学習とは違うポジションをとっているので

同じように、他とはちょっと違うタイプのコンセプトを見つけると嬉しくなります。

 

とはいえなかなか出会えないのですが、最近は少しずつ、これは!

と思えるものが出てきたように感じます。

 

そんな新しい形のプログラミング学習をいくつかご紹介していきますね。

 

まずは、マインクラフトで未来都市を作ろう、というコンペ。

 

コンペの様子はこちらから。

マインクラフトはICT教育の可能性を広げる - つくろうみんなの未来都市コンペティションin Minecraft | パソコン | マイナビニュース

 

 

このイベントのことをFacebookでシェアしていた知人がいて

息子さんが参加されるということだったので関心を持っていました。

 

なぜなら、ちょうどその少し前にこんな記事を読んだからです。

 

マインクラフトの第一人者という人が、プログラミング学習でマインクラフトを使うメリットとして

思考力というよりも、ネットを検索して自分の欲しい情報を手に入れるICTリテラシーに効く

と言います。

 

私自身はマインクラフトがいまひとつ修得できずにいますが

息子がやっているのを見ると、創造力が刺激されているようで、すごく可能性を感じます。

それなのに検索がうまくなる、ではあまりにも寂しいなと…

 

なので、スウェーデン大使館が主催するこのイベントは本当に素晴らしいと思いますし、プログラミング学習の方向性としてとても共感します。

 

探プロでも、先日にやった公園を作ろう、のワークショップの中でSDGsにチャレンジしましたが

 

こうした傾向は、少しずつ増えていくはずだと考えています。

いまは、プログラミングを教育の娯楽に近い形で体験できるものが多く

子どもの興味を惹きつけることはできても、それが何の役に立つのか?

という学習に結びつかないので、継続しない可能性が高いです。

 

プログラミングは、誰かの何かを解決するものである

という学習こそが、プログラミングを問題解決の手段として捉える正しいアプローチだと私は信じています。

 

なので、このコンペのように社会課題と向き合うきっかけを作るイベントは素晴らしいですし

仲間と協力しながら作り上げる点も含め

プログラミング学習のコンセプトとしても、探プロの考え方と100%合っています。

 

ここであらためて、マインクラフトの良さは何だろうか?

と考えてみると、自分の作品に使うリソースが無制限なことであり

そのおかげで、子どものもつ創造力が存分に発揮できる

ことではないか、ということが見えてきます。

 

先日の公園作りでは、五感を使った工作とはいえ、やはりできることには限りがあって

そこで創造力が活かしきれず参加者が飽きてしまう場面がありました。

 

作り上げるステップで、自分の理想をとことん追求できることは

とても重要だと思います。

その中でプログラミングの概念も学べるでしょうし、いろんな思考力が身につくことでしょう。

 

マインクラフトは立派なプログラミング学習の手段になり得るわけですね。

 

探プロの街づくりのプログラムと、このマインクラフトのコンセプトを掛け合わせて

新しいプログラムを作ってみたくなりました。

そして、そこで創った作品をコンペに応募する、という流れができたら

参加者のモチベーションも高まりそうです。

 

これはやってみたいですねー

@tanpro-lab