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

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

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

【レポート】littleBitsで公園をつくろう!その3

本筋へ入る前に、「公園をつくろう!」というテーマが生まれた背景を少し補足しておきます。

 

今回のワークショップで特別講師をつとめてくれた知人と仕事の話になり

彼女が公園づくりに携わっている、と聞きました。

 

この頃はいつ何時も、探プロの新しい学習プログラムを作るためのネタ探しをしているので

この時も

公園とプログラミング

を掛け合わせたら何ができるだろう?

と会話しながら考えていました。

 

はじめは、IoTの概念を入れて、センサーを駆使して遊具やベンチをハイテクに変身させたら面白そう

なんてことを妄想してました。

(これはこれで面白いので、協力してくれる企業などがいれば是非チャレンジしてみたいと思っています)

 

ただ、公園について考えを深めていくうちに、公園の物理的な機能は変わらないのに

公園は実にいろいろな役割を持っている

ということに気がついたのです。

 

例えば、我が家の近所にある遊具の置かれたごく普通の公園は

ある時は夏祭りの会場になり、有事の際は避難所にもなります。

 

他にも、代々木公園のように広大な敷地を活かしてコンサート会場や全国各地のB級グルメを楽しめるイベント会場となったりする公園もあります。

 

また利用目的だけでなく、利用者によっても変わるときがあります。

同じ遊具でも、子どもにとっては遊びであり、高齢者にとっては健康促進に使ったりするものです。

 

こうしたことを抽象的に捉えてみると

実体と役割が別々に定義されている

ということが見えてきて

これはまさに、オブジェクト指向の考え方の一つだと気がつきました。

 

オブジェクト指向というのは、扱うモノゴトを型と実体(オブジェクト)に分けて捉えることで

モノゴトを物理的に捉えるのではなく、抽象的に捉えるための思考法です。

 

プログラミングの世界でオブジェクト指向を使うと、動的な変化に対応する効率の良いプログラムを作れるようになります。

 

例えば、ある時は夏祭り、ある時は避難所として使える公園のプログラムを作ろうと考える場合

遊具は置くけど、お祭りができるように中央はスペースとして空けておこうとか

避難所として使えるように、普段はベンチだけど有事のときだけカマドに変身するベンチを置こう

などと考えます。

 

つまり、作るべきプログラムを、いろんなシーンを想定して汎用的に設計するために活用できる考え方なのです。

 

遊具で遊べる公園、夏祭りのできる公園、避難所として使える公園を全部別々に作るよりも

共通して使える公園を作って、利用シーンに合わせてカスタマイズする方がお得

と言えば伝わるでしようか。

 

一般的に、あとで別の要望が出たときにも柔軟に応えられるプログラムは

汎用的で優れた設計である、と評価されます。

 

つまり、公園をつくろう、という学習プログラムは、こうした思考を知っておくこと、日常の中で使えること

ということに学習の効果を期待したものなのです。

 

もちろん、変身する公園について発想を膨らませ、大人が思いもつかない公園の使い方が生まれることも期待しています。

子どもが使う公園なら、子どもの意見も取り入れたいですよね、ということで。

 

そんな創造性の育成も期待したプログラムです。

まだまだ試行錯誤中ですが、きっと面白くなりますよ!

 

さぁ、今度こそワークショップの様子をレポートします!

その4へ。

@tanpro-lab