2020年から小学校でもプログラミング教育が必修化になる方針となり、子ども向けのプログラミング教室も増えています。一方、「プログラミング」と聞くと、日常生活に馴染みがなかったり、難しいコンピュータ操作を思い浮かべたりする方もいるのではないでしょうか。
そこで、今回は「なぜプログラミング教育が必要なのか」「何を目指しているのか」「実際に先生は何をするのか」などについて、文部科学省の有識者会議の「小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)(平成28年6月16日)」(以下、「まとめ」)を基にまとめてみました。
1 プログラミング教育と未来の社会
「第4次産業革命」に向けて
小学校でのプログラミング教育の必修化は、2016年4月19日に政府の産業競争力会議で示された新成長戦略に盛り込まれました。
当日の議論を踏まえた安倍首相のまとめの言葉(抜粋)と会議に提出された資料から、プログラミング教育の必修化がみられます。
「日本の若者には、第四次産業革命の時代を生き抜き、主導していってほしい。このため、初等中等教育からプログラミング教育を必修化します。一人一人の習熟度に合わせて学習を支援できるようITを徹底活用します。」(内閣官房内閣広報室「産業競争力会議(平成28年4月19日)」)
(平成28年4月19日産業競争力会議 文部科学大臣提出資料)
IT業界の人材不足
必修化を推進する背景として、これからのIT業界を担う人材不足という問題が言われています。
経済産業省が2016年6月10日に発表した「IT人材の最新動向と将来推計に関する調査結果」によると、2020年に約37万人、2030年には約79万人のIT人材が不足するそうです。今後もIT関連のビジネスは拡大していくと予想される一方で、人口減少に伴い国内におけるIT人材が不足してしまう。
そこで、子どもの頃からコンピュータについて学び、IT関連で活躍する人材を育成しよう、というねらいも考えられます。
IoT、ビッグデータ、AIなどよる技術革新に伴う社会や経済システムの変化がもたらす「第4次産業革命」を生き抜くため必要とされるプログラミング教育。教育の内容は、社会や経済にも大きく関係しているのですね。
2 学校でのプログラミング教育の目的は?
次に「学校現場でプログラミング教育を実施する目的」についてみていきます。
「第4次産業革命を生き抜くための力」とは、一体どのような力なのでしょうか。
「まとめ」全体イメージ
下の写真は、教育課程企画特別部会の参考資料です。「まとめ」の全体が整理されていますので、時間のない方はこの資料を読むだけでも概要が掴めると思います。
プログラミング教育と資質・能力
「まとめ」には、プログラミング教育について次のように書かれています。
プログラミング教育とは、子供たちに、コンピュータに意図した処理を行うよう指示することができるということを体験させながら、将来どのような職業に就くとしても、時代を超えて普遍的に求められる力としての「プログラミング的思考」などを育むことであり、コーディングを覚えることが目的ではない。
プログラミング教育で育成する資質・能力については、新学習指導要領で示される三つの柱に基づいて整理されています。
【知識・技能】
(小)身近な生活でコンピュータが活用されていることや、問題の解決には必要な手順があることに気付くこと。
(中)社会におけるコンピュータの役割や影響を理解するとともに、簡単なプログラムを作成できるようにすること。
(高)コンピュータの働きを科学的に理解するとともに、実際の問題解決にコンピュータを活用できるようにすること。
【思考力・判断力・表現力等】
・発達の段階に即して、「プログラミング的思考」(自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力) [5]を育成すること。
【学びに向かう力・人間性等】
・発達の段階に即して、コンピュータの働きを、よりよい人生や社会づくりに生かそうとする態度を涵養すること。
[5]いわゆる「コンピュテーショナル・シンキング」の考え方を踏まえつつ、プログラミングと論理的思考との関係を整理しながら提言された定義である。
小学校におけるプログラミング教育の目標をまとめると、次のようになります。
子どもたちが、コンピュータに意図した処理を行うよう指示することができるということを体験しながら、身近な生活でコンピュータが活用されていることや、問題の解決には必要な手順があることに気付き、各教科等で育まれる思考力を基盤としながら基礎的な「プログラミング的思考」を身に付け、コンピュータの働きを自分の生活に生かそうとする態度を身に付けること
このように、コンピュータを問題解決や自分の生活を豊かにするために使おうとする態度や基礎的な思考力が大切にされています。単にプログラミング言語を用いた記述方法を覚えたり、実際にホームページやゲームなどを作ったりするといった「コーディング」が出来ることが目的ではないのです。
また、順次、分岐、反復といったプログラムの構造については、小学校の段階では体験の中で触れるということで十分で、それ自体を教え込んだり、知識として身に付けることを指導のねらいとしたりする段階ではないと考えられています。
先生にコンピュータに関するの高度な知識が必要というわけではないのであれば安心です。
発達段階と情報教育
(文部科学省「幼稚園、小学校、中学校、高等学校及び特別支援学校の学習指導要領等の改善及び必要な方策等について(答申) 別添資料 (3/3)」より)
3 キーワードは「プログラミング的思考」
みんなに必要なの?
上述のように、プログラミング的思考とは、「自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力」です。
しかし、これを読んで「こうした力は、将来IT業界で働く人に必要なことで、なぜ義務教育で全員が身に付けるのか?」という疑問を抱くかもしれません。そのような問いに対して、「まとめ」では下のように書かれています。少し長いですが引用します。
これからの時代を生きていく子供たちには、ますます身近となる情報技術を効果的に活用しながら、複雑な文脈の中から読み解いた情報を基に論理的・創造的に考え、解決すべき課題や解決の方向性を自ら見いだし、多様な他者と協働して新たな価値を創造していくための力が求められる。ここで言う「創造」とは、グローバルな規模でのイノベーションのような大規模なものに限られるものではなく、地域課題や身近な生活上の課題を自分なりに解決し、自他の人生や生活を豊かなものとしていくという様々な工夫なども含むものである。
子供たちが、情報技術を効果的に活用しながら、論理的・創造的に思考し課題を発見・解決していくためには、コンピュータの働きを理解しながら、それが自らの問題解決にどのように活用できるかをイメージし、意図する処理がどのようにすればコンピュータに伝えられるか、さらに、コンピュータを介してどのように現実世界に働きかけることができるのかを考えることが重要になる。
そのためには、自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力が必要になる。
こうした「プログラミング的思考」は、急速な技術革新の中でプログラミングや情報技術の在り方がどのように変化していっても、普遍的に求められる力であると考えられる。また、特定のコーディングを学ぶことではなく、「プログラミング的思考」を身に付けることは、情報技術が人間の生活にますます身近なものとなる中で、それらのサービスを受け身で享受するだけではなく、その働きを理解して、自分が設定した目的のために使いこなし、よりよい人生や社会づくりに生かしていくために必要である。言い換えれば、「プログラミング的思考」は、プログラミングに携わる職業を目指す子供たちだけではなく、どのような進路を選択しどのような職業に就くとしても、これからの時代において共通に求められる力であると言える。
そして、この思考力を用いて情報技術を使いこなしながら、論理的・創造的に思考して課題を発見・解決し、新たな価値を創造することが目指されています。
プログラミング教育の本質は、人間とコンピュータが協同してよりよい人生や社会を創造することなのではないかと考えられます。
4 実際の授業と教科との関連
では、今までみてきたような目標を達成するためには、先生はどのような授業をするのでしょうか。
今ある教科とセットで行う
「まとめ」によれば、「プログラミング科」のような新しい教科をつくるのではなく、総合的な学習の時間や算数など今ある教科の中で実施していき、プログラミングを体験することを通じて教育活動を更に充実させていくという形での導入が目指されています。
プログラミング教育を行う学年や教科は、各学校の子供の姿や教育目標、環境整備や各教科等の特徴などを踏まえて決めます。各学校の実情に合わせて進めるというのは、総合的な学習の時間の視点に近いかもしれません。
また、プログラミング教育に最大限の効果を発揮させるためには、各教科等で育まれる思考力と「プログラミング的思考」の有機的関連を意識して指導することが求められています。これは、教科と総合的な学習の時間との関係に似ています。
各教科等とプログラミング教育の指導イメージも示されています。例えば理科。
【理科】・例えば、身の回りには、電気の性質や働きを利用した道具があることをとらえる学習を行う際、プログラミングを体験しながら、エネルギーを効果的に利用するために、様々な電気製品にはプログラムが活用され条件に応じて動作していることに気付く[11]学習を取り入れていくことが考えられる。
[11]例えば、外が暗くなると照明の明かりが自動的に明るくなったり、一定の時間が経過すると自動的に消えたりすることなど。
いかがでしょうか。「まとめ」には他の教科についても書かれていますが、今後さらに実践の開発が進むことと思います。
記事末に載せた、EDUPEDIAが取材した小学校のプログラミング教育(国語科)の実践も参考になれば幸いです。
5 今後の課題は?
今までみてきた教育活動の実現はとても難しいように感じます。
最後に、3年後に迫った実施に向けて今後の課題をみていきます。理念や目標を実現するためには何が必要なのでしょうか。
必要な条件
「まとめ」では、効果的なプログラミング教育に必要な条件として、下の3つを挙げています。
- ICT環境の整備
- 効果的なプログラミング教育を実現する教材の開発と教員研修等の在り方
- 指導体制の充実や社会との連携・協働
サポート体制
実現のための先生方へのサポートとして、プログラミング教育が無理なく確実に実施されるよう、国の技術力と教育力を結集して、現場で活用しやすい教材の開発や指導事例集の普及を行う。
また、「社会に開かれた教育課程」の観点から、社会と連携・協働しながら様々な人的・物的資源を生かして実現していく、という方向性が示されています。
上のようなサポートが実現すればとても心強いです。今後、プログラミング教育を実現するためには、全ての子どもがICTを活用でき、全ての先生方が無理なく授業できる環境整備がとても重要になると思います。
6 おわりに
本記事は、文部科学省の「まとめ」資料をもとにプログラミング教育をみてきましたが、「プログラミング的思考」「Computational thinking」といった言葉の意味については、いろいろな方により検討されています。海外の取り組みも調べてみると新しい発見があるかもしれません。
他にも、「まとめ」に至るまでの有識者会議の議事録を読むと、さらに理解が深まるでしょう。
プログラミング教育が子どもや先生の学習を深め、未知への好奇心やAIと人間が共生する豊かな社会に繋がると素敵です。
7 参考資料
小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)(文部科学省 平成28年6月16日)
*本記事の参考資料です。
小学校段階における論理的思考力や創造性、問題解決能力等の育成とプログラミング教育に関する有識者会議 議事要旨・議事録・配付資料
*議論の取りまとめに至るまでの議事録(計3回)が読めます。会議に関わった委員名簿もありますので、委員の方の実践や著書なども参考になるでしょう。
「プログラミン」(文部科学省)
※「プログラミン」は、子どもでも簡単にコンピュータ・プログラミングが体験できるウェブサイト。コンピュータ・プログラミングに親しむことで、その技術が応用されている「京」をはじめとするスーパーコンピュータ開発等の施策に興味・関心を持ってもらうことを目的として、平成22年8月から公開しています。(文部科学省)
コメント