2020年から小学校で必修化されるプログラミング教育。子どもには頑張ってほしいけれど、親の自分はわからないのでノータッチになってしまいそう……という文系のパパママに向けて、親子で理解を深めたい「プログラミングの基本」を元システムエンジニアママがわかりやすく解説します!
プログラミングって難しい?
プログラミング的思考や知識は、これからの時代に必要であることは間違いないですよね。子どもにはぜひプログラミングが好きになってもらいたいけれど、「正直、親の自分はまったくわからない」というパパママも多いのではないでしょうか。
学校任せにするより、小さいうちから親子でプログラミングの理解を深められれば、お子さまにとって「プログラミング=楽しいもの」というイメージがつきやすく、その後の学習もスムーズになります。プログラミングという言葉を聞くだけで親が拒絶反応を起こし、身を引いてしまうのはもったいないと思うのです。
実は、プログラミングは決して難しいものではありません。日常の中にあふれている、ごく身近なものです。
私は元システムエンジニアとして勤務し、情報処理に関連する資格を取得しながら主に公共機関のシステム開発にかかわってきた経験がありますが、同時に3人の子どもを持つママでもあります。
ここでは、元システムエンジニアとしての経験と親視点から考える、子どもと過ごす毎日のなかでいつでも取り入れられる「プログラミングの考え方」を紹介します。
プログラミングってなあに?
私たちは日常の中で、さまざまなプログラミングのお世話になっています。例えば、
・自動販売機
・銀行のATM
・券売機
・スーパーのレジ
・スマートフォンのアプリ
などなど。プログラミングは私たちの生活を便利にしてくれるものであり、もはや切っても切れないおつきあいといえるもの。
自動販売機を例として、より具体的に考えてみましょう。
自動販売機のプログラミングは?
好きなジュースが1本買えて、40円のおつりが戻ってきます。戻ってくる10円硬貨は4枚です。
たったこれだけのことを行うのに、自動販売機に搭載されたプログラムはさまざまな処理をしています。
・千円札が入ってきたときはどうする?→840円のおつりを出す
・千円がしわしわで読み込めなかったらどうする?→千円札を戻す
・投入した金額でまだ買えるときは?→おつりは出さずに次の購入を待つ
・おつり切れのときはどうする?→つり切れランプを点灯する
子どもと一緒におつりの仕組みを考えてみよう!
例えば、以下のようなプログラミング遊びはいかがでしょうか。
子:「10円でひとつチョコレートをちょうだい」
親:「はいどうぞ」
次は、こんな問いかけをしてみましょう。
親「じゃあ、次は50円でチョコレートをひとつ買ってみて。おつりはいくらになると思う?」
子「え~と、1個10円だから40円?」
親「そうだね。1個10円だとおつりは40円だよね。でも、もし10円が3枚しかなかったらどうする?」
子「え~と、おつりは40円で3枚しか10円がないから、残りは5円とか…」
親「そうだね。5円が2枚あるときは5円玉2枚でいいけど、5円が1枚しかなかったらどうしよう」
子「そのときは1円を5枚とか……」
親「そうだね!じゃあはじめに10円は3枚、5円が1枚、1円が10枚あったとして、50円で10円の買いものをしたあとの残りのお金の組み合わせはどうなる?」
子「50円1枚、10円ゼロ枚、5円ゼロ枚、1円5枚」
このような細かいところまでやりとりできればとても立派!
一見単純な算数のおつり計算のようですが、たくさんの「このときはどうする?」を一緒に考えることでプログラミングの勉強につなげることができますよ。
プログラミングの基本は「こんなときはどうする?」
たくさんの道の中から、「このときはこういう道をたどればこの答えにつながる!」という答え(道筋)をいれていくことがプログラミングです。
なおかつ、この道をたどった方が効率がいい、こっちを先にしたらどうだろう、もっと簡単な答えはないだろうかという工夫をすることで、プログラムはより精度が高くなっていきます。
ひとつひとつは単純な答えでも、ひとつの物事に対して起こりうる限りの「このときはどうする?」を考えていくことで、エラーがなく精度の高いプログラムができあがるのです。
200円を入れて160円のジュースを買うと、ジュースと一緒に40円のおつりが出てくる。
この単純な事象に対して、ひとつの見方だけをするのではなく、さまざまな方向から考えることができるようになれば、プログラミングの考え方が自然に身についていきます。
日常の中のプログラミングを探してみよう
夕食を作るときでも、まず冷蔵庫に残っているもので作れる夕食のメニューを決める。次にAの下ごしらえをしながらBを煮はじめるなど、「なるべく早く栄養満点の料理を作る」というひとつの結果に対して、さまざまな効率化を工夫していますよね。「もし調理中にこんなトラブルが起きたらこうしよう」なんて手順も、なかにはたくさんあるはず。
プログラムには無縁の文系パパママでも、日常的にプログラミング的思考をすでに行っているのですから大丈夫!「プログラミング」という言葉に身構える必要はありません。
「今日カレーを作ろうと思うんだけど、どんな風に作ったらもっと早くおいしくできるかな?」
「まず最初にお肉から切ったほうがいいと思う?それとも、お野菜から切ったほうがいいと思う?もしじゃがいもに黒い部分があったらどうしたらいいかな?」
簡単にできる「こんなときどうする?」遊びをお子さまとたくさん考えてみてください。
2020年の教育改革に先駆け、お子さまとの普段の何気ない会話の中でこうした「プログラミング遊び」を取り入れてみてはいかがでしょうか。