『プログラミング的思考とは?』
『プログラミング的思考を簡単に図解で説明して?』
『家庭で準備しておくことは?』
と気になる事もありますよね。
今回は、幼児から小学生中学生の親御さん向けに「プログラミング的思考とは?」を簡単に分かり易く解説します。
「プログラミング的思考」という言葉を聞いたことがありますか?
小学生で2020年から中学生で2021年度からプログラミング必修化が始まることもあり、なんとなく聞いたことがある方もいらっしゃるのではないでしょうか?
プログラミング的思考は小中学生のプログラミング必修化をする一番の目的の一つです。
文部科学省も、プログラミング必修化で身につけて欲しい能力に「プログラミング的思考」を上げています。
ただ、初めて聞く親御さんからすると、何の事かよくわかりませんよね。
「プログラミング的思考」は聞きなれない言葉かもしれませんが、実はすでに私たちは日常生活で使って日々生活しています。
例えば、扉を開ける動作であったり、着替える動作であったり、車を運転する動作であったり。
私たち人間の当たり前の行動はコンピュータにとってはとても複雑で、1~10まで細かく伝えていかないと同じように動くことはできません。
文部科学省は新学習指導要領の中で「プログラミング的思考」のことを以下ように言っています。
自分が意図する一連の活動を実現するために、どのような動きの組み合わせが必要であり
一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、
記号の組み合わせをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力
出典元:文部科学省
これだけでは「プログラミング的思考」がどういうものなのか、まだはっきりとは分かりませんよね。
そこで今回はプログラミング的思考とは何なのか?分かりやすく図解でお伝えするとともに、プログラミングとの違いやプログラミング的思考がなぜ必要なのか、更にはご家庭でできるプログラミング的思考の教え方について解説していくことにします。
今回は、子ども向けのプログラミング教室を5年以上運営する筆者が分かり易く解説します!
親御さんが自宅でプログラミングを子どもに教えるときの教え方の参考にもしてください!
【2024年版】小学生のプログラミング教室おすすめ人気5選!口コミ・評判や費用、カリキュラムも比較!
この記事の目次
プログラミング的思考とは?簡単に分かりやすく図解で解説!
プログラミング的思考とは、簡単にまとめると
最終的な目的の為に
・作業を分解する
・整理する
・説明する
この一連の考え方をプログラミング的思考といいます。
簡単な例としては料理のレシピ(料理手順表)がこのプログラミング的思考に当てはまります。
レシピは決められた手順をふめば料理が完成する、といった作業の流れを簡潔に説明していますよね。
これがプログラミング的思考に基づいて作られたものになります。
それでもまだこの説明ではピンとこない方もいるでしょう。
そこでよりプログラミング的思考の意味を理解するためにさらに具体的な図解を用いて解説します。
下図を見てください。
上記は「手を洗う」という行為を実現するために作業を分解しています。
要点を抜き出し、1から5番までの数字を入れ整理しています。
さらに、正しく伝わるように簡潔に説明しています。
このように、図を作成するために必要な考え方を「プログラミング的思考」といいます。
私たち人間同士は「手を洗ってきてください」と伝えると、ほとんどの方が上記の動作を伝えなくても理解し解決できます。
ですが、コンピュータの場合は「手を洗ってきてください」と伝えても手を洗う動作を認識することができません。
手を洗うにはどのようにすれば良いのかを、最初に事細かく説明する必要があります。
この「最初に事細かく説明する」ための考え方を「プログラミング的思考」と呼ぶのです。
まったく何も分からないコンピュータに人間が一つ一つの単純な動作を順序だてて伝えることでコンピュータは手を洗うことが可能になります。
つまり、作業工程の1だけをコンピュータに伝えても手を洗うという目的を達成できませんが、作業工程の1~5までを順番通りに組み立てることで初めてコンピュータは意図した動きを実現します。
このように、やりたいことを実現するために、それを実現するための一連の作業を決め、順番を整理し、正しく伝わるように論理的に考え説明することが「プログラミング的思考」です。
私たちは普段何気なくこのプログラミング的思考を使っていますが、今後は意識して使うことがさらに必要になっていきます。
ではなぜプログラミング的思考が必要になってくるのでしょうか?
次の章で詳しく説明していきましょう。
子どものプログラミングの教え方とは?自宅で親が教えるときのコツと注意点!
プログラミング的思考はなぜ必要?
結論から言うと、プログラミング的思考が必要である理由は、私たちの身の回りに起こる様々な問題を解決するための手段として有効的に活用できるからです。
プログラミング的思考はプログラミングをするためだけに使われるものではありません。
「プログラミング」という言葉を聞くと、どうしてもプログラミングするときに使う考え方のように思われがちですがそれは大きな誤解です。
プログラミング的思考は、世の中の動向や身の回りに起こる状況を理解し、自らの問題として解決するための論理的思考の実践としても役に立ちます。
頭の中で考えていることを見える化することも含め、まるでプログラミングするかのように考えを整理する方法は、今後AIと共存しながら生きていかなければならない超情報化社会で、新たなものを生み出し、実現すべき課題を解決する際にとても使える方策です。
プログラミング的思考の必要性は高まっていく
現代のテクノロジーはすさまじい勢いで進化しています。
これからもテクノロジーの進歩は加速し続け、便利で高性能なものが次々と生み出されていくことでしょう。
もはや私たちはテクノロジーとは切っても切れない関係にあります。
インターネットが普及した今、必要な情報はスマートフォンやパソコンで検索すればあっという間に簡単に手に入ります。
かつては遠い遠い夢の技術であった自動運転の車も実用化までそう遠くない未来になっています。
しかも今では空飛ぶ自動車も実用化に向けて研究が進められていますよね。
AI(人工知能)を搭載したロボットについても、ホテルなどの案内係はもちろん、介護の現場まで活躍するロボットまであらわれ、より高性能なロボットが登場しています。
人間の考えは必要なくなるのか?
では、もう人間は必要なくなるのでしょうか?
いえ、そんなことはありません。
なぜなら、私たち人間はAIを使ってより新しいものを生み出すことができるからです。
新しいものを生み出す創造力は人間にしかできません。
創造力を使って新しいものを生み出し、それを実現するために、出てきた課題をプログラミング的思考を使って解決できる人が真に情報化社会で活躍できる人となるのです。
だからこそ、プログラミング的思考がとても重要になってくるのです。
より分かりやすく理解するためにお掃除ロボットの例を出して説明しましょう。
お掃除ロボットはまず部屋の広さを計算し、その後隅々まで掃除をします。
ではこの「部屋の広さを計算し」というところは一体だれが決めたことなのでしょうか?
答えは、人間です。
「部屋の隅々まで掃除をするためにはどうしたらいいのか?」の問題を解決するにあたって「あぁ、部屋の広さをまず計算すればいいんだよ」というアイデアを出すことはロボットにはできません。
「じゃあ、部屋の広さを把握するためにはどうすればいいのか?」の問題を解決する策として「ロボットにカメラを内蔵し、映した部屋を記憶してもらえばいいんだよ」というアイデアを出すこともロボットにはできません。
このように、新しいアイデアを生み出し、問題解決策を創り出すのが人間の力であり、実現してもらうためにロボットに伝えるのも人間です。
新しいアイデアを思いつくことが最終的に大事なことではありますが、それと同じぐらい大切なことがプログラミング的思考を身につけることです。
出たアイデアを実現するためにも、どうやってロボットに動いてもらおうか、と課題にぶつかった時、どうしても「プログラミング的思考」が必要になるからです。
ロボットは、作業を分解して、整理して、ロボットが理解できる言葉で説明しないと動かないのですから。
以上のような理由から、まず「プログラミング的思考」を身につける必要があります。
ただ、何度も言うように、この思考はプログラミングのときだけに使う考え方ではない、ということは覚えておいてくださいね。
【小学生】scratchを使えばプログラミング学習はおうちでできる?
プログラミング的思考とプログラミングの違いは?
プログラミング的思考とは、先述の通り「作業を分解し、整理して、説明するといった一連の考え方」とお伝えしました。
ではプログラミングとは何なのか。
一言で言うと、プログラミングとは「コンピュータに指示を出すための命令文書を作成する行為」を指します。
コンピュータは人間と違い、複雑なことをそのまま考えることができません。
「あれ取って!」と指示語を使われても、あれが何なのか想像することも出来ず、行動にうつすこともできません。
コンピュータに行動をうつしてもらうには、一つ一つ丁寧に説明する必要があります。
丁寧に説明するためには命令文書が必要になります。
この命令文書を作成する行為を「プログラミング」といいます。
先述の「手を洗う」という例がありましたが詳しく図を使って説明しましたね。
その図に書かれた内容が「命令文書」にあたります。
命令文書を書く行為を「プログラミング」と言い、命令文書を書くために必要な考え方を「プログラミング的思考」といいます。
プログラミングおもちゃおすすめ人気ランキング20選!幼児~高学年・選び方のコツも解説!
プログラミング的思考を身につけるために家庭でできる教え方とは?
家庭でプログラミング的思考を身につけるためにできる教え方としてとても有効な方法をお伝えします。
自宅でもすぐに実践できることやプログラミング教室で行っていることも解説します。
子供にルールの説明をしてもらう
プログラミング的思考を身につける方法の一つは「ルールのある物事をお子さんに説明してもらうこと」です。
例えば、学校でやった遊びの内容や、お子さんがやっているゲームの内容を詳しく聞いていく、といった方法です。
ドッジボールを例に出すと、
「今日は学校でどんなことしたの?」
「ドッジボール!」
「ドッジボールってどんな遊びなの?」
「ボールを投げてぶつけるやつ!」
「ぶつけられたらどうなるの?」
「当たったら外野に行くの。」
「どうやったら勝ちになるの?」
「内野に誰もいなくなったら勝ちになるの。」
と、ドッジボールについて詳しく説明してもらうことでプログラミング的思考を身につけることができます。
ドッジボールを説明するためには、ドッジボールのルールにはどのようなものがあるのかを分解し、整理して、分かりやすく伝える必要があります。
この一連の思考を何度も繰り返し行うことでプログラミング的思考は自然と身についてきます。
できれば親が知らないものごとを説明してもらうほうがよいのですが、子どもが興味を持っていることや学校での出来事などをオープンに説明してもらうことが効果的です。
「あつもりって何?」
「サッカーってどういうルール?」
ざっくりとした質問をしたら、お子さんは外せないポイントを抜き出してうまく説明できるようになっているかどうかをチェックします。
これができるようになっていればプログラミング的思考ができていると判断できます。
プログラミング的思考を身につけるメリット(効果)は?
この方法は、プログラミング的思考を身につける以外にもプラスになる効果があります。
1.お子さんとの会話が増える
2.学校での出来事やお子さんが興味を持っていること、考えていることが分かる
3.自身もプログラミング的思考で物事を考えられるようになる
4.お子さんとの会話が感情的にならず、論理的に話ができるようになる
他にもプログラミング的思考を身につけるための教え方はいくつかあります。
例えば、
・料理をしてもらう
・1日の(夏休みの)計画表を作ってもらう
・なぞなぞを作ってもらう
・絵本の先の物語を考えてもらう
教え方、というよりもお子さんに「考えてもらう」ととらえるほうが良いですね。
いずれにしても、プログラミング的思考を育てるのに有効的な内容となっています。
中学生におすすめのプログラミング言語人気5選!初心者・入門・勉強方法やおすすめの教材も解説!
プログラミング教室で「プログラミング思考」を身につけるために実践しているこ
ここでプログラミング教室で「プログラミング思考」を身につけるために実践していることを少し紹介します。
Scratchでゲームを作る際、まずどんなゲームを作りたいのか(実現したい課題)を生徒のみんなで議論します。
「スプラトゥーンのようなゲームを作る」というテーマになった場合
1.まずはどんな登場人物がいるかを挙げてもらう
2.各登場人物のふるまいを列挙していく
3.列挙した中から、最低限必要なものはなんなのかをピックアップする
(これがないとゲームとして成り立たない、という要素は何なのか)
4.面白いゲームにするためにぜひ実現したいふるまいはどのようなものがあるか
を皆で決めます。
後は課題を実現するために自由にプログラミングにとりかかります。
以上の1~4までの活動によりプログラミング的思考を育てることができると考えています。
作業を分解し、整理してからプログラミングに取り掛かるようにすることで、一見複雑なゲームに見えたものが、一つ一つ単純な作業の組み合わせであることが分かり、小学生でもプログラミングを行うことができるようになるのです。
このことから、プログラミング的思考は複雑な問題や課題解決にとても有効なことが分かります。
決してプログラミングに使う時だけの思考ではありません。
\おすすめのプログラミング教室の口コミ・評判はこちら/
・ヒューマンアカデミープログラミング教室の評判・口コミはどう?料金比較もしてみた!
・エジソンアカデミーの評判・口コミはどう?他のロボット教室との料金比較も解説!
・リタリコワンダーの評判・口コミはどう?他社料金比較も解説!
まとめ:プログラミング的思考はこれから社会を生き抜く力にもなる!
自分にとって今後何か壁にぶつかるようなことがあった時にも、複雑に考えていた問題が実は分解してひも解いてみるとそうでもなかった、と気づくことができます。
だからこそプログラミング的思考は身につけておきたい思考です。
親としてもお子さんが自立した大人になるための手助けとして教えておきたい思考ですよね。
最後になりますが、プログラミング的思考をなんなくこなせるようになれば、問題解決力も生産性も飛躍的にアップさせることができます。
プログラミング的思考は将来どのような職業についたとしても必要な考え方です。
人間同士の会話で建設的な議論も行えるようになり、プレゼンテーションの場面や文書作成にもうまく活用できるようになります。
ぜひ、プログラミング的思考を身につけ、コンピュータにやってもらうばかりの受け身になるのではなく、自発的にコンピュータを使いこなし、自分の人生を、よりよい社会を作るためにご家庭でも「プログラミング的思考」を取り入れて実践してみてください。
\プログラミング教室講師からの豆知識/
小学生、中学生のプログラミング学習では「スクラッチ(scratch)」という無料のプログラミング学習サービスを使うことがおすすめです。
世界中で使われている子どものためのプログラム言語で開発されたものです。
「ビジュアル型プログラミング」を採用している為、初めての子や親御さんでも教えることができます。
子どもの習い事図鑑が運営する「scratchなび」では、無料でスクラッチ教材がダウンロード・印刷が可能です。
アカウントの作り方や動かし方はもちろん、簡単なゲームまで作れます!
scratchなび | 子どものプログラミング教材無料ダウンロードサイト
【2024年版】小学生のプログラミング教材おすすめ人気ランキング15選!選び方のコツも解説!
scratchの本おすすめ人気20選!小学生向け基礎~本格的な中高生向け教材まで解説!
スタペンドリルTOP | 全学年から探す
幼児 | 運筆 ・塗り絵 ・ひらがな ・カタカナ ・かず・とけい(算数) ・迷路 ・学習ポスター ・なぞなぞ&クイズ
保育無料イラスト・フリー素材
小学1年生 | 国語 ・算数 ・英語
小学2年生 | 国語 ・算数 ・英語
小学3年生 | 国語 ・算数 ・理科 ・社会 ・英語 ・音楽 ・プログラミング ・毎日計算ドリル
小学4年生 | 国語 ・算数 ・理科 ・社会 ・英語 ・音楽 ・プログラミング ・思考力
小学5年生 | 国語 ・算数 ・理科 ・社会 ・英語 ・音楽 ・プログラミング ・思考力
小学6年生 | 国語 ・算数 ・理科 ・社会 ・英語 ・音楽 ・プログラミング ・思考力
【全学年】Z会グレードアップ問題集(無料コラボ教材)
中学生 | 数学 ・英語 ・漢字 ・社会 ・理科
2024年無料カレンダー|2025年無料カレンダー