自分が意図する一連の活動を実現するために、どのような動きの組合わせが必要であり、一つ一つの動きに対応した記号をどのように組み合わせたらいいのか、記号の組合わせをどのように改善していけば、より意図した活動に近づくのか、ということを論理的に考えていく力
【プログラミング教育の目的とは】何のため?必修化の理由は?まとめて解説!
2020年から、小学校でプログラミングの学習が開始されます。しかし実際のところどのような勉強をするのか、教育現場や保護者の間ではまだ十分に認知が広がっているとは言えない状況です。
「プログラミング教育ってどうして必修化になるの?」「本当に必要なの?」と思う方も多いのではないでしょうか。
この記事では、社会的な背景などをもとに「どういった目的でプログラミング教育が必修化されるのか」「なぜ必修化されるのか」について詳しく解説します。
プログラミング教育の目的は「思考力」の育成
プログラミング教育の目的は考える力、すなわち思考力を身につけることです。
文部科学省は、プログラミング教育を通して育成する思考力を「プログラミング的思考」と呼んでいます。プログラミングに関するある特定の技術ではなく、国語や算数などの科目、日常生活、社会に出た後などあらゆる場面で生かすことのできる汎用的な能力です。
では「プログラミング的思考」とは何でしょうか。新学習指導要領と同時に公示された「学習指導要領解説」で以下のように定義されています。
端的に言うと、プログラミング的思考とは「コンピュータやプログラミングの概念にもとづいた問題解決型の思考」のことです。論理的思考や創造性、問題解決力など様々な要素から成り立ちます。
コンピューターは何かしらの処理を実行する際、処理をする対象を細かく分けて実行したり、繰り返しや条件分岐などを用います。大きなアプリケーションであっても、処理を細かく分け、実行しやすくしています。
プログラミング的思考とはつまり、目的やゴールから逆算し物事を順序立てて考え、結論を導き出し、実行することなのです。
この力は社会で生活する上で活きてきます。何か大きな問題、複雑な課題が立ちはだかったとしても、まずはそれらの問題を小さな単位に分解し、取り組みやすくしたり、適切な打ち手を検証したりと、現実社会の問題解決にも応用することができます。
プログラムには言語の文法やコーディングスキルは欠かせませんが、それらは時代とともに移り変わっていきます。知識を覚えるのではなく、自ら考え、それらを形にしていくプログラミング思考を身につけるためのプログラミング教育なのです。
コンピューターに処理を実行されるには、以下の手順を踏む必要があります。
①どのような処理をさせるのか明確にする
②どのような動きをどのような順序で実行させるのかを考える
③命令をコンピューターが理解できる言語に置き換える
④指示をどのように組み合わせれば自分が考える動作を実現できるかを考える
例えば、コンピュータで正三角形を書く場合、「正三角形を書いて」のような命令は用意されていません。なので、コンピューターが理解できる命令を組み合わせ、それを実行させることを考える必要があります。
正多角形がもっている「辺の長さが全て等しい」、「角の大きさが全て等しい」、「円に内接する」、「中心角の大きさが全て等しい」のような正多角形の性質などから、どのように指示すれば意図した図形が仕上がるかを考えていくのです。
プログラミング的思考が重要視される理由としては、社会構造の変化が挙げられます。
IoT(モノのインターネット)やAI(人工知能)、ビッグデータなどのテクノロジーによって産業の形は変わりつつあります。これは第4次産業革命と呼ばれており、業務効率性や生産性は従来と比べものにならないほど飛躍的に向上します。先進国ではテクノロジーを活用したシステムの導入が進められています。
今後は身の回りにあふれている情報やICT(情報通信技術)を、能動的に、目的のために活用できるスキルが必要となります。そのスキルこそが発想力や論理的思考力、すなわち、プログラミング的思考なのです。
またAI(人工知能)の台頭によって現在の仕事の半数がなくなるとさえ言われています。しかしAIを駆使する全く新しい仕事が生まれるだろうと予測されているのも事実です。
数年後、数十年後の社会では、情報やICTに対し受け身の姿勢ではなく、自ら考え行動し、新しい仕事を生み出していく必要があります。
つまり社会構造の変化により自ら考える力がより重要になってきているのです。これがプログラミング的思考が重要視される理由です。
プログラミング教育必修化の3つの誤解
2020年度より順次施行される予定の学習指導要領では、小学校から高校でプログラミング教育が必修化されます。
プログラミング自体、保護者の間はもとより世間一般にも十分に周知されているわけではありません。「そもそもプログラミングとは何か」という疑問や「パソコンに向かって複雑な文字を打ち込んでいく」というような漠然としたイメージをお持ちの方も多いです。
そのため「プログラミング学習必修化」に関しても多くの方が以下のような誤解をされています。
誤解①:「プログラミング」という教科ができる
誤解②:コーディング(プログラムを書くこと)スキルを身につける
誤解③:パソコンを使って授業する
これらの誤解について解説していきます。
「プログラミング教育」というと”英語”や”家庭科”のように新たな教科として日課表に加えられるように思われるかもしれません
しかし、少なくとも現在定められているの指導要領改訂では「プログラミング」という教科が新たにできるわけではありません。
あくまで理科や算数などの教科に一部プログラミングの要素が組み込まれる程度です。既存の教科にプログラミングのエッセンスが取り入れられた授業が行われます。
既に学校教育で扱っている授業の一部にプログラミングが追加されるという考え方が正しいでしょう。
文部科学省「小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)」では、「プログラミング教育を行う単元を各学校が適切に位置づけ、実施」とあります。
また文部科学省の稲葉敦氏は以下のように述べています。
小学校におけるプログラミング教育を必修化するといっても、コンピュータに関する新しい教科が設けられるわけではありません。算数や理科など既存の教科の中で、プログラミングを取り入れた学習が実施されることになり、何年生の、どの教科で、どんな内容を何時間学習するのか、といった具体的な中身については各学校が判断します。(出典:教育ICT総合サイト)
どのようなプログラミング教育を行うかは各学校の裁量に任せられていることがわかるでしょう。
参考:小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)
参考:教育ICT総合サイト
プログラミングとは、プログラミング言語を用いてパソコンに計算などの処理を指示し、実行させるというものです。(コンピューターへの命令プログラムを書くことをコーディングと呼びます)
システムエンジニアやプログラマーは、RubyやPHP、Java、C#と呼ばれる言語を用いて、様々なシステムを構築しています。
保護者の中には、プログラミング言語やコーディングのスキルよりも、国語や算数などの科目に力を入れるべきだと考える方もいらっしゃるでしょう。
しかし今回必修化されるプログラミング教育は、プログラミング言語やコーディングスキルを学ぶものではありません。
文部科学省の有識者会議の取りまとめでは、プログラミング教育の目的について「プログラミング的思考などを育むことであり、コーディングを覚えることが目的ではない。」と定められています。
前述の通り、プログラミング教育必修化の目的は、「思考力」を育成することです。論理的思考や物事を分析し、正確に認識する力は国語や算数、その後学ぶ科目のベースとなります。
こういったスキルは、学校の勉強だけでなく、普段の生活や社会に出たあともあらゆる場面で応用できるものです。
プログラミングの概念に「配列」というものがあります。これは数字や文字列などの値を格納する変数(値を入れる箱のようなイメージ)です。プログラミングでは配列をうまく利用することによって大量のデータを処理することがあります。
例えばこれは料理レシピなどでもよく見られる考え方です。
レシピで調味料の指示の際、
A:鳥胸肉 200g
A:玉ねぎスライス 1/4
B:ごま油 大さじ1
B:にんにくチューブ 1〜2cm
ステップ1:Aを強火で加熱する
ステップ2:Bを混ぜ合わせ、Aに入れる
のように書かれているのを見たことはないでしょうか。このレシピでは複数の要素をひとまとめにして、表記を簡潔にしています。これは簡単な例ですが、日常でもこのようなプログラミング的思考を使うことは多くあるのです。
プログラミング教育は、言語やコーディングの知識ではなく、汎用的な思考力を身につけるものとなっています。
小学校向けのプログラミング教育は、必ずしもパソコンを使うとは限りません。
これは先ほど述べたように、プログラミング教育の目的は、スキルではなく「思考力」を身につけるためのものだからです。
例えば「アンプラグド」と呼ばれる学習方法は、コンピューターではなく、カードなどを用いてコンピュータの基本的な仕組みや特徴を考える方法です。
プログラミングは、「パソコンに向かってキーボードで文字を打っていく」と言うイメージがあるかもしれませんが、小学校ではまだ基本的なパソコン操作が苦手な生徒も多いはずです。
そのためパソコンを本格的に操作するのではなく、興味を持ちやすいものを使って、プログラミング的思考を身につけていくのです。
プログラミング教育必修化の理由:社会的背景
プログラミング教育の必修化には、社会的な背景があります。テクノロジーの発達によって、あらゆる課題解決にプログラミング的思考が必要となっているのです。
「第四次産業革命」は、IoT(モノのインターネット)やAI(人工知能)により、産業の形が大きく変革していくことを指します。
今やITとは全く関係のない業界でも、テクノロジーが積極的に活用されており、例えば回転ずしチェン「スシロー」では、お皿に搭載されたICチップやビッグデータ解析などでネタを決定したり、廃棄を減らしています。
またホンダやトヨタはAIによる自動運転車の開発を行っています。自動運転技術の開発はGoogleやテスラ、Uberなど世界的なIT企業も行っています。
IT・テクノロジーは私たち生活に密接しており、今後ますます欠かせないものになるだろうと考えられます。プログラミング教育必修化の背景には、このような社会構造の変化があるのです。
プログラミング教育の必修化の背景には、システムエンジニアはじめとするIT人材の不足問題も存在します。経済産業省の「IT人材の最新動向と将来推計に関する調査結果」では、2020年に36.9万人、2030年には78.9万人のIT人材が不足すると予測されています。
前述の通り、今後もあらゆる分野でITが活用されると考えられますが、IT人材の数が追いつかないと言う問題があるのです。
これは日本だけでなく海外でも同様の問題があります。アメリカでプログラミング教育の推進を進めるNPO法人のCode.orgの調査では、2020年には40万人のプログラマーが足りなくなると判明しています。
プログラミングについて、Apple創業者スティーブジョブズや、元アメリカ合衆国大統領バラクオバマも以下のように発言しています。
スティーブジョブズ
この国の全ての人が、プログラミングができるようにならなければいけない。 なぜなら、”考え方”がわかるようになるからだ。ロースクールに行くようなものだよ。 全員が弁護士になるべきだとは言わないけれど、現実にロースクールに通うことは人生に役立つはずだ。 一定の方法で物事の考え方を学べるからね (出典:Learn programming to learn how to think)
バラクオバマ
プログラミングを学ぶことは、みなさんの将来にとって重要なだけでなく、アメリカにとっても重要です。 アメリカが最先端であるためには、プログラミングや技術をマスターする若手が必要不可欠です。新しいビデオゲームを買うのではなく、作ってください。 最新のアプリをダウンロードするのではなく、設計してください。 それらをただ遊ぶのではなく、プログラムしてください。誰もがプログラマーとして生まれたわけではなく、少しのハードワークと数学と科学を勉強していれば、プログラマーになることができます。あなたが、誰であっても、どこに住んでいてもコンピューターはあなたの将来において重要な役割を占めます。 あなたがもし勉強を頑張れば、その未来は確かなものとなるでしょう。 (出典:President Obama kicks off the Hour of Code 2014)
(出典:President Obama kicks off the Hour of Code 2014)
プログラミングには子供を熱中させる要素がある
プログラミングは勉強というよりパズルやゲームの感覚に近く、特に子ども向けプログラミング学習サービスはゲーム感覚で学べるものも多くあります。
例えば、子ども向けビジュアルプログラミング言語「Scratch(スクラッチ)」は、可愛らしいイラストやブロックをジグソーパズルのようにつなぎ合わせるだけの直感的な操作などから、世界中で支持されています。
プログラムは指示が正確にコンピューターへ伝われば意図した通りに動きます。一方そうでない場合はエラーになります。
思ったように動けば嬉しいし、うまくいかなければ悔しい思いをするでしょう。
こういった失敗とチャレンジを繰り返して成功した時に得られる達成感は、子どもの自信や自己肯定感につながります。子どものうちにしっかりと失敗をし、考え、その結果うまくいくという成功体験を積むことは、非常に重要なことであると言えます。
プログラミング教育必修化に向けて保護者は何を準備すれば良いのか
中には、パソコンやITデバイスに苦手意識を持っている子どももいるかもしれません。ご家庭では、それらが身近にある環境を作り、子どもの苦手意識や抵抗をなくすことを目指しましょう。
子どもがプログラミングに興味を持った際は、十分に学べる環境が必要となります。
パソコンやタブレットなどがご家庭にない、もしくは古いものしかないという状況であれば、最低限の学習環境を整える必要があるかもしれません。
また最近ではタブレットだけでプログラミングを学べるサービスも多いです。余裕があれば、子ども向けの学習サービスを受講させてみるのも良いでしょう。
保護者が全くわからない、よりは、ある程度子どもがどのようなことを学んでいるか理解している方が好ましいでしょう。
子ども向けプログラミング学習サービスは親子で学べるものも多く存在します。これを機に子どもと一緒に学んでみるのも良いかもしれません。
プログラミング教育の先駆的な事例
必修化に先駆けて、自治体をあげてプログラミング教育に力を入れている事例もあります。
佐賀県武雄市では、一部の小学校で2014年からプログラミングの授業を取り入れています。小学1・2年生は先生が授業を行い、2年生の一部と3年生は、民間企業であるDNAのエンジニアによる支援を受けながら授業を行っています。
千葉県柏市では、民間企業・学校・官公庁の協力をもとに教育改革が行われており、2017年度より市内にある42校すべての公立小学校で、Scratchを使ったプログラミング教育をスタートしています。
海外のプログラミング教育事情
イギリスでのIT教育はなんと1990年代から始まっています。2013年からはアルゴリズムの理解やプログラミング言語の学習に力を入れています。
ナショナルカリキュラムによると、「デジタルワールドへの積極的な参加ができるレベルのデジタルリテラシーを獲得できるようにする」ことを目的としているようです。
ロシアは世界で唯一、小中高でプログラミング教育を必修化しています。
2009年から初等教育(日本でいう小学校にあたる年齢)にプログラミングの授業が導入されました。アルゴリズムの学習や図形を描いたり、データの集計・分析をしたりしています。
エストニアではプログラミング教育推進プログラムが2012年から開始されました。1~12年生でプログラミングの授業を選択できるようになっています。
エストニアがプログラミング教育を開始した背景には、IT人材不足があります。エストニアは国家単位でIT政策に力を入れており、ブロックチェーン技術を活用して行政サービスが運営されており、世界最先端の電子国家として注目が集まっています。
シンガポールは、90年代にはIT分野の教育を導入していたと言われています。2014年にソフトウェアプログラミング教育を開始しています。
シンガポールはScience(科学)、Technology(技術)、Engineering(工学)、Mathematics(数学)の総称「STEM教育」に力を入れており、国防費と同じくらいの国家予算を教育に当てるなど、国をあげて教育に取り組んでいます。
さいごに
プログラミング教育必修化は、論理的に考え、創造する・問題解決をする「プログラミング的思考」を育成するために行われます。
若い世代ほど「デジタルネイティブ」であるイメージがあるかもしれませんが、直感的に操作できるスマートフォンの普及により、普段パソコンを使う機会がないという子どもも多いようです。
コンピューターに触れる機会の格差をなくすためにも、小学校での必修化は必要なものなのかもしれません。
まずはゲームやパズルのような感覚で学習を始めることで、苦手意識を持たず、プログラミングに触れることができるでしょう。
※こちらの記事は、『TECH::NOTE』コンテンツから転載をしております。
>>元記事はこちら
TECH::NOTE
未経験から最先端のテクノロジー人材へTECH::CAMP(テックキャンプ)、10週間でエンジニア転職実現までサポートを行うTECH::EXPERT(テックエキスパート)、これらのサービスを運営する株式会社divのオウンドメディアです。
RELATED関連記事
RANKING人気記事ランキング
米国優位が揺らぐ?ひろゆき「CPUの進化でGPU神話って崩壊しません?」【AI研究者・今井翔太が回答】
NEW!
表面的なテクニックより「基礎基本の重要性」に気付かされた一冊【Node.js 日本ユーザーグループ代表・古川陽介】
AWS認定資格10種類を一覧で解説! 難易度や費用、おすすめの学習方法も
正論モンスター化に要注意!ぎくしゃくしない「ミスの指摘」のコツ【澤円「コミュ力おばけ」への道】
社会で成功するゲーマーに、ひろゆきが聞く「現実世界を攻略できないゲーマーに足りないものって何すか?」
JOB BOARD編集部オススメ求人特集
タグ