2020.07.03

【プログラミング教育】プログラミング的思考とは?学ぶ意義と内容、鍛え方を徹底解説!

文部科学省による小学校のプログラミング教育必修化により、一躍注目されることになった“プログラミング的思考”。今回は、その背景に触れつつ、「プログラミング的思考とは何か?」「論理的思考との違いはなんなのか?」を深掘りします。「プログラミングって難しそう」と不安な保護者も多いと思いますが、まずはその狙いや具体的な意味を理解しましょう。

  • rss
  • google
  • bing

なぜプログラミング教育が必修化されたのか

そもそもなぜプログラミングを小学校で教えることになったのでしょうか。

 

そのヒントは、安倍首相がプログラミング教育の必修化を初めて明言した、2016年の産業競争力会議での発言にありました。

 

「(前略)日本の若者には、第四次産業革命の時代を生き抜き、主導していってほしい。このため、初等中等教育からプログラミング教育を必修化します。一人一人の習熟度に合わせて学習を支援できるようITを徹底活用します。(後略)」

引用元:首相官邸 平成28年4月19日「第26回産業競争力会議」での発言より抜粋

 

発言の内容を詳しく見てみると、「第四次産業革命時代を生き抜くため」や「既存の枠組みを変えて社会課題を解決するビジネスを生み出し、国際競争に勝つ」など、日本のIT人材の育成や国際競争力の向上を意図していることがうかがえます。

 

文部科学省の『小学校プログラミング教育の手引』を見てみても、諸外国のプログラミング教育導入の動きに触れており、プログラミング教育の必修化は日本の国力を高める政策の一環ということが分かります。

 

近い未来、あらゆるものがコンピューターで制御される時代がやってきます。そんな中、コンピューターの仕組みを知らずに使っているような人材が自らビジネスを展開できるのでしょうか。

 

プログラミング教育の必修化の裏には「多くの日本人が下請けに甘んじる未来が来てしまうのではないか」という政府の危機感があることは、内閣府や各省庁が公表しているさまざまな資料から推察できます。

 

世界が認めるIT大国インドでは10年以上も小学校のプログラミング教育を実施していることを考えてもプログラミング教育の必修化が、これからの国際社会での生き残るためにいかに重要か想像できるのではないでしょうか。

 

 

 

小学校で学ぶのは“プログラミング的思考”という思考法

では、小学校のプログラミング教育では何を教えるのでしょうか。それは、“プログラミング的思考”です。

 

しかし、プログラミング的思考といわれても分かりにくいですよね。後ほど詳しく説明をしますが、まずは、プログラミング的思考とは、プログラミングそのものではなくプログラム作成に欠かせない考え方や思考法のことだと捉えてください。

 

文部科学省によると日本のプログラミング教育は、プログラミング言語を実際に使いこなせるようになったり、コーディングを覚えたりすることが教育の主目的ではありません。プログラミングの実践的なスキルではなく、あくまで思考法に重きを置いているのです

 

中学・高校ではカリキュラムの中にプログラム作成やデバック、情報デザインなども登場するのですが、その段階になっても、基本的にはスキルよりもプログラミング的思考を教えることを大切にしているようです。

 

 

プログラミング教育はIT職を目指すためのものではない

文部科学省『小学校プログラミング教育の手引』には、プログラミング教育は「将来どの職業につくにしても極めて重要」という記述があります。

 

つまり、プログラミング教育は、プログラマーやエンジニアを目指そうとしているわけではないさまざまな職業を目指す子どもたちにも役立つものだということ。だからこそスキルではなく応用が効く思考法にフォーカスを当てているのです。

 

コンピューターに関する仕事に就かないとしても将来に役立つものを残してあげたいという、文部科学省なりの優しさなのかもしれません。

 

 

 

プログラミング的思考と論理的思考の違いとは?

ではいよいよ、プログラミング的思考とは何なのかということを詳しく説明していきましょう。文部科学省が出しているプログラミング的思考の定義は下記の通りです。

 

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

 

引用元:文部科学省「小学校段階におけるプログラミング教育の在り方について」

 

正直、このままだと分かりづらいですよね。もう少しかみ砕いて説明すると下記のようになります。

 

“コンピューターがとある目的を達成するためには、どんな動きが必要で、そのためにどんな命令をするのが最適なのかを論理的に考える力”

 

例えば、卵焼きを焼くロボットをつくるとします。その場合、ロボットは人間の言葉が理解できないので、「卵焼きを焼いてくれ」と言われても焼けません。ですから、まず、材料は何が必要で、何を使ってどうするのかを、ひとつのずつ動作に分解して命令する必要があります。

 

卵焼きを焼くまでのプロセスと指示

  1. 卵を割る
  2. 卵を混ぜる
  3. フライパンを熱する
  4. 油をひく
  5. 卵をフライパンに流し込む
  6. ひっくり返す
  7. 焼けたらフライパンから皿に盛る

 

さらに、実際にロボットにやってもらうためには、これらの動きをロボットが分かる記号に置き換えて、記号同士をどのように、どの順番で組み合わせるのが一番効率よいのかを考える必要があります。

 

この時に行っている、

  • 必要な動作を分割して
  • 記号に置き換えて
  • 最適な手順で組み合わせる

ために論理的に考えることがプログラミング的思考です。

 

小学校で重視しているのは、問題を分解し、組み合わせていく過程で子どもたちに試行錯誤する体験をさせること。「なぜ思う通り動かないか」「どうやるとよりスムーズに動くのか」などと論理的に考えを巡らせる能力を育てることで、課題解決能力の高い人材を育成していくのが狙いです。

 

 

論理的思考とは何が違うの?

プログラミング的思考と似た言葉に、論理的思考というものがあります。この言葉は明確に統一された定義が存在しているわけではありませんが、「ある課題に対して筋道を立てて結論を導き出す能力」として使われることが多いです。

 

かなり似た概念なので混同することも多いのですが、大きな違いとしては、

・論理的思考は、課題から筋道を立てて結論を出す思考の全体のことを指し、

・プログラミング的思考は、目的に合わせて必要なことを分割し、記号化し、組み合わせるプロセスにフォーカスを当てた概念です。

 

 

まとめて言えば、論理的思考で物事を解決するために必要な思考プロセスがプログラミング的思考。論理的思考の中にプログラミング的思考が内包されていると言えばわかりやすいかもしれません。

 

 

 

小学校の6年間で学ぶプログラミング的思考

「小学校でプログラミング教育が必修化!」というニュースを聞くと、国語や社会などと同じように、新しくプログラミングという教科ができるわけではありません。

 

基本的には、国語、算数、理科、総合学習など、各教科の中に組み込まれることになるのですが、どの教科に組み込むのかは、それぞれの学校や教員の裁量に任されています。どんなプログラミング教育を受けるかは学校によって微妙に異なってくるのです。

 

視点を変えれば、プログラミング的思考とはあらゆる教科に関連するものであり、さまざまなジャンルで応用できる懐の深い思考法であることの証明ともいえるでしょう。

 

IT教育に力を入れている学校だと、プログラミング的思考の教育を基本としつつも、ロボットの設計・製作・制御を行う授業があったり、ホームページ作成を行ったり、スクラッチでプログラムを組んだりする小学校もあるようです。

 

環境整備など課題はまだ多い

IT教育に力をいれているかどうかに関わらず、学校には端末やWi-Fi環境など必要な設備が整備されることになっています。

 

とはいえ、現段階では地域差や家庭ごとのIT格差があり、総務省がその課題を是正する取り組みを実施していく予定です。さらに、教材の開発や指導事例集の整備、教員研修のあり方など、現場の先生たちへのフォローもクリアしていくべき課題です。

 

プログラミング教育の成功は、現場である学校と国家が一緒になって、どこまで本気で取り組めるのか次第のよう。まだ手探りの状態ではあるので、学校の本気度によって教育の質は変わっていくのかもしれません。

 

 

 

実はそんなに難しくない?プログラミング的思考のはじめ方

これまで説明したように小学校で教わるのはあくまでプログラミング的思考という考え方です。

 

普段から物事を分割し、順序だてて考えることを意識するだけでも、プログラミング的思考の下地はつくれるはず。最後に親子でプログラミング的思考を鍛えるアイデアを紹介します。

 

日常生活編

日常生活の中にもプログラミング的思考を使うことは可能です。

 

例えば、お皿洗い。お皿を台所に運ぶ→水で洗う→洗剤をつけてこする→水で洗う→乾かす→水分を拭き取る→棚にしまう…など、一連の作業を分割して考えたり、物によっては先に水につけたりする行程を増やしたり、手順を意識して効率化することも可能です。

 

単純なお手伝いであっても、動作を分割したり、手順を意識したりするとプログラミング的思考の芽生えにもつながります。

 

また、日常的に新しいテクノロジーが体験できるイベントへ参加したり、VRデバイスやARアプリなどの製品に触れたりして、子どもたちの興味を拡張することもプログラミングのきっかけづくりとして役に立ちます。

 

おもちゃ編

いくら評判の良いものであっても、自分の子どもが気にいるかどうかは別問題。自分の子どもが興味を持つものを優先して選ぶことがプログラミングを好きになる近道です。

 

最近では、少し価格も落ち着いてきて、以前は5000円代のものが2000円〜3000円にプライスダウンされていることもあるので、実際に購入する際は、通販サイトを比較するなどのリサーチすることを忘れずに!

 

また、藤井七段が子供の頃に遊んでいたというキュボロやドミノなど、アナログでもプログラミング的思考の要素が強いものがあるので、そういったものを試してみるのも良いでしょう。

 

 

教室・塾編

プログラミングの教室や塾にとっては、今回のプログラミング教育必修化は集客のチャンス。そのため、無料体験キャンペーンを行っている教室もあります。

「ドローン操縦ができます」

「コーディングやホームページ作成を重視しています」

「ロボットやAIに力を入れています」など、

教室ごとに特徴の異なるカリキュラムが用意されているのでいろいろ試してみて子どもの興味のツボを探るきっかけにしてみてはいかがでしょう。

 

また、毎週通うような教室以外にも、プログラミング教育系イベントに参加するのもいいですよね。

 

例えば、ボランティアで運営されている「CoderDojo」は、110カ国で展開されている7~17歳が対象のプログラミング道場。日本国内にも全国各地216カ所以上の道場があり、基本的には無料でさまざまなプログラミング体験をすることができます。

 

Code Dojo

 

プログラミング的思考そのものは、普段、無意識に使っていることも多いですし、応用できる範囲がとても広い概念です。

 

そのため、プログラミング的思考とはどういうものなのかをしっかりと把握した上で、日常的に意識しながら使いこなすことで、論理的に考える力を高めていくことが可能です。

 

まずは日常の生活の中に上手に取り入れていくことで、親子で楽しみながら学んでいくことから始めてみませんか。

 

<参考資料>

文部科学省「プログラミング教育の手引(第三版)」

首相官邸:産業競争力会議

 

「ソクラテスのたまご」編集部

「ソクラテスのたまご」編集部

教育に関する有識者の皆さまと一緒に、子を持つお父さん・お母さんでもある「ソクラテスのたまご」編集部のメンバーが、子どものために大人が知っておきたいさまざまな情報を発信していきます。

\ SNSでシェアしよう /

  • rss
  • google
  • bing
  • この記事が気に入ったら
    いいね!しよう

    最新情報をお届けします