【プログラミング教育の勘所(6)】プログラミングは日常生活にも役立つ

NPO法人CANVAS理事長/一般社団法人超教育協会理事長/慶應義塾大学教授 石戸 奈々子
この連載の一覧

身の回りの電化製品の仕組みを学ぶことで、コンピュータの知識を得ることもできます。例えば炊飯器。「初めチョロチョロ、中パッパ、赤子泣いてもふた取るな」。炊飯器が普及する以前に、かまどでおいしくご飯を炊くための火加減を伝える言葉です。初めは弱火でかまど全体を温め、その後強火で沸騰させる。沸騰したら火を弱め、ふたを取らずにしっかりと蒸らす。

昔はこうして、人がその都度火加減を調整しなくてはいけませんでした。今は初めにスイッチを押せば、コンピュータのプログラムが自動的に加熱パターンを制御してくれます。

同様に、駅の自動改札や信号機、お風呂の湯沸かし器など、身近な電子機器がどのような命令で成り立っているのか、子どもと一緒に考えてみると、仕組みへの理解が深まるかもしれません。

また、日常生活の中でもプログラミング的な考え方を求められることはたくさんあります。

例えば、朝の支度。朝起きて、顔を洗う。朝ご飯の支度をしてもらっている間に、学校に持っていく荷物をそろえる。月曜日だったら忘れないように上履きを持って、天気予報が雨だったら傘を用意する。あるいは、お出掛けの経路を考える。徒歩、バス、電車。乗り物をうまく組み合わせて最も早く目的地に到着する方法を考える。私たちはこうして、日常的に問題を解くための手順を考えているのです。

「コンピュテーショナル・シンキング」という考え方があります。コンピュータ科学者のように考えることが、暮らしや仕事に役立つという考え方です。プログラミングでは、問題を単純にするために抽象化し、目的に到達できるように問題を細かい要素に分解し、解決するための手順を考えます。そして、手順を分析・評価し、規則性を見つけて一般化します。

どのように要素を組み合わせていくと、最も効率的に目的にたどり着くか。優れたプログラマーほど、シンプルなプログラムを書きます。プログラミングを学ぶということは、そういう思考方法を学ぶことでもあります。

今まで習慣化していたアルゴリズムをもう一度考え直すと、実はもっと効率的でミスの少ない方法が見つかるかもしれません。問題の解決方法は一つではないのです。

ただ、プログラミングは、体験することで初めてプログラミングとは何か、コンピュータとは何かを理解できます。プログラムで動くコンピュータのことを、プログラミングの体験をせずに理解するのは難しいものがあります。

子どもにとっても、自分で指示した通りに動かせたときの感動は大きく、学びのモチベーションにつながります。知識も大事ですが、体験に勝るものはないのです。

この連載の一覧