プログラミング
プログラミング教育とは?必須化の狙い、小学校・中学校の授業内容、実践例を解説
プログラミング
IT人材不足を背景に、2020年からプログラミング教育の必修化が始まり、教育業界では「プログラミング的思考」というワードが注目されています。
プログラミング的思考とは、プログラミングをする時に使う考え方のことで、コンピュータや情報を使う機会が増えた情報社会の中を生き抜く上でとても重要なスキルで、子どもの頃からしっかりと身につけておくことが必要とされています。
今、子どもが学校で学んでいるプログラミング的思考について、以下のような点について気になるかたも多いと思います。
プログラミング的思考は日常生活の中で無意識につかっていることが多く、身近に実践練習できる機会がたくさんあることを知っていますか? 子どもにプログラミング的思考を教えるために、まずは保護者のかたが正しい意味を理解しておかないといけません。
そこで、今回はプログラミング的思考をよく理解していない保護者のかた向けに、プログラミング的思考の5つのスキルとまちがいやすい論理的思考とのちがいの解説や普段の生活で実践できるプログラミング的思考の身につけ方についてわかりやすく紹介します。
この記事を参考に、身近にあるプログラミング的思考の鍛え方を実践をして、お子さんと一緒にたのしくプログラミング的思考を育てていきましょう!
1−2.プログラミング的思考と似たコンピュテーショナルシンキング(英語:computational thinking)とは?
1−5.実際にプログラミング的思考が学べる授業例(算数・理科・国語・音楽)
2−3.大事なことだけにしぼって問題をシンプルにする(抽象化)
4.小学生やこどもがプログラミング的思考を身につける4つのメリット
5.【おやこ向け】プログラミング的思考を鍛える方法!実践例6選
5−3.パソコンやタブレットで遊べるアプリ・ゲーム・おもちゃ
6.プログラミング的思考が身につくゲーム・アプリ・おもちゃ&動画紹介
プログラミング的思考とは、プログラム作成や設計で使う考え方を応用した思考のことで、日常生活や仕事にも応用できるスキルです。具体的に説明すると、プログラミング設計や作成をするときに、以下のような5つのスキルをつかって内容を考えます。
この一連の考え方を「プログラミング的思考」と呼んでいます。プログラミング的思考を身につけると、理解力アップや情報の整理ができ、ITツールなどをうまく活用ができるようになり作業効率が良くなる、創造性や発想力を育ててくれる、など日常生活や仕事で働く上でたくさんのメリットがあります。このように、情報社会の中で、ITツールや技術をうまく使って論理的・創造的に考え、問題を解決するプログラミング的思考は、今後のコンピュータなどを活用していく上で必要なスキルです。
身につけ方の例として、学校での授業以外に、おもちゃやゲームなどの遊びの中やスポーツ、料理や洗濯などの家でのお手伝いなど、遊びや身近な行動の中で身につけることができます。
「プログラミング的思考」について、文部科学省では下のように定義しています。
自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力。
引用元:文部科学省「小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)」より
かんたんに説明すると、目的を達成するために、必要な情報・手順を見つけて、さらに手順を組み合わせたり、実際に検証や改善を繰り返して、効率的でベストな方法を論理的に考える一連の流れのことをいいます。
文部科学省によると、プログラミング的思考は海外の「コンピュテーショナルシンキング(英語:computational thinking)」という考え方を参考にしています。
プログラミング的思考は「コンピュテーショナル・シンキング」の考え方を踏まえつつ、プログラミングと論理的思考との関係を整理しながら提言された定義である。
引用元:文部科学省「小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)」より
コンピュテーショナルシンキングとは、日本語で「計算論的思考力」といい、以下の5つの要素をいいます。
アルゴリズム思考は「手順を考える力」のことで、アルゴリズム設計とは、「一番効果的な手順を考え工夫する力」のことです。
(例)サンドイッチ
●アルゴリズム思考の例
●アルゴリズム設計の例
このように、コンピュテーショナルシンキングとプログラミング的思考で似たようなスキルがあるのがわかりますよね。
「1−1.プログラミング的思考の定義(文部科学省の資料より)」で、プログラミング的思考の定義について紹介しましたが、よりイメージしやすいように具体的な問題をつかって解説します。
今回は、コンピュータを使って正多角形を作るという問題で解説します。
手順を探す前に、まずは「正多角形」とはどんな特性があるのか理解しておく必要があります。
正多角形とは、「すべての内角が同じ」「外角もすべて同じ」「すべての線(辺)の長さは全て等しい」といった特徴があります。
この3つの特徴をつかって、手順を考えます。今回は多角形の中で一番簡単に作れる正三角形(長さを100)の作り方で考えていきましょう。
正三角形は3つの内角がすべて同じ角度で、かつ同じ長さの線を引くと作ることができます。このことから、長さ100の正三角形は下の図のように、長さ100の線を1本引いたあと、左に120°曲がるという動作を3回指示すると作れるということがわかりますよね。
コンピュータには、「長さ●●●の直線を引く」「左に角度を●°曲がる」など細かく指示をすることができます。これらのコンピュータで用意されている動作指示を組み合わせると下の「回答A」の手順ができあがります。
「回答A」は手順通りに作成しているもので計8つの指示があります。反対に、右側の「回答B」はどうでしょうか?
「回答B」では、「回答A」にある「左に120°曲がる」と「前に100進む」が3回繰り返しているところに注目し、「3回繰り返す」という指示を追加することで指示の数が少なくシンプルに作成できます。
どちらも正解ではありますが、正六角形や正八角形を作る場合、「回答A」より「回答B」の方がシンプルで入力の手間が減ってとても効率よく指示を出すことができますよね。
このように、問題を解決するために必要なことや道筋を考えるだけでなく、さらに効率よくするためにはどうすべきかを論理的に考えていく思考のことを「プログラミング的思考」といいます。
プログラミング的思考とよく似た意味で「論理的思考」があります。結論から言うと、プログラミング的思考は論理的思考の一部でありますが、少しちがっています。
プログラミング的思考とは、問題を解決するための具体的な方法を見つけるだけでなく、その中から最も効率的にできるように考える思考です。そのためには、物事を多角的にみることや発想力も必要になります。
どちらも、目標を達成するための手段や方法を見つけ出すという部分は同じといえますがプログラミング的思考は、最も効果的な方法を考えることなので、論理的思考と比べて若干のちがいがあるということを理解しておきましょう。
小学校の授業で、プログラミング的思考を学ぶことができます。ここからは文部科学省が発表しているプログラミング教育で取り組むべき授業内容として「算数・理科・国語・音楽」の授業内容の例について紹介します。
算数(5年生) |
・計算問題 →複数の数字を細かく分けて計算する
・多角形を書く問題 →scratch(プログラミング言語)を使って正多角形を書く |
---|---|
理科(6年生) |
・電気工作をする →どのような手順で動くのかそのために必要な命令の組み合わせを考える |
国語 |
・物語を読んで好きな場面のアニメーションを作成する (絵の作成写真のスキャンをして取り込むなど) |
音楽(3〜6年生) |
・音楽づくり →見通しをもってまとまりのある音楽をつくる→リズムやパターンを組み合わせて新たな音楽を作る |
・参照:小学校プログラミング教育の手引(第三版)より
ここからは、プログラミング的思考で身につけることができる以下の5つのスキルについて紹介します。
では、この5つのスキルの詳しい解説と、身につけることのメリットについて料理(カレー作り)を例に解説します。
1つ目の「分解」とは、問題をこまかくわけるスキルで、優先順位をはっきりさせる力が身につくことや問題解決力がアップするなどさまざまなメリットがあります。
カレーを作るには、食材をリストアップして、その食材ごとに調理(野菜を切る・白米をあらう・炊くなど)する必要がありますよね。分解とは、カレーを作るために必要な作業(課題)を1つずつわけることです。
そうすることで、やるべきことがはっきりし、問題が解決しやすくなるほか、そのあとの予定や手順も考えやすくなります。
そのほかにも「分解」スキルを身につけることで以下のようにさまざまなメリットがあります。
メリット |
・やるべきことをはっきりさせて効率よく作業できるようになる。 ・問題の解決能力がアップする。 ・スケジュールや計画が立てやすくなる。 ・作業の重要度と緊急度を見わけることができる ・こまかく問題をわけることで問題の難易度を低くする。 ・着実に問題をクリアしていくことでやる気がアップし自信につながる。 |
---|
2つ目の「一般化」とは、似たようなものを1つにまとめて考えるスキルで、簡潔に情報を整理できることからコミュニケーションの場でとても役に立つといったメリットがあります。
カレーを作るには、「じゃがいも・にんじん・たまねぎ・牛肉・ルー」といった食材が必要です。このなかにある、じゃがいも・にんじん・たまねぎは共通して「野菜」いうカテゴリーでひとくくりに表現することができますよね。
このように、一般化とは、共通している物同士を見つけてひとくくりにして考えるスキルのことです。一般化を身につけると、情報の整理がしやすくなり簡潔に伝えることができるのでコミュニケーションの場ではとても役に立ちます。
そのほかにも「一般化」スキルを身につけることで以下のようにさまざまなメリットがあります。
メリット |
・複雑な情報も整理ができるようになる。 ・人や物の共通点を見つけることが得意になる。 ・広い視野でみることができるようになる。 ・コミュニケーションで役に立つ。 (わかりやすく伝えることができる、会話のネタになるなど) |
---|
3つ目の、複数の考えを組み合わせるスキルでは、「創造性」や「発想力」を伸ばすことができるといったメリットがあります。
1つ目の「分解」で、カレーづくりの作業をこまかくわけしました。次に、わけた手順を適切な順番に並べかえる必要があります。この並びかえのことを、「組み合わせ」といいます。先ほどのカレー作りを例に、作業を適切な順に並びかえてみます。
▼組み合わせの例
やるべきこと(分解) | 手順を並びかえる(組み合わせ) |
---|---|
・野菜を洗う ・野菜を炒める ・白米を洗う、炊く ・ルーを溶かす ・野菜を切る ・隠し味の調味料を作る ・水を入れる |
野菜洗う ↓ お米を洗う ↓ 白米を炊く ↓ 野菜を切る ↓ 隠し味の調味料を作る ↓ 野菜を炒める ↓ 水を入れる ↓ ルーを溶かす |
このように、手順を適切な順に並びかえることで、失敗することなくカレーを作ることができます。プログラミングでもカレー作りと同じように、さまざまな要素や情報を組み合わせてつくっています。
さらに、よりおいしいカレーを作るために「この調味料はなるべく最後に入れることで焦がさず美味しくなる」や効率よくするために「固形ルーと調味料をいっしょにミキサーで混ぜてみたらどうだろう?」などを考えるなど、組み合わせの中で「創造性」や「発想力」を伸ばすことにもつながります。
そのほかにも「組み合わせ」スキルを身につけることで以下のようにさまざまなメリットがあります。
メリット |
・よりベストな方法を見つけるために試行錯誤ができるようになる ・全く別のものを組み合わせて新しいアイディアを考え形にできる ・固定概念をとっぱらっていろんな視点で考える力が身につく ・物事を組み立てて考えることができる ・創造性や発想力を伸ばすことができる |
---|
4つ目の「抽象化」とは、手順などを単純化(シンプル)にして重要なところだけを考えるスキルのことで、重要な要点を見つけだすことができるといったメリットがあります。
カレー作りにはさまざまな作業と手順があります。テーブルに出すまでの流れをもっと大まかに分けると3つの作業になります。
野菜(じゃがいも・にんじん・玉ねぎ)・お肉(牛肉)・ルー・そのほか調味料
鍋に油を熱し、玉ねぎを炒める。
野菜や肉を加えて炒め、調味料を加える。
水を加えて煮込み、カレールーを溶かしながら煮込む。
お皿のうえに白米とルーをかける。
こまかい手順や材料・調味料の量なども部分は省略され、カレー作りがよりシンプルでわかりやすくなりますよね。このように、物事を単純(シンプル)にして重要なところのみだけにすることを「抽象化」と言います。
そのほかにも「抽象化」スキルを身につけることで以下のようにさまざまなメリットがあります。
メリット |
・情報をシンプルにすることで大事なポイントを掴むのが得意になる ・物事の整理がしやすくなり重要度を見極めることができる ・問題解決能力アップ ・チームでのコミュニケーションに役に立つ |
---|
5つ目のシミュレーションとは、頭の中で物事の流れを再現(仮説をする)して考えるスキルのことで、全体の流れを把握できるほか、理解力のアップや予測する力を身につけることができるメリットがあります。
「分解」「組み合わせ」で、カレーを作るための手順の洗い出しと並びかえをしました。そのあといきなり料理を始めるのではなく頭の中で作業の流れを再現すると思います。この再現することを「シミュレーション」といいます。
シミュレーションをしていると、「見落としていた食材や手順が見つかった」「料理で使う器具や調味料は取り出しやすい場所に用意しておこう」「この手順だと包丁が手前にあってあぶない」などさまざまな気づきが見えてきます。このように、さまざまな仮説を持ちながら考えることで理解力や予測する力を身につけることができます。
そのほかにも「シミュレーション」スキルを身につけることで以下のようにさまざまなメリットがあります。
メリット |
・全体の流れを把握できるようになり理解スピードが速くなる ・本当にその手順が合っているのか客観的に考えることができる ・試行錯誤しながら進めずにできるので効率よく作業ができる ・予測していたこととちがうことが起きてもすばやく修正できる |
---|
以上がプログラミング的思考で身につく5つのスキルの紹介でした。
では、なぜ「プログラミング的思考」が必要と言われているのでしょうか?その背景や理由は大きく2つあります。
次でくわしく解説します。
AIやIoT・スマートホームなど、ネットやITが急成長している中で、多くの仕事が「自動化」されています。そして将来、そこで働く人の仕事がなくなってしまう、またはまだ存在していない新しい職業が登場するといった予測がされているのを知っていますか?
自動化が進むと、業界や職種を問わず、情報技術を活用して問題を解決するスキルや効率よく作業できる人が求められるようになります。プログラミング的思考を身につけると、論理的に考える力や問題解決能力が高くなり、自分で情報をうまく活用して効率よく作業ができるようになるので、将来の職業チャンスを広げることにつながります。
子どもが大人になったときに自信をもって働けるようにするためにも、今からプログラミング的思考を身につけておく必要があります。
仕事や学校では、ExcelやPowerPointなどのツールをつかった表や資料の作成、メールアプリやチャットなどさまざまなツールを使います。これらのツールを使いこなす上でプログラミング的思考はとても役に立ちます。
例えば、ChatGPTを上手く活用したいけれど「期待通りの回答をしてくれない」といったとき、質問内容をより具体的に細かく分けてみることや、ChatGPTの仕組みやどんな反応があるのかを理解して回答ルールや手順を指定してあげることで、より的を得た回答を効率的に見つけることができます。このようにツールを最大限に活用するためにもプログラミング的思考は必要なスキルです。
プログラミング的思考は小学生といった子どものころから身につけておくと将来的に役に立つなどたくさんメリットがあります。以下でプログラミング的思考を身につけることのメリットを4つ紹介します。
「3.プログラミング的思考はなぜ必要?その理由とは?」でも説明したように、さまざまな場面でコンピュータやITが使われていて使いこなすためにプログラミング的思考は必要です。そのほかにも、以下のような普段の日常生活の中で役に立ちます。
このように、プログラミング的思考は問題解決やデータを分析する力、効率化を考える力、自己管理能力をあげるなど、多くのメリットがあります。
「2−3.複数の考えを組み合わせる(組み合わせ)」のメリットに書いたように、プログラミング的思考を身につけることで、自分の考えだけでなく、ちがう人の立場や視点に立って物事を見ることができるようになります。多角的に見ることで、問題を解決するための方法や選択肢を広げてくれるだけでなく、自分の中にある固定観念をなくして柔軟な思考ができるなどメリットがあります。
プログラミング的思考を鍛えていくことで、子どもの持つユニークな考え方や発想を自由に形にする力を身につけることができます。今後、AIやシステムによって仕事が奪われる時代が来ると言われている中で、生きていく上で「発想力」はとても重要なスキルでもあります。
また、プログラミング的思考には効率的に仕事を進めることができる、問題を解決する力がつく、状況の変化に柔軟に対応できるといったメリットがあり、今後どんな仕事でも活かすことができます。
文部科学省でもこのように書いています。
情報技術を効果的に活用しながら、論理的・創造的に思考し課題を発見・解決していくために、「プログラミング的思考」が必要であり、そうした「プログラミング的思考」は、将来どのような進路を選択しどのような職業に就くとしても、普遍的に求められる力であるとしています。
引用:文部科学省「小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)」より
このようにプログラミング的思考はこれからの社会を生き抜く上で必要なスキルといえます。
もちろん、子どもの頃からプログラミング的思考の意味や考え方を理解して実行することはなかなか難しいことです。ただ、早い段階でこういった経験をたくさんして、自分の思考に取り入れて成長した人と、そうでない人ではその後の成長速度や考え方の視点もちがってきます。大人になってからプログラミング的思考を身につけるには、かなりの時間がかかります。柔軟で吸収力の高い、子どもの頃に身につけておくことをおすすめします。
プログラミング的思考は子どもの頃から身につけておくべきと伝えましたが、どうやって実践すればいいのか悩みますよね。ここからは、親子で一緒にプログラミング的思考を身につけることができる方法を6つ紹介します。
プログラミング的思考を身につけさせるには、家での「お手伝い」があります。特に、料理や買い物・洗濯といった家のお手伝いは身近にできる方法で習慣づけやすいためオススメです。
お家でできる実践例1つ目の料理では、食材の準備から料理をするとろこまですべてにおいてプログラミング的思考を使う機会があります。今回は、カレー作りを例に紹介します。
●カレーに必要な食材や調味料をメモに書き出す(分解)
↓
●手順を考えて適切な順に並びかえる(組み合わせ)
洗う、切る、焼くなど食材ごとに何をしないといけないのか手順を考える。
↓
●考えた手順を頭の中でイメージする(シミュレーション)
手順を考えたあと、本当にその手順で大丈夫か想像する。
↓
●手順通りに料理をして盛りつける(実行)
↓
●できがった料理手順をレシピにまとめる(一般化・抽象化)
レシピとして手順を整理して誰でもわかりやすくするために大切な部分だけにしぼって書く
お買い物でもプログラミング的思考の実践練習ができます。今回はカレーに必要な食材と文房具(ノートとペン)を買いにいく例で紹介します。
●買うものをリストアップする(分解)
(例)にんじんん・じゃがいも・ペン・ノート
↓
●買うものをカテゴリごとに分けて整理する(抽象化)
(例) にんじん・じゃがいも → 野菜(食料品売り場) ペン・ノート → 文房具(文具コーナー)
↓
●お買い物リストにまとめる(一般化)
(例) 食料品売り場で野菜を、 文具コーナーで文房具を買う
↓
●効率のいい買い物ルートを考える(組み合わせ・シミュレーション)
(例)野菜はくさると困るから、先に文房具を買い、そのあと食料品売り場で野菜を買おう
↓
●ルート通りに買い物へ行く(実行)
↓
●買い忘れがないか確認する
次に、洗濯のお手伝いをするときでの実践例を説明します。
●何を洗濯するのか考える(分解)
(例)短いくつした・長いくつした・Tシャツ・Yシャツ・ズボン2枚・ドレス
↓
●まとめて一緒に洗濯できるものを探す(抽象化)
(例)
短いくつした・長いくつした → くつした
Tシャツ・Yシャツ → シャツ
ワンピースやスカート→ そのほか
↓
●洗濯〜干すまでの流れをイメージする(組み合わせ・シミュレーション)
(例) なるべく時間のかかる服は先に干すようにしよう。
↓
●洗濯をする(実行)
↓
●洗濯物を干す(組み合わせ・抽象化)
(例)
・ハンガーにかける服から先に干す
・パラソルハンガーで干すくつしたは最後にする
・なかなか乾きにくい服をさきにする
以上がお家でできる3つの実践例でした。
まとめると、日頃から目的に向かって手順を考えるクセをつけていけば、自然とプログラミング的思考を身につけていくことができます。何度も繰り返していくことで、「これはこういうことなのか」と構造や流れを理解できるようになります。あきめずにトライをして身につけていきましょう。
また、大人と比べて子どもはまだ1つ1つの作業をはやく理解や処理することができません。保護者の方はなるべく子どものペースにあわせて見守ってあげることを忘れないようにしましょう。
プログラミング的思考を身につける方法として、ボードゲームやプログラミングトイといったものがあります。ゲームで勝つためには必ず相手の攻撃を分析し、どういった手順で戦うといいのか戦術や改善方法を考えるなど、遊びの中でプログラミング的思考を身につけていくことができます。
おすすめのカードゲームやボードゲームは「6−3.おもちゃやボードゲーム」で紹介しています。
パソコンやタブレット向けゲーム・アプリなど遊びの中でプログラミング的思考を身につけることができます。
ゲームのお題やミッションを解決・クリアするために、お題の中にある1つ1つの問題を分けて「考える」、実際に「トライ(実行)する」、失敗したら「振り返る」、「再度別の方法や設定を変えてトライする」「さらにもっと効率よくクリアができないか考える」を繰り返していくことでプログラミング的思考を自然と身につけることができます。
おすすめのパソコンやタブレットゲームの紹介は、「6−1.ゲーム(マイクラ・Hour of Code)」をご覧ください。
プログラミング的思考とは何なのか、難しい言葉を使わずもっと簡単でたのしく学べる方法を探している人には、子ども向けに提供しているプログラミング的思考を学べる教材動画がおすすめです。オンラインやアプリ上で見れるためインターネットさえつなげればすぐに学ぶことができます。
くわしい教材動画の紹介は「6−4.動画(NHK テキシコー・バンダイ公式チャンネル)」をご覧ください。
プログラミングスクールや個人でプログラミング的思考を学べる研修や講座・セミナーイベントが開催されています。「プログラミング的思考がイマイチよくわからない!」「やり方がわからず誰かに教えてほしい」といった人は、講座や研修・セミナー・スクールの先生などの専門的な知識を持った人に教えてもらうことも1つの方法です。
プログラミング的思考は、運動やスポーツを通して身につけることもできます。スポーツの中でも、特にバスケットボールやサッカーなどのチームスポーツは相手に勝つために戦術を考えたり、相手のプレイの分析をしたり、効果的な練習メニューを考えるなどプログラミング的思考と同じような考えが必要になるためおすすめです。
以上が6つのプログラミング的思考の鍛え方の紹介でした。
このように見てみると、普段の日常生活の中で何気なく行っている事が、実は「プログラミング的思考」と深く関わっています。そのため、この段落でご紹介したような6つの方法をはじめ、日常生活の中で行う事を、ただ楽しむだけでなく、そこに「プログラミング的思考」を意識しながら取り組むことで、もっと違った視点や考え方が生まれ、そして日常生活で繰り返し実践していくことで、自然にプログラミング的思考が身についてくると思います。
前述した通り、プログラミング的思考は、ゲーム・アプリ・おもちゃや動画などでたのしく身につけることができます。ここからは、ゲーム・アプリ・おもちゃ・動画の4つにわけて紹介します。
まずはパソコンやタブレットなどをつかってプログラミング的思考を学べるゲームを紹介します。
マインクラフト(Minecraft)は、さまざまな種類のブロックを組み合わせて自由に建物や構造物、島などを作れるので、論理的思考力や計画性、やり抜く力(問題解決力)や発想力などを鍛えることができます。
4歳から高校生までの子供向けに無料でプログラミング学習を受けることができる、パソコン・タブレット用のゲームサイトです。運営会社は海外ですが、日本語対応しているので安心して遊べます。
プログラミングを楽しく学べるアプリとしてScratch(スクラッチ)はあります。Scratchは、無料で遊べるプログラミングゲームサイトです。ビジュアルプログラミング言語とよばれるブロックを組み合わせてプログラムを作成します。ゲームで遊ぶだけでなく自分で作れるので、プログラミングの基礎を学びながらプログラミング的思考も身につけることができます。最近では学校授業やプログラミングおもちゃにスクラッチが採用されています。
最近では、プログラミングトイ(おもちゃ)やボードゲームといったプログラミング的思考を身につけることができるおもちゃが増えています。
おもちゃのタイプはたくさんありますが、下のようなおもちゃタイプはプログラミング的思考を身につけるにはぴったりです。
【関連記事】
そのほか、プログラミング的思考を身につけることができるおすすめのおもちゃについては以下の記事で紹介しています。
・プログラミングおもちゃ人気おすすめ!年代別や選び方をご紹介【2023年】
将棋・チェス・オセロといったボードゲームもおすすめです。ボードゲームで相手に勝つためには、自分で推測や推理をして、戦略をたてて、実行するといったプログラミングと同じような手順が必要です。ほかにも、ゲームクリアのためにシミュレーションや逆算する力、負けた時にどうして負けたのか振り返る力も身につけることができます。また多くのボードゲームは1人ではなく誰かと戦います(またはチームとなって一緒に戦う)。プログラミング的思考だけでなく、状況をすばやく理解するといったコミュニケーションスキルも身につけることができます。
YouTubeなどの動画でプログラミング的思考を学ぶことができます。今回は、音とアニメーションを使って紹介している動画やプログラミングスクールの人が教える教材動画の2つを紹介します。
「テキシコー」とは、NHKが放送・配信している小学3年生〜高校生を対象にしたプログラミング教育番組です。おもわず口ずさむような音楽が印象的でプログラミング的思考をよりわかりやすくまとめた10分ほどのアニメーション動画です。
「バンダイ公式チャンネル」Youtubeアカウントでは、プログラミング的思考についての紹介動画が4本アップされています。動画内では、日常生活にある身近なものを例にプログラミング的思考を紹介しているのでイメージもしやすいです。
以上がプログラミング的思考が身につくゲーム・アプリ・おもちゃ&動画紹介でした。
「プログラミング的思考」とは何なのか図を使ってくわしく解説してきました。
プログラミング的思考は、プログラム作成や設計で使う考え方を応用した思考のことで、論理的思考に、効率よく最適な方法を考える力を足したものです。具体的に説明すると、目的を達成するために必要な情報や手順を見つけて、検証と改善を繰り返して一番効率よく効果的な方法を考え出すといった一連の流れをいいます。
プログラミング的思考には、「分解」「一般化」「組み合わせ」「抽象化」「シミュレーション」の5つのスキルがあります。これらのスキルを身につけると理解力が上がり、作業効率が良くなる、創造性や発想力を育ててくれる、コミュニケーションの場で言葉のキャッチボールがスムーズになるなどさまざまなメリットがあり学校や仕事だけでなく日常生活でもとても役に立ちます。近年、ITが急成長していることから、ITツールや技術をうまく使って論理的・創造的に考えて問題を解決する「プログラミング的思考」はどんな職業についても必要とされています。
この記事で紹介した実践例のように、プログラミング的思考は学校の授業だけでなく、ゲーム・スポーツ・料理や洗濯といった遊びや身近なところで身につけることができます。特に料理や洗濯といった家でのお手伝いはおやこで一緒にたのしくプログラミング的思考を実践できておすすめです。
日頃から「目的」に向かって手順や工程を考えるといったクセをつけていけば、自然と子どものプログラミング的思考は身についていきます。ただし、子どもはまだ1つ1つの作業をすばやく理解することができません。何度も挑戦をさせてあげて子どものペースにあわせて見守ってあげることが大切です。
記事で紹介した実践例やポイントを参考に、おやこでたのしくプログラミング的思考を育てていきましょう!
メディアライター兼「ぱそメモkids」運営者
エンタメ会社で広報を経験し、現在は株式会社セナネットワークスでメディアライター兼広報として勤務。同社では2021年にNintendo Switch初のタイピングゲーム「タイピングクエスト」を開発・発売。プログラミング・システム開発を事業とする企業として、プログラミング教育の更なる普及への貢献の思いでオウンドメディア運営をスタート。
監修者のご紹介: 「信頼されるサイトとしての取り組み」 をご覧下さい。