親世代が経験していない「プログラミング教育」を受けている現代の子どもたち。どうサポートしたらいいのか戸惑っている親もいるようです。
プログラミング教育=パソコンがすぐに結びつきますが、教育の初期段階では必ずしもパソコンが必要とはいえません。学校でもパソコンを使わない教育が行われており、家庭でもパソコンなしでプログラミング的思考力を育むことができます。
全3回シリーズの第2回目は「おうちでできるプログラミング教育」について、引き続き茨城大学准教授の小林祐紀先生に伺いました。(全3回の2回目。#1を読む)
プログラミング的思考の5大要素とは
文部科学省が掲げるプログラミング教育は、「プログラミング的思考」の獲得を中心とした3つの狙いがあります。
文部科学省が掲げる「プログラミング教育」3つの狙い
① 『プログラミング的思考』を育むこと。
② プログラムの働きや良さ、情報社会がコンピューター等の情報技術によって支えられていることなどに気づけるとともに、コンピューター等を上手に活用して身近な問題を解決したり、よりよい社会を築こうとする態度を育むこと。
③ 各教科等の内容を指導する中でプログラミング教育を実施する場合は、それらの学びをより確実なものとすること。
※文部科学省『小学校プログラミング教育の手引(第三版)』より
小林先生がさらに詳しく解説します。
「ひとつ目にある【プログラミング的思考】の獲得について、特に解説しましょう。
プログラミング的思考とは、課題の解決に向けて論理的に考えられる力のことをいいます。
そしてこのプログラミング的思考には、3つの基本的な考え方があります。それが【順次処理】【反復処理】【条件分岐】の考え方です。
加えてこれらに【抽象化】と【デバッグ】等の考え方が関連しているといえるでしょう。これらはすべてコンピュータープログラムを作成する際の思考方法といえます」(小林先生)
■順次処理 ▶︎ 指示を順番に実行していくこと。順序を意識して考えることで問題解決の筋道を見通す力になる。
■反復処理 ▶︎ 条件が成立するまで、同じ処理を繰り返すこと。繰り返しを理解することで、コンピューターが疲れ等を感じることなく同じ動きを実行し続けられるという強みと、人間との違いへの気付きにつながる。
■条件分岐 ▶︎ ある条件によって次の処理を切り替えること。条件を満たすか否かで次の処理が変わってくる。課題達成の途中にはさまざまなケースが発生することがわかる。
■抽象化 ▶︎ 情報(特徴や本質)を整理して扱うこと。物事の本質を見極めることで、問題の根本を理解する力へとつながる。
■デバッグ ▶︎ プログラムの中のバグ(誤り)を見つけ修正すること。失敗の原因を導き出して修正し、最終的に目的を達成する力を育む。
身近な事柄からプログラミング的思考を学ぶ
「プログラミング的思考を構成するこれら5つ要素を学ぶためには、必ずしもコンピューターを必要とするわけではありません。
身近な事柄を通じて要素を理解し、コンピューターの特性の理解へとつなげてあげることができます。
例えば【反復処理】の場合、先生がジャンプや足踏みなど一連の動きを子どもたちに振り付け、手拍子に合わせて動きを繰り返してもらいます。最終的に『100回繰り返そうか?』と子どもたちにいうと、『えーっ!』という声が返ってくるわけです。
これをきっかけに、コンピューターは電源がある限りダンスができるけど、指示がないと止まらないねという気付きにつなげてあげられます。さらに、同じような動きをするものに信号機があるね、と身の回りのテクノロジーへも視野を広げてあげられるのです」(小林先生)
プログラミング的思考というと難しく考えてしまいがちですが、小学校では体を使った体験を通して、楽しくその考え方を学んでいます。そういった意味でも、おうちでプログラミング教育をサポートする場合は、「楽しく」「体験を通して」というのが基本だと小林先生は話します。