中学受験ノウハウ 基礎知識

なぜプログラミング教育が導入されるの? 導入背景と効果を解説

2020年2月03日 福井俊保

「プログラミング教育」が2020年から小学校で必修化されますが、「なぜプログラミングが必要なの?」という声も聞かれます。そこで、プログラミング教育が小学校に導入される背景とその事例、どのような効果があるのかお伝えします。

「プログラミング的思考」を学ぶのが目的

プログミング教育の目的は、「プログラミング的思考を学ぶこと」「身近な機械もプログラミングで動いていることを知ること」です。「プログラミング的思考」とは、自分の意図した結果を導くためにどのような動作が必要で、その動作に対応する記号をどのように組み合わせたらよいか考えることを指します。

「プログラミング的思考」を理解する例として、卵焼きをつくるときを考えてみましょう。卵を割ったときに殻が卵のなかに入ってしまったらどうしますか? 何か言われなくても殻を外に出しますよね。一方で、卵焼きをつくるコンピュータがあるとすると、“命令”がなければ殻が入ったまま卵焼きをつくってしまいます。そこで、プログラミングが必要になります。まずは卵焼きをつくる工程を書き出し、「殻が卵のなかに入ったら取り出す」といった条件分岐が必要になるのです。

プログラミングの導入背景

そもそも、なぜプログラミングを小学校で学ぶ必要があるのでしょうか。ひとつは時代の変化です。AIの登場により、AIがものごとを判断する時代が来るといわれています。AIが人間の能力を超える「シンギュラリティ」が来るという研究者もいます。このように社会が変化するなかで、「時代の変化に対応できる力」が必要になってくることから、プログラミングに触れる教育の重要性が説かれてきたのです。

プログラミング教育の導入事例

プログラミングは小学校で必修化されますが、授業の一部として実施されるため、プログラミングが必修科目になるわけではありません。つまり「プログラミング」という科目ができて、成績がつくわけではないのです。そのため、各教科の一部にプログラミングで学ぶべき単元が用意されています。

ちなみに、コンピュータを全児童が使える環境はまだ整っていません。そこで、コンピュータを使わない「アンプラグド教育」が注目されています。

「アンプラグド教育」の実例

例えば、プログラミングで「正三角形ABC」を描く方法を考えてみます。まず、以下のふたつの条件が必要です。

・すべての辺の長さが同じ
・角度が60度(外角は120度)

しかし、これだけではコンピュータは動きません。コンピュータでも理解できる言葉(プログミング言語)で命令してあげる必要があります。そこで、必要な命令を書き出します。

1、点Aの場所を決める
2、辺の長さを10cmにする
3、右に10cm線を引く(点Bができる)
4、120度回転する
5、10cm線を引く(点Cができる)
6、120度回転する
7、10cm線を引く

アンプラグド教育を実践する授業では、これらの命令を付箋やカードに書いて、正三角形が描けるように並べ替えるといったことがおこなわれます。抜けている命令がないか、順番は間違っていないのかといったことは、コンピュータがなくでも考えることができるんですね。

しかし「コンピュータを使わない授業だけでは、プログラミングを学習したことにはならない」と指摘する識者もいます。設備の問題も考えつつ、コンピュータやタブレットを使ってどこまでプログラミングをおこなえるかは、今後の課題になるでしょう。

プログラミング教育のさまざまな効果

プログラミング教育は、まだ小学校で始まっていません(2020年1月時点)。そのため、プログラミングを小学校の授業に導入することでどのような効果が得られるかは未知数といえます。そこで、プログラミング教室を運営し、実際に子供たちに教えている筆者の立場から、プログラミング教育でどのような効果が期待できるか考えてみます。

まず、コミュニケーション力の向上です。コンピュータを動かすには“正確な命令”が必要です。しかし正確に物事を伝える必要があるのは、コンピュータだけではありません。人間同士でも、正確に物事を伝えなければ何を言いたいのか伝わりません。そのためプログラミングを学ぶことで、「相手に正確に物事を伝えよう」という意識に変わることが期待できます。

「自分で考え行動する力」も身につくでしょう。先生や友達に聞く前に、自分で試行錯誤しながらプログラミングを実行することで、自分で考えつつ行動する力を育てることができます。

「プロセスを細分化する力」が身につくことも期待できます。卵焼きの例を出しましたが、卵を割ってから卵焼きができるまでにはいくつかステップがあります。そして、ゴールから逆算してステップを考えることは、勉強でも大切です。プログラミングを学ぶことで、答えを導き出すためのプロセスを細分化する訓練になるでしょう。

プログラミング教育は、従来の教育を否定するものではない

プログラミング教育は、これまでの教育を否定するものではありません。従来の教育と組み合わせることによる相乗効果が期待されています。既存の小学校教育にプログラミングがどのように融合していくか、注目してみてはいかがでしょうか。

※記事の内容は執筆時点のものです

合わせて読みたい