プログラミング学習という言葉が注目されてしばらく経った現在、「いまさらプログラミング的思考について聞けない…」とお考えの人も多いのではないでしょうか。
そこで本記事では「そもそもプログラミング的思考とは何か」「身に付ける必要性はあるのか」といったことに加え、子どものうちからスキルを鍛える方法などを紹介します。
子どもに適切な手助けができるよう、プログラミング的思考について正しく理解しておきましょう。
プログラミング的思考とは?
プログラミング的思考とは、自分の意図した活動に近付けるための最適解を論理的思考で考える力を指します。
たとえば、行きたい場所があり、そこに行き着くためには、車、電車、飛行機などの移動手段を駆使する必要があるとします。
このとき「電車や飛行機をどう組み合わせれば最適なルートになるか」を考える際などにプログラミング的思考が用いられます。
文部科学省が定めるプログラミング的思考の意味は下記の通りです。
自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、 より意図した活動に近づくのか、といったことを論理的に考えていく力。
引用:文部科学省「小学校段階におけるプログラミング教育の在り方について」
プログラミング的思考と論理的思考の違い
論理的思考とは、ものごとを体系的に整理し、道理に沿って道筋を組み立ていく思考法を指します。
一見するとプログラミング的思考と同じようにも思えますが、論理的思考は「最適(効率的)であること」を考慮して思考しません。
一方のプログラミング的思考は、論理的であり、答えが最適であることを重要視します。
したがって、プログラミング的思考と論理的思考の大きな違いは「最適な道筋であるかどうかを考えているか」という点にあると言えます。
プログラミング的思考の必要性
プログラミング的思考の必要性について、文部科学省は次のように述べています。
自動販売機やロボット掃除機などは”便利な箱”ではなくプログラミングの恩恵を受けており、プログラミングを通じて人間の意図した処理を行わせることができるものであることを理解できるようにすることは、時代の要請として受け止めていく必要がある。
引用:文部科学省「小学校段階におけるプログラミング教育の在り方について」
つまり、将来的にコンピュータやプログラミングに溢れた世界になることを踏まえ、「現代の子どもはプログラミング的思考を身に付けるべきだ」というのが国が定めるプログラミング的思考の必要性です。
大学入試でプログラミングが出題される
大学入試センターは、2025年1月に実施される大学入学共通テストに「情報科目」を導入することを発表しました。
情報科目では「プログラミング」「情報リテラシーに関する情報」などに関する問題が出題されます。
よって、情報科目は、国語や算数に並ぶ基礎教科として扱われるようになるのです。
こういった流れから、小学生のうちからプログラミング教室などを通して受験対策を進める人が増加しています。
プログラミング的思考は、暗記によって身に付くスキルではないため、長い時間をかける必要があります。こういった点も、小学生のうちから学習を始める一つの理由なのでしょう。
プログラミング的思考により身に付くスキル
①事象を分解するスキル
プログラミング的思考を身に付けることで、事象を分解するスキルも身に付きます。
このスキルは、目的の達成に必要な手順を分解して考えたり、物事を分解して考えたりする際に役立ちます。
分解するスキルが身に付くと、物事を客観的に見やすくなるため、目的にたどり着くための最適解が見つかりやすくなるでしょう。
②事象を組み合わせるスキル
プログラミング的思考を身に付けることで、分解した事象を組み合わせ、最適な道筋を作るスキルも身に付きます。
たとえば、野菜炒めを作る際の過程を「野菜を切る」「調味料を入れる」「炒める」という要素に分解したとします。
組み合わせスキルがあれば、これらの要素を最適な順番で組み合わせることが可能です。
実際のプログラミングでも、分解した要素を組み合わせて目的を達成する作業や流れがあるため、こういったスキルが身に付くのです。
③事象を抽象化するスキル
抽象化するスキルとは、学習の中から重要なポイントを抽出し、別の物事に応用するスキルです。
たとえば、野菜炒めを作る過程で学んだ「野菜に火を入れてビタミンなどの栄養素を閉じ込めることで甘味やコクが深まる」という情報を抽象化することで、他の料理にもその手法を活かせるようになります。
抽象化するスキルを身に付けることで、目的達成に必要な要素を効率的に発見できるようになるでしょう。
④事象をテストするスキル
事象を分解し、組み立てた後、頭の中でテストすることができれば、目的達成の成功率を向上させることが可能です。
プログラミングでは「頭の中で構築したプログラムをテストする」→「修正する」→「テストする」という過程を繰り返すため、自然とこのテストスキルが身に付きます。
⑤事象を一般化するスキル
一般化するスキルとは、自身が目的達成した際の過程を形にして、誰でもできるようにするスキルです。レシピ本やゲームの攻略本などをイメージすると分かりやすいでしょう。
一般化するスキルがあれば過去の成功体験を活かせるようになるため、現状の問題や壁などを突破しやすくなります。
このように、プログラミング的思考を鍛えることによって身に付くスキルは、生きていくうえで役立つことが非常に多いです。
紹介した5つのスキルを小学生のうちから磨くことができれば、将来的にも大きな武器になるでしょう。
小学校からプログラミング的思考を身に付ける方法
①ゲームで楽しく学ぶ
プログラミング的思考は、ゲームで楽しみながら学ぶことが可能です。
もちろん、Switchやプレステーションなどのゲーム機でただ遊ぶだけでは、プログラミング的思考は身に付きません。プログラミング的思考が鍛えられるゲームには、ある条件があるためです。
プログラミング的思考が鍛えられるゲームの条件は
- プログラミングの概念を取り入れている
- ゲームを進めるうえで論理的思考が求められる
といった2つの要素を含んでいることです。
例えば、子どもから大人まで大人気のゲーム「マインクラフト」をうまく活用することでプログラミング的思考を身に付けることができます。
現在では、マインクラフトを使用した子ども向けのプログラミングスクールも多く存在するため、スクールでプログラミングを学ばせることも視野に入れてみてはいかがでしょうか?
▼無料で14日間マインクラフトでプログラミング学習をスタートしてみる
②工程を意識して料理を作る
工程を意識しながら料理を作ることで、プログラミング的思考が身に付きます。何を作るのかにもよりますが、小学校低学年からでも実践は可能です。
たとえば、夕食にハンバーグ、お味噌汁、サラダ、白ご飯の4品を作る際に「どのおかずから作るべきか」「どの順番で作っていくべきか」などの工程を意識することでプログラミング的思考が鍛えられます。
また、料理が完成した後に「料理工程」「美味しさ」などをまとめることで「抽象化スキル」を鍛えることも可能です。
③買い物のルートを考える
買い物の際に「店内でどういったルートを辿るのが最も効率良いか」を考えることでプログラミング的思考を鍛えることにつながります。
お母さんと一緒であれば、小学校低学年からでも取り組むことが可能です。
ルートを考える際の手順は下記を参考にしてください。
- スタートとゴールを設定する
- どこに何を売っているのかを把握する
- 先に買うものと後に買うものを決める
- 最短距離かつ最短時間になるルートを作成
- 買い物にいく
- 実際にどうだったのかを話し合う
買い物先が一店舗ではない場合は「重いもの」「冷えているもの」などを考慮しながら買う順番を考え、最も効率の良いルートを導き出します。
タイムアタック制にするとゲーム性がでてより楽しめるでしょう。
さいごに
本記事では「プログラミング的思考を身に付ける必要性」「プログラミング的思考の身に付け方」などを紹介しました。
プログラミング的思考は、これからの日本を生きていくうえで必要不可欠なスキルと言えます。
また、大学入試では問題としても出題されますから、将来的なことを考えると早いうちから身に着けておきたいところです。
小・中・高校生向けプログラミングスクールデジタネでは、小学校低学年から楽しくプログラミング的思考を身に付けられるオンライン教室を用意しています。
今なら14日間の無料体験キャンペーンもおこなっていますので、興味がある人はぜひお気軽にお問い合わせください!
「ライフスタイルとしての学び」を提供するEdTech Companyとして、最新テクノロジーを活かしたデジタル教育を提供。
マインクラフトやRobloxといった子どもに大人気のゲームを活用したプログラミング教材を提供する「デジタネ(旧D-SCHOOL)」を運営。また、小学校・中学校・高等学校向けにプログラミングやクリエイティブ授業を提供。