2020年度より、小学校から「プログラミング教育」がスタートします(※)。言葉だけを聞くと難しく思われがちですが、実は、家庭でもできる「身近なこと」で幼児のうちからプログラミング思考について学ぶことができるのです。

この記事では、プログラミング思考とは一体どういったものなのか、また子供の将来にも多大な影響を与える「ロジカルシンキング」についても解説していきます。未就学児から家庭で学べる方法についても合わせてご紹介しますので、最後までおつきあいください。

(※)新学習指導要領によると
小学校は令和2年(2020年)度から必修化
→文字入力など基本的な操作を習得、新たにプログラミング的思考を育成

中学校は令和3年(2021年)度から全面実施
→技術・家庭科(技術分野)においてプログラミング、情報セキュリティに関する内容を充実

高等学校は令和4年(2022年)度から学年進行で実施
→情報科において共通必履修科目「情報Ⅰ」を新設し、全ての生徒がプログラミングのほか、ネットワーク(情報セキュリティを含む)やデータベースの基礎等について学習

2020年度から開始!小学生からの「プログラミング教育」

新しい時代を生きる子供たちに必要な力を育むため、文部科学省は、2020年度より新小学校学習指導要領を全面実施します。その中でも注目されているのが、新しく追加される「プログラミング教育」です。コンピュータがプログラムによって動いていることを学び、いかに社会で活用されているかを体験しながら学んでいきます。

実際には、小学校の科目として「プログラミング」が追加されるわけではありません。国語や社会など、既存の科目で「プログラミング教育」が組み込まれていきます。
いわゆる”C言語”や”BASIC”などの「プログラミング言語」を覚えてコーディング(プログラミング)するといった、「知識や技能」スキルだけを学ぶのが目的ではないのです。

小学校の教育では、思考力や判断力・表現力に関わる「プログラミング思考」や、学びに向かう力・人間性を通じてコンピュータをよりよい人生や社会づくりへ活かそうとする態度を養うことが目的とされています。

「プログラミング思考」って一体ナニ?


これからを生きる子供たちにとって必要となってくる「プログラミング思考」ーー。親世代の私たちが小学生の頃に受けた教育には、含まれなかった要素です。一体、どういうことを指すのでしょうか?

「プログラミング思考」の定義

「プログラミング思考」は、コンピュータやプログラミングの概念に沿って問題を解決するときの”思考プログラム”として考えられています。

文部科学省による「小学校段階におけるプログラミング教育の在り方について」で述べられているプログラミング思考は、

”自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号をどのように組み合わせたらいいのか、記号の組み合せをどのように改善していけばより意図した活動に近づくのか、といったことを論理的に考えていく力”

と定義されています。

つまり

  • 物事を正しく分類や分析をする力(論理的思考)
  • 物事同士の関係性を考える力(システム思考)
  • の2つが重要となってくるのです。

    これら2つの力を組み合わせることで「プログラミング思考」を向上させることができます。単純にプログラミングを学ぶ事で得られるのではなく、概念をしっかりと理解し、段階を踏んで身につけることがポイントとなるのです。

    「論理的思考」「システム思考」とは?

    マンガでやさしくわかる小学生から始める論理的思考力」でも述べられている「論理的思考」は「ロジカルシンキング」とも呼ばれており、問題を要素に分けて整理して結論を導く考え方を指します。
    多くの方が「複雑な問題において、たったひとつの正解をうまく見つける方法」と考えられていますが、「目の前にある情報を使って、目標により近づくための方法」というのが正しい意味となります。

    さらに、マサチューセッツ工科大学の経済学者であるPeter Michael Senge(ピーター・センゲ)が1990年に出版した「The Fifth Discipline(邦題:最強組織の法則)」により「システム思考」という考え方が世界中に広がりました。
    ここでは「システム思考」を「物事は単体として見るのではなく、お互いの関連性や関係性にも着目し、全体的を動的に変化を捉える見方をする考え方」としています。
    つまり、一つのことだけに注目せず、すべてのことが他の全てと繋がり合っていると理解する必要があるのです。

    ビジネス書でも度々登場するこれらの思考能力(思考方法)は、「プログラミング思考」を培うのに必須であり、これからを生きる子供たちにとって必要となってくる力です。しっかりと問題を見据え、確実な方法で効率よく解決していく能力を、子供の頃から習慣として身につけておくのが良いでしょう。

    これからの時代、なぜ「プログラミング思考」が必要?

    自動車の自動運転やAIが搭載された装置をはじめ、日常生活で利用するほとんどのインフラはコンピューターシステムによって運用されています。そのことから、プログラミングやプログラムの技術は必須になっていくことは容易に推測されるでしょう。

    著書「教養としてのプログラミング的思考:今こそ必要な「問題を論理的に解く」技術」でも述べられているように、期待通りに動いているコンピュータは神業的な能力を発揮しますが、間違ったプログラムを渡すと「指示された通り」に間違った処理を実行します。
    これから避けて通れない”コンピュータ”と付き合い続ける社会のためにも、プログラムについて正確に知っておくことが今後重要となってくるのです。

    しかし、プログラミング言語を正しく使って「動作するプログラムを仕上げる能力」と、プログラミング言語に直接依存しない「プログラム処理に適したアルゴリズム(道順)を考える能力」は、基本的に属性が異なります。
    このうち「アルゴリズムを考える能力」の根底には「プログラミング思考」が必要となってきます。正確なアルゴリズムを考える力は、社会生活の中でも状況を理解し、自らの問題として解決する論理的思考の実践に役立ちます。

    プログラミングのように「考えを整理することができる力」は、さまざまな問題を解決するための方策として、これからの社会に活用していくことでよりよい生活へと導いてくれるでしょう。

    小学校でのプログラミング教育に戸惑わない!未就学児におすすめの《ロジカルトレーニング》とは?

    小学校入学を控え、未就学児のうちから家庭でもできるプログラミング教育を始めてみませんか?
    そのためには、親がしっかりと「プログラミング思考」について理解し、教育の目的を見据えることがとても重要になります。

    ここからは、プログラミング的思考を構成する考え方やトレーニング方法などをご紹介します。

    プログラミング的思考を育む、4つの「考える力」と「活動」

    前述のとおり、文部科学省による「プログラミング的思考」の定義は、

    ”自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号をどのように組み合わせたらいいのか、記号の組合せをどのように改善していけばより意図した活動に近づくのか、といったことを論理的に考えていく力”

    とされています。

    そこで、作新学院大学の高山裕一特任教授が論文で述べている「プログラミング的思考を育むための4つの考える力と学習活動」についてご紹介しましょう。
    ここでは問題解決にあたり、

  • 1.構造化
  • 2.順序性
  • 3.汎用性
  • 4.最適化
  • という4つの段階を、プログラミング思考のキーとしています。

    まずひとつめの「構造化」とはなんでしょうか。
    これは、トップダウンやボトムダウンを行って関係性を表現し、”大きな問題”を”小さな問題”に分けることで、問題を解決しやすくすることを指します。
    具体的には、

  • 自分がやりたいことをはっきりさせる
  • 複数の事象や言動から共通点を見つけて仲間分けをする
  • 一目でわかるように整理する
  • というものです。

    次に「順序性」です。
    これは、時系列で並べて整理し、目的に応じて適切なものだけを取り出すべく余計な事を省いて省力化させ、関係性を単純化することを指します。
    具体的には

  • 起承転結や時系列で整理する
  • 想定されるミスなどを予測する
  • 簡単にできるマニュアルを作成する
  • という内容です。

    3番目の「汎用性」とは、仕事を単純化し、再現性を意識しつつ、いろいろな場合をイメージすることを指します。
    これは、

  • できるだけ簡単にまとめる
  • 次に生かせるツールを作る
  • 相手を考えて、どうなるか予想する
  • というルーツです。

    最後に「最適化」です。試行錯誤をしながら手順を組み合わせ、合理性を追求し評価することを指します。

  • 反省を生かして新しい方法を考え、情報を取り入れて改善する
  • もっと早く・簡単にできることを考える
  • 結果を客観的に見てみる
  • となります。

    「プログラミング的思考」を育む教育はこうした要素を経て進めていきますが、流れとしては次のようになります。

  • 問題を発見する
  • モデル化(分解、抽象化、一般化、組み合わせによって順次、繰り返し、条件分岐を行う)
  • コーディング(プログラミング言語の理解)
  • 運用・評価(分析や振り返り)
  • これらを順序を立てて行うことが「論理的に考える力の育成」につながるのです。

    家庭でできる!「お手伝い」で学ぶ未就学児のプログラミング的思考の育成


    日常生活で何気なく行う動作も、プログラミング的思考を育てるのに充分役立ちます。少し意識することで実践可能なことが多いので、ぜひご家庭でも実践してみてください。

    ◎料理のお手伝い

    《サンドイッチを作る》シーンでも、プログラミング的思考の育成ができます。

    まず、レシピの手順によって「順序の組み立て」を学ぶことができます。その際”パンを並べる”、”マーガリンを塗る”……など、書き出してみるのも良いでしょう。
    次に「どの具材であってもパンにマーガリンを塗るので、最初に全て塗っておこう」や「具材を並べて置くと、挟むときに作業がしやすい」といった工夫も挙げることができます。
    こうした工夫はまず自分で考えさせることも大切ですが、”経験”が導き出すものが多いため、理由を解説しながら教えてあげると良いでしょう。
    最後に「具をたくさん挟みすぎると食べづらい」「組み合わせると美味しくない食材がある」といった反省点など、次回に生かせる点も考えるとさらにステップアップできます。

    ◎家事のお手伝い

    大人にとっては普通のことであっても、子供にとっては初めての動作や発見もある家事。その中から「お洗濯」を例に挙げてご紹介しましょう。
    まず、洋服を洗濯機に入れる→蓋を閉める→洗剤を入れる→スイッチを入れる→洗濯物を出す→シワを伸ばす→干す……といった「順序」を学ぶことができます。例えば、そのなかで、色物と白物の衣類を分けてみる、といった「区分け」を学ぶことも可能です。

    さらに、洗剤を入れるときの分量も適量がどのくらいなのか、お母さんと話し合いながら、今回の条件に当てはめて決めることもできるでしょう。
    また、干すときにひっくり返った靴下を戻す作業が生じて手間がかかることを学ぶと、自分で脱いだ時にそのままにせず「ひっくり返してからおいておこう」という思考を学ぶことができます。自ら得た反省点を実生活で活かすことが身につくのです。
    「お手伝いをすすんでやりたがる」といった親として嬉しいポイントも多いので、ぜひ試してみて下さい。

    ◎お片付け

    家事のお手伝いが難しい低年齢でもできることに「お片付け」があります。
    まずは、絵本をたくさん出して読んだあと、本を整理して並べることを教えてあげましょう。本の種類やグループに分ける、大きさ別にして並べる、色で分ける……など、どこに読みたい本が並んでいるかわかりやすくまとめる方法があることを学べます。そうしていくうちに、お片付けも楽しみながらできるようになることでしょう。だいたい2歳前後で、そうした分け方があることを理解するようになります。
    「最後にお片付けをするのが大変だ」という反省点を学ぶことができると、「出したらすぐにしまったほうが楽だ!」というように、論理的な思考が自然と身につけることができるようになるでしょう。

    「絵本」で楽しみながら学べるプログラミング的思考

    パソコンを使わず、子供と親子で楽しみながら学べる「絵本」でもプログラミング的思考を得ることができます。

    フィンランドのプログラマー Linda Liukas(リンダ・リウカス)によって製作された「Hello Ruby(ルビィのぼうけん)」は、子供がプログラミングを学ぶ緒(いとぐち)となるように、クラウドファンディングにより資金調達して作られた話題の絵本です。
    未就学児でも楽しめるような内容になっており、前半は女の子のルビィが冒険をするパート、後半は絵本の内容を踏まえた練習問題パートとなっています。
    保護者向けの特記では、絵本の読み方、また練習問題の意図などが説明されているため、プログラミング思考について学んだことがない方でも安心です。

    第3弾まで刊行されているので、1冊目をクリアしたあとも続けて楽しむことができます。


    まとめ

    「プログラミング」と聞くと、難しいプログラミング言語を使ったパソコン学習と思われがちですね。小学校からスタートするプログラミングは「思考力」を育成するためのもの。将来の生活や仕事に役立つ力の育成です。

    幼児の頃からお手伝いを効果的に行うことで、自然とプログラミング的思考が育成できるため、小学校でのプログラミング学習にもきっと何なく適応できるようになるでしょう。大人がやるより手間も時間もかかってしまいますが、子供の目線に立って、ロジカルシンキングを一緒に学びながら楽しく実践してみてください。

    ________________________________________

    【参考・引用・関連リンク】
    ■「マンガでやさしくわかる小学生からはじめる論理的思考力」著:苅野進 日本能率協会マネジメントセンター

    ■「教養としてのプログラミング的思考」草野 俊彦(著) サイエンス・アイ新書

    ■文部科学省による「小学校段階におけるプログラミング教育の在り方について」
    http://www.mext.go.jp/b_menu/shingi/chousa/shotou/122/attach/1372525.htm

    ■高山 裕一, 生活科におけるプログラミング的思考の育成、教職実践センター研究紀要 第6号 2018年2月, P31-40
    https://sakushin-u.repo.nii.ac.jp/?action=repository_action_common_download&item_id=1113&item_no=1&attribute_id=22&file_no=1

    LINEで送る