プログラミング教育が小学校で導入され、「専門的なことを質問されたらどうしよう」「コンピューターのことなんて分からない」と不安になっている保護者の方も多いのではないでしょうか。
安心してください。文部科学省が「プログラミング的思考を育むことが目的」とはっきりと言っているように、プログラミング言語を操るための知識・能力(コーディングと言います)が求められているわけではないのです。
ではプログラミング的思考とはいったいどんなもので、それができるとどんな能力が子どもの身につくのでしょうか。今回は身近な料理を例に取りながら、プログラミング的思考とはどんなものかを説明していきます。
小学生指導がパワーアップ!
最先端のAI&ICTの活用で最適な学習を提供
【各校にて無料体験実施中】
新学期入会生募集!
プログラミング的思考って何?
まずは前提となる言葉「プログラミング的思考」とは何なのかを明らかにしていきましょう。
プログラミング的思考とは?
2020年から小学校でプログラミング教育が必修化されました。新学習指導要領の中で、文部科学省は、プログラミング的思考について次のように定義づけています。
自分が意図する一連の活動を実現するために、どのような動きの組み合わせが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組み合わせをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力
小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)
また、同時にプログラミング的思考とは、特定のコーディングなどを習得する「プログラミング能力」とは異なる旨の説明もなされています。
つまり、プログラミング的思考とは、「目的達成のためには、どのような動きや組み合わせが必要か、論理的に考えること」であり、プログラミングは、プログラミング的思考を学ぶための一つの方法なのです。
プログラミング的思考と論理的思考の違い
「プログラミング的思考は論理的思考と同じなのか?」と思われた方もいるかもしれませんが、正確に言うとその2つは異なるものです。
まず、論理的思考とは、因果関係を整理し順序立てて考えることを意味します。
一方、プログラミング的思考は、論理的思考を前提としたうえで、効率的で最適な手段を考えることを言います。
プログラミング的思考の必要性
ではなぜ、今子供達はプログラミング的思考を学ぶ必要があるのでしょうか。
<プログラミング的思考は社会を生きるための必須の教養>
発展著しいICT(情報通信技術)のおかげで、私達の生活も大きく変化しました。
例えば、スマートフォン、タブレットなど、数十年前には考えられなかったようなものが、今や「当たり前」のものとして生活に根付いていたりします。
このような目まぐるしい進化の中で、ありふれる情報や新しい技術を整理し、自らの問題解決のために何が必要か判断し、効率的で最適な手段を考える力は、もはや社会を生きるための必須のスキルと言えるでしょう。
プログラミング的思考は、プログラミングの仕事をしなくてもこれからの社会を生きる上では必要不可欠の教養なのです。
<IT人材の育成>
プログラミング教育が必修となった理由として、日本のIT人材が不足していることも関係しています。
日本は、ロボットなどの科学・技術基盤があることが強みではありますが、それを活かすIT人材や取り入れる企業が少ない現状があります。また、すでに能力を持っている人材をうまく活用しきれていないことも問題だと言われています。
小学校のプログラミング教育はプログラミング的思考を学ぶのであって、実践で使えるプログラミングを学ぶわけではありません。
ただ、小学生のときにプログラミング的思考を学ぶことで、将来活躍できるIT人材へと成長してほしいという国の思いは少なからずあるでしょう。
小学生指導がパワーアップ!
最先端のAI&ICTの活用で最適な学習を提供
【各校にて無料体験実施中】
新学期入会生募集!
やるほど身につく5つのチカラ
では本題です。プログラミング的思考で身につくとされる能力は「抽象化」「分解」「順序立て」「分析」「一般化」の5つです。さっそく身近な料理「丼もの」を例に、この5つの能力の正体を解き明かしていきましょう。
【抽象化】
天丼に牛丼、カツ丼など、いろんな種類の料理がありますが、ひとくくりにすることができますよね。キーワードはもちろん「丼」です。こんなふうに異なる者同士の共通点を発見してひとつの記号(今回の場合は「丼」)にまとめるのが「抽象化」の能力です。
共通点を見つけ出すという力に限って言えば、人とのコミュニケーションの場面でも役立ちます。例えば初対面の人と話す時、自分との共通点を見つけられれば会話が弾むきっかけになります。モノだけでなく、人との共通点も発見できるように言葉がけをしてあげたいものですね。
【分解】
次は親子丼を想像してみましょう。それにはどんな材料が使われていますか。鶏肉、卵、玉ねぎ、三つ葉、だし、醤油、酒、みりんなど様々なものが挙げられます。
親子丼という料理を、こんなふうに材料別に取り出せる能力が「分解」にあたります。つまり全体像を形づくる一つひとつの部品を正しく把握する力ということになります。
【順序立て】
料理で順序立てと言えばレシピのことです。いま頭の中で分解したばかりの親子丼の材料を再び完成品に戻すにはどうすればいいのかを整理する作業です。
鶏肉と玉ねぎを切って卵をといておき、鍋に各種調味料、水を入れてひと煮立ち。鶏肉と玉ねぎを加えて火が通ったら卵を投入して仕上げたら丼の上へ。三つ葉をあしらって完成。これが「順序立て」の能力です。
完成形を想像し、必要な作業を適切な順番で(さらに効率よく)行うために必要な能力がこれに当たります。
【分析】
できた親子丼を食べてみると、前に作った時よりもいい出来だった!それは卵の半熟具合が絶妙だったから。一気に全部の卵を入れるのではなくまず半分だけ入れてもう半分を後から入れると、固まり過ぎずに仕上げられると考えた結果がこれでした。
こんなふうに前例を踏まえ、どうすれば次はより良くできるかを考えるのが「分析」の能力です。
【一般化】
おいしい親子丼のつくり方を知っているのが自分だけではもったいないですよね。他の人でも同じものができるように誰にでも分かりやすく示すのが「一般化」の能力です。つまり料理のレシピ本などは個人の調理方法を読者に分かるよう一般化したものなんですね。
「抽象化」「分解」「順序立て」「分析」「一般化」。文字で書くといかにも難しそうです。しかし料理を例に説明できたことでも分かる通り、プログラミング的思考はコンピューターのことではなく、意外と日常の暮らしに役立ちそうなスゴイものという感覚は持っていただけたのではないでしょうか。
「生きる力がつく」まで言うには大げさかもしれませんが、プログラミング的思考で身につく5つの力の話を、まずは今夜の夕食は「丼」にして、目の前の丼を引き合いに出しながらお子さまとしてみては。
プログラミング的思考を鍛える4つの方法
では、プログラミング的思考を鍛えるにはどのような方法があるのでしょうか。
今すぐにでも取り組める簡単な4つの方法をこれから紹介します。
日常生活の中でもアルゴリズムを考える
まず1つめは、料理など日常生活の中でもアルゴリズム(手順)を考えるクセづけをすることです。
上述した「親子丼」の例えのように、今日の料理を作るというゴールに向けて最適な手順や効率化を考えることは、まさにプログラミング的思考と言えるでしょう。
知らず知らずの間に行っている動作でも、アルゴリズムを意識することでさらにプログラミング的思考が鍛えられます。
アプリで遊びながらプログラミング的思考を学ぶ
続いて2つ目は、アプリを活用してプログラミング的思考を学ぶ方法です。
現在、多くのプログラミング的思考を学べるアプリがあり、子供でも分かりやすいゲームやアニメーションが作れるアプリ、RPGのようなゲーム感覚のアプリ、多数のプログラム言語を学べるアプリまで、目的やレベルに合わせて多種多様なアプリで学べます。
子どもが興味・関心のあるアプリを選ぶことで、楽しみながらプログラミング的思考を習得することができます。
プログラミング学習向けのボードゲームなどで遊ぶ
3つめの方法は、ボードゲームやカードゲームなどのアナログゲームで遊ぶことです。
プログラミング学習を学ぶ場合は、パソコンやタブレットを用意するコストがかかりますし、デバイスを使いこなすスキルも必要となります。
一方、ボードゲームやカードゲームなどのアナログゲームは安いものであれば3,000円ほどで手に入りますし、低年齢の頃からゲーム感覚でプログラミング的思考を学ぶことができます。
また、ボードゲームやカードゲームは相手が必要でアプリのように1人だけでプレイはできません。家族や友達と一緒にゲームをするため、洞察力やコミュニケーション力が身につくのもメリットです。
プログラミング的思考を学ぶ本を読む
最後は、プログラミング的思考を本で学ぶ方法です。最近では、プログラミング的思考やプログラミングを学べる本が多く出版されています。
内容は、小さな子供でもストーリーやクイズ、パズルなどを通して楽しみながら学べる絵本から、大人も本格的に学習できる本まで様々です。
特に小学校低学年くらいまでの子どもにとって絵本は身近なものであり、絵があると子どももプログラミング的思考を抵抗なくスムーズに理解することができます。
また、本を通してプログラミング的思考を学ぶことで、体系的かつ効率的に習得することができます。レベルや目的にあった本を選ぶことで、プログラミング的思考がさらに定着することでしょう。
プログラム入力だけで終わらないロボット製作
プログラミング的思考を学ぶためにオススメなものとして、ロボット製作も挙げられます。
例えば料理のようなものだと、自分がやった結果がそのまま見えるカタチになります。ところがプログラミングの結果は画面上での確認だけになるので、「うちの子には物足りない」という声も、一方でよくお聞きします。そんな人におススメなのがロボット製作です。
自分の手で組み立てたロボットを自分の思い通りに動かすには、正解を予想し、調べ、考え、動かすといった一連のプロセスが必要になってきます。何度も組み立て直し、何度もプログラムを考え直す過程を通じて、子どもたちは知らず知らずのうちに思考力や問題解決力を身につけていきます。これは、自分の手を使ってものづくりをする中で必要な能力を鍛える「ハンズオン」と呼ばれる教育手法です。
ロボットを自分の思い通りに動かしたい!という子どもの純粋な動機を、プログラミング的思考のほか、科学的な知識、想像/創造力のトレーニングに直に結びつけやすいのが特長です。
小学生指導がパワーアップ!
最先端のAI&ICTの活用で最適な学習を提供
【各校にて無料体験実施中】
新学期入会生募集!
まずは身近に感じる体験から!
最後にもう一度確認しておきます。プログラミングは「抽象化」「分解」「順序立て」「分析」「一般化」の5つの能力をつけるための訓練方法のひとつです。
コンピューターの知識を身につけるために学ぶのではありません。ロボットにしても、ロボットそのものをつくるのが目的ではなく、試行錯誤を繰り返すそのプロセスに学びがあるのです。
プログラミング的思考を習得するためには、プログラミングやロボット製作に実際に触れられる塾での体験や、日常生活の中でも取り組めることから始めてみるといいでしょう。