プログラミング教育とは
プログラミング教育とは、情報教育の1つとして実施される教科を指します。情報教育の必修化は、2019年に制定された教育情報化推進法により授業に取り入れられています。情報教育は、ICT教育とも呼ばれており、情報活用力を高めることを目的としています。
将来のデジタル化社会を担う、子供たちに学びの場を与えることがねらいです。その一環で、プログラミング教育も行われます。
プログラミング教育の環境整備
プログラミング教育においては、指導する教員の確保と知識の維持向上、学習環境の整備が必要です。文部科学省では、2020年からの小学校プログラミング教育義務化にともない、2019年にはGIGAスクール構想を立ち上げ環境整備を進めてきました。
GIGAスクール構想では、児童や生徒1人に1台のコンピュータと高速ネットワークが割り当てられ、プログラミングやICT教育に用いられます。2021年3月末には多くの自治体で端末の配置が完了しています。配備された端末は、標準仕様として採用されているWindows、iPadOS、Chrome OSのいずれかです。
【参考】:文部科学省 GIGAスクール構想の実現について 【参考】:マイクロソフト GIGA スクールパッケージ 【参考】:GIGAスクール構想をAppleと 【参考】:Google for Education で、最適な GIGA スクール構想の実現
プログラミング教育を通じた学習効果
プログラミング教育に代表されるICT教育では、以下の能力を向上させることができます。
・論理的思考力 プログラミングでは、所定の動作を行うためのアルゴリズムやロジックにしたがって、コードの作成を行います。そのため、知識向上とともに論理的な考え方が身につきます。
・問題解決能力 プログラミング作業は、一発でコードが完成することもありますが、多くはデバッグしながらコード修正を行います。コード修正作業を通じて、エラーが発生した際の対処を学んでいきます。さらにエラーの起きにくいコード開発の作法を学ぶことができます。そのため、問題発生時の対処や解決の能力が身につきます。
・コミュニケーションと表現力 プログラミング作成は、単独で実施するほか、規模の大きいソフトウェア開発ではチームで開発することが多くなります。コード作成時には、グループ活動を通じたコミュニケーションを図りますので表現力も高まります。
以上のことから知識や技能のみならず、学習意欲の向上や豊かな人間性を養うことも目的と考えて良いでしょう。長い目で見ると、IT化に対応できる人材育成が可能となり、受講する生徒にとっては将来的なキャリアの選択の幅が広がるメリットがあります。
プログラミング教育導入の流れ
文部科学省では、教育情報化推進法に基づく活動報告と現状を公表しています。具体的には、学習指導要領を改訂し教員の知識教育を行い、授業に取り入れています。実践例なども掲載されています。
【参考】:文部科学省 教育の情報化の推進
小学校のプログラミング教育
2020年度からプログラミング教育が必修化されています。最初はいきなり端末を使うのではなく、モラル学習を行い徐々に進めていきます。Scratch(スクラッチ)やViscuit(ビスケット)を用いたビジュアルプログラミングも教材として活用します。
【参考】:文部科学省 情報モラル学習サイト 【参考】:文部科学省 新小学校学習指導要領におけるプログラミング教育 【参考】:Scratch 【参考】:Viscuit
中学校のプログラミング教育
学習指導要領改訂にともない、2021年度より技術・家庭科(技術分野)の「D 情報の技術」においてプログラミングに関する記載や事例が盛り込まれています。
Scratchを用いたロボットなどのシミュレーションを、アクティビティ図を作成して実践します。JavaScriptも範囲に含まれます。合わせて個人情報保護や情報セキュリティについても学びます。
【参考】:文部科学省 中学校技術・家庭科(技術分野)内容「D 情報の技術」
高等学校のプログラミング教育
従来の「社会と情報」および「情報の科学」の科目を改めて、2022年度より、「情報Ⅰ」が必修科目として設定されました。ここでは、情報技術で必要とされる、プログラミングやモデル化、シミュレーションを学びます。
情報セキュリティやネットワークも含まれます。プログラミング言語はPythonなどをベースとしています。
選択科目としては「情報Ⅱ」が設けられており、さらに発展的な情報システムやビッグデータ、人工知能などを学びます。
プログラミング知識を生かせる職業
プログラミング知識は、IT業界のみならず多くの業界での可能性を広げてくれます。具体的には、以下のような業種や業界での活躍が期待できます。
IT事業者
IT事業者ではプログラマをはじめ、システムエンジニアなどのITエンジニア全般の職種に有効です。従来は、サーバー、ストレージ、ネットワークがコンピュータシステムの基本要素でしたが、拡大するウェブサービスをはじめ、ゲームやクラウドサービスなど、多様な用途でのIT活用が進んでいます。
開発形態を見てみると、設計サイクルを短期間で進めるアジャイル開発型が増えており、コンテナを利用して開発から運用までカバーするDevOpsなど多様化が見られます。さらにウェブ利用の一般化により、セキュリティ対策の需要も高まっています。
このようにITの利用形態の広がりにより、プログラミング能力が活かされる領域が拡大していると判断できます。
IT製品やサービスの利用者
従来からITシステムは、金融や販売・卸、製造業など多くの業界で、企業経営や業務運用に活用されてきました。さらに、IoT(Internet of Things)やビッグデータの活用により、あらゆる機器がインターネットに接続され、膨大なデータが生成される時代になりました。
この情報を分析するにはITスキルが必要で、よりIT人材の不足が明らかになってきました。
ITを利用するうえでも、システムを操作するロジックの理解が欠かせません。ITとは無縁であった業務も、RPA(Robotic Process Automation)などの活用で業務の自動化が進んでいます。
政府もDX(デジタルトランスフォーメーション)に伴う業務改革を推進しており、今後もIT活用の流れは留まることはないでしょう。
プログラミング知識を高めるには
プログラミング知識は、社会人になってからも重視されます。小中学生からプログラミング教育を受けることで、論理的な思考力が高まり、知識吸収とともに将来的な職業選択の幅が広がります。ここでは、プログラミング教育で用いるソフトや学習サイトについて解説していきます。
小学生向けプログラミング教育ソフト
小学生向けプログラミング教育ソフトですが、学校教育で取り入れているものを中心に利用することをおすすめします。代表的なソフトは、Scratchです。以下に、主要な教育ソフトも含めてまとめておきます。
・Scratch Scratchは、小中学生向けに開発した教育プログラミング言語で、世界中で利用されています。ビジュアルプログラミングの特徴を活かし、感覚的に操作できるように設計されています。
難しい言語仕様を覚える必要がないためプログラム知識がない方でも始められます。幼児向けにはさらに簡単な操作で遊べるScratchJrも提供しています。
・Viscuit 小学校の授業では、Viscuitも利用されています。Viscuitは、メガネという書き換えルールを用いてアニメーションなどを作成し、遊びながら考える能力を高めます。文字を使わずに絵を描くことでプログラムの仕方を学びます。
【参考】:Viscuit
・その他 学習に余力があれば、Springin’やSwift Playgroundsもおすすめです。Springin’は、ゲームや絵本を簡単につくることができます。作った作品を使ってみんなで遊ぶことで、分析能力やコミュニケーション能力を高めます。
【参考】:Springin’
Swift Playgroundsは、Apple社の開発したSwiftをインタラクティブに学ぶアプリで、iPadの画面操作だけでアプリを作成することができます。パズルを解きながらコードを学んでいきます。
【参考】:Apple 教育 - 小中高等学校 コードを教える 【参考】:Apple Swift 【参考】:Apple Swift Playgrounds
小学生向けプログラミング学習サイト
小学生向けプログラミング学習サイトとしては、ビジュアルプログラミングを学ぶサイトがおすすめです。ビジュアルプログラミングは小中学生のプログラミング教育で用いており、基礎を学ぶにはうってつけです。主な学習サイトは、以下の通りです。
・Scratch 先ほど紹介したScratchは、ウェブで利用できますので学習サイトとしてもそのまま活用できます。チュートリアルで学んだり、テーマ別アクティビティで理解を深めます。他の利用者が作成した作品を見ることもできますので、このサイトで必要な知識を高めるのが良いでしょう。
【参考】:Scratch
・Code.org Scratchと同様のコンセプトで幼児から高校までカバーする、Code.orgもおすすめです。世界中の人々に教育の機会を与えるために非営利団体が運営し、アマゾンやフェイスブック・グーグル・マイクロソフトなどが活動を支援しています。
【参考】:Code.org CODE
・MakeCode 大手事業者のマイクロソフト社では、プログラミング学習プラットフォームであるMakeCodeを公開しており、実際のハンズオン学習が可能です。ブロックを使ったビジュアルコーディングとJavaScriptによるテキストコーディングのエディタを用意しています。
プログラミング教育を通じて将来の可能性を高めましょう
プログラミング教育は、論理的な思考を身に着けることができ、デジタル化社会に適応できる人材育成としても有効な授業科目です。
IT業界におけるプログラマやシステムエンジニアに代表されるITエンジニアは、需要が高いです。ITを利用するユーザー企業でも、情報活用が進んだことでITスキルが重視されます。プログラミング教育を通じて、豊かな発想力を高めることもできますので、学びの機会を有効活用することをおすすめします。
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから