プログラミング教育とは?

はじめに…

2020年に小学校での「プログラミング教育」が必修化されました。

現在、インターネット(特にスマホ)の普及に伴い、いつでも、どこにいても情報を簡単に手に入れることできるようになりました。

その中には、ニュースのように正確な情報やわからないことを解説してくれるような情報、事実とは異なる誤った情報(意図的、無自覚に関わらず)など、さまざまな情報が混在しています。

これら生活のいたるところにあふれている情報の中から、自分自身で適切に取捨選択して、活用していくことがこれからの社会ではとても大切になってきています。

情報格差(デジタルデバイド、デジタル格差)とは?

特にコロナ禍以降、「情報格差(デジタルデバイド、デジタル格差)」も拡大しています。

情報格差とは、パソコンやインターネットなどの情報通信技術を使える人と使えない人との間に生じる格差のことです。

これは、単にデジタル端末の操作ができる、できないの問題だけではありません。

信頼できるサイトにアクセスして正しい情報を得られるか、悪意のある情報を見分けられるか、といった情報取得能力のほか、情報の見極めや判断力も、情報格差に起因します。

大きな括りでの「情報格差」とは、これらの差により知り得る(すでに持っている)「情報量や質」に差が生じているということです。

プログラミングとは…

プログラムとは…

インターネット上のサイトやサービス、パソコンやスマホ、ゲーム機などのアプリ、炊飯器や冷蔵庫、カーナビなどの家電を制御するために使われる「ソフトウェア」のことを指します。

※ ソフトウェアの反対は「ハードウェア」 となります。

プログラミングとは…

コンピュータやさまざまな機器などを 制御したり、指示を出すためにソフトウェアを作る(プログラムを書く作業)のことです。

プログラムは思った通りには動かない。書いたとおりに動く。

コンピュータは魔法の道具ではなく、またプログラムは曖昧な指示で正確に動くことはできません。

日本語を扱うのであれば、その場の雰囲気や空気を読んで意味を読み取ることができますが、コンピュータは、あくまでゼロとイチの電気信号で動いています。

そのため、何をしてほしいか明確な指示が必要です。

入力を1つまちがえただけで、動くプログラムは動かないプログラムになります。

そのため「言語化」もプログラミングの重要な要素かもしれません。

プログラミング教育のねらい

このような社会情勢を考慮してプログラミング教育が新しく導入されました。

必修化といっても「プログラミング」という教科が新しく設けられるわけではありません。

「算数」「理科」「音楽」「総合的な学習の時間」など、既存の教科の中で学習を進めていくイメージです。

また、どの教科や学年で、どのような授業内容のプログラミング教育を実施するかは、各学校に一任されています。
(パソコンを使わずに学ぶこともあります)

新学習指導要領での位置づけ

文部科学省の「小学校プログラミング教育の手引(第三版)」を基に小学校、中学校におけるプログラミング教育の位置付けについて簡単に補足します。

  • 小学校:文字入力や基本的なコンピュータ操作を習得するとともにプログラミング的思考を育成
  • 中学校:技術・家庭科(技術分野)でプログラミングや情報セキュリティに関する技術を学習

文部科学省は「コンピュータの仕組みを正しく理解して活用する方法」を習得し、それを通じて「プログラミング的思考」を育むことをねらいとしており、子どもたちが「プログラミング言語の習得」を目指すようなテクニカルなことを学ぶことは目的とされていません。

小学校におけるプログラミング教育のねらいは大きく3つあります。

① プログラミング的思考を育む

プログラミング的思考とは… 「目的を達成するためにすべき事柄や必要な物事を順序立てて論理的に考える力」とそこで導き出した答えに向けて「計画的に実行する能力」を指します。

子どもが自分自身で考えて行動(論理的思考力、判断力、など)、表現する力を伸ばすこと (想像力、表現力、など)です。

「プログラミング的思考」を簡単にまとめると…「どのようにすればうまくいくか」を順番に考えていく力のことです。

「プログラミング的思考」では、エラーや失敗を通じて学ぶことが重要視されています。

たくさん失敗して、そこから試行錯誤して目的を達成することで、「柔軟な思考」と「問題解決能力」が養われることが期待されています。

② 身近な問題の解決やより良い社会を築こうとする態度を育む

文部科学省の「教育の情報化の手引き-追補版-(令和2年6月)第3章」には、プログラミング教育において次のような資質・能力を育むと記載されています。

小学校

身近な生活でコンピュータが活用されていることや,問題の解決には必要な手順があることに気付くこと

中学校

社会におけるコンピュータの役割や影響を理解するとともに,簡単なプログラムを作成できるようにすること

高校

コンピュータの働きを科学的に理解するとともに,実際の問題解決にコンピュータを活用できるようにすること

小学校では、「生活に関わる機器がプログラムで動いていること」「プログラムが日常生活のさまざまな場面で使われており、生活を便利にしていること」といった「気づき」が重視されています。

こうした気づきから、中学校以降での学習の基盤となる知識を習得することを目的としています。

③ 各教科等での学びをより確実なものとする

プログラミング教育は独立した教科ではなく、算数や理科、総合的な学習の時間などで幅広く扱われます。

そのため、プログラミング学習そのものを目的とするのではなく、その教科への理解を深めるための手段としても活かされます。

むすびにかえて…

プログラミング教育では、論理的思考力や創造性、問題解決能力などを育むことを期待されていますが、一般社会では「問題解決力」よりも「問題発見力」の方が重視される傾向にあります。

問題発見力が高い人は次のようなことを自然に行っています。

  • 好奇心を強く持っており、あらゆる物事に対して「なぜ」という疑問を投げかけます。
    何気なく行っていることに対しても「どうしてこのようなことをしているのだろう」「よりよいやり方はないだろうか」と考えることが不可欠です。
  • 課題の本質を見抜く「分析力」も重要です。
    現状の課題だけでなく、「あるべき姿」(理想)とのギャップから問題に気づくことも多くあります。
  • 失敗を失敗と思わずに、新しい経験として次の成功に向けてチャレンジしていく姿勢もあります。

大切なのは、評論家的な視点だけでなく、問題点が見つかったときはその解決案も一緒に提案できるようになると、将来への視野が大きく広がるように思います。

また、前述していますが思ったことを「言語化」する力も今後求められる力になっていくでしょう。