ここ数年の間に、小学校、中学校のプログラミング教育や高校で学ぶプログラミングの環境が大きく整備されています。高校で学ぶプログラミングについては、総合的な視点から情報技術全般を学ぶ内容で、そのカリキュラムは専門性に富むものといえるでしょう。
この記事では高校で学ぶプログラミングとして、「情報Ⅰ」、「情報Ⅱ」の学習内容や学習によって得られるメリットについて解説します。高校で学ぶ情報科学はかなり興味深いものがあります。ぜひこの記事を参考にしてみてください。
高校でのプログラミング教育とは
そもそも高校教育の中でプログラミングが取り入れられたのは、2003年度の情報科目の必修化と意外に長く、約20年の歴史があります。当時は近年の情報化社会の流れを受け、日本でもITに関する高度なスキルを持った人材を育成する目的で始められました。
当初、「社会と情報」「情報と科学」のいずれか1科目を選択する形がとられました。しかし、多くの生徒が情報リテラシーを学ぶ「社会と情報」を選択し、プログラミングを学ぶ「情報と科学」を選択する生徒が少なかったため、見直しが行われたのです。
この見直しにより情報科学の基礎を学ぶ「情報Ⅰ」を必修化してプログラミング学習の要素を盛り込むとともに、「情報Ⅱ」を選択科目として設けるように方針を変更しました。
参考:文部科学省 新しい学習指導要領の考え方 P.53「高等学校の教科・科目構成について」
高校でのプログラミング教育は「Society 5.0」を見据えて、ITのすそ野を広げる取り組みである一方で、さまざまな課題も抱えています。しかしながら、こうした取り組みを行うこと自体に意義があるといえ、ITに興味を持ち、技術者として手に職をつける人が増えるものと期待されています。
Society 5.0:情報科学と人間の生活が融合した高度な情報化社会を表す概念
参考:内閣府 Society 5.0
小中学校で学ぶプログラミング教育との違い
プログラミング教育といえば小中学校でも実施されています。
小学校のプログラミング教育は2020年度から必修化が始まり、翌年2021年度には中学校のプログラミング教育が開始されました。現在数多くの学校でユニークな取り組みが行われています。
小中学校で学ぶプログラミング教育は、身近にあるコンピュータを見つける、プログラミングを体験してみるといった知的好奇心にもとづく内容が中心です。コンピュータやプログラミングを身近なものとして意識して取り組んでみることを目標にしています。
一方、高校で学ぶプログラミングは専門性が高く、実務の基礎となる内容を学習する点が小中学校で学ぶプログラミングと大きく異なる点です。つまり、小中学校で学ぶ内容が入門編であるとすれば、高校で学ぶ内容は中級編から上級編ともいえる位置づけであることがわかります。
これは至極当然のことで、小中学校でいきなりアルゴリズムやデータサイエンティストの内容を教えても理解できず、逆に興味が薄れてしまうためだと考えられます。
このように、小中学校と高校で学習する内容はかなりレベル感が違うものの、いずれにしろプログラミングをとおして情報リテラシーを高めようとしていることがうかがえます。
高校で学ぶプログラミング教育の内容
高校で学ぶプログラミング教育は、現在「情報Ⅰ」と「情報Ⅱ」に分かれています。
「情報Ⅰ」は2022年度から始まり、「情報Ⅱ」は2023年度から導入された科目です。「情報Ⅱ」は「情報Ⅰ」に比べて、幅広くコンピュータサイエンスを学ぶ内容として構成されています。「情報Ⅰ」が必須科目であるのに対して「情報Ⅱ」は選択科目として設定されていて、プログラマー、システムエンジニア、データサイエンティストなどコンピュータに関係する進路を選択する人に適しています。
情報Ⅰ
「情報Ⅰ」は現代私たちが活用している情報一般に関する知識を学ぶカリキュラムで構成されています。「情報Ⅰ」で学ぶ内容は以下のとおりです。
- 情報社会の問題解決
- コミュニケーションと情報デザイン
- コンピュータとプログラミング
- 情報通信ネットワークとデータの活用
それぞれの内容について解説します。
情報社会の問題解決
現在私たちの身の回りにある情報技術が社会に果たす役割や、これからどのように活用していけばよいのか、情報技術の課題など、情報技術全般に関する知識と理解を深める内容から構成されています。「情報Ⅰ」という位置づけながら、高校で学ぶ内容としてはかなりレベルが高い点が特徴です。
コミュニケーションと情報デザイン
情報を伝達してコミュニケーションを図るとき、どのようなデザインがより伝わりやすいのか、色や形、画像や動画の構成などについて学びます。さらに抽象化と具体化など専門性の高い内容も学習します。コンピュータというよりデザインに関する要素が強いものの、デザインについて学びたい、将来Webデザイナーや動画制作に携わりたい人には最適な学習内容といえるでしょう。
コンピュータとプログラミング
コンピュータとプログラミングの基礎について学びます。基礎といってもビットや圧縮技術など通常私たちが知っている以上の高度な内容を学ぶ内容になっています。プログラミングについては実機を用いてプログラミングを行い、実行させて体験できるため、実践的な内容といえるでしょう。複雑な処理については「情報Ⅱ」で学ぶものの、プログラミングに取り組むには最適な内容です。
情報通信ネットワークとデータの活用
情報通信が私たちの生活に果たす役割と身の回りにあるデータの活用方法について学びます。情報通信ネットワークについてはファイアウォール、ルーター、スイッチなど通信に必要な機器やネットワーク構成を考えるなど、ネットワーク入門ともいえる内容です。
統計データの活用、キー・バリュー形式のデータ活用、リレーショナルデータベースなどデータベースに関する深い理解を要するものまであり、基礎でありながら専門分野に踏み込むのに必要な知識を習得できます。
情報Ⅱ
「情報Ⅱ」は選択科目で、「情報Ⅰ」の内容をより高度にしたものです。情報Ⅱでは以下の内容について学びます。
- 情報社会の進展と情報技術
- コミュニケーションとコンテンツ
- 情報とデータサイエンス
- 情報システムとプログラミング
- 情報と情報技術を活用した問題発見・解決の探究
情報リテラシーから始まり、情報伝達手段の組み合わせ、高度なデザイン、プログラミング、データサイエンスなどカリキュラムは多岐に渡ります。
内容としては、基本情報処理技術者試験の対象範囲のうち、経営戦略やITストラテジーを除いたものとほぼ同等の領域をカバーしている点が特徴です。「情報Ⅱ」の目標としてITパスポートの合格を目指すケースもあり、いかに充実した内容なのかよくわかります。
「情報Ⅱ」は「情報Ⅰ」をベースとして高度なことを学ぶため、「情報Ⅰ」の内容を理解していることを前提に進められます。実際にどのようなことを学ぶのか、ひとつずつ解説します。
情報社会の進展と情報技術
情報社会が今後どのように変化していくのか、将来の情報化社会の姿、情報化社会のあり方について考えるのが、このカリキュラムです。
「情報Ⅰ」が現在の情報化社会について学ぶのに対して、「情報Ⅱ」では情報化社会の未来像を描き、想像力を働かせることを目的としています。
コミュニケーションとコンテンツ
「情報Ⅰ」で学ぶデザインやコミュニケーションツールの内容をさらに発展させて、複数のコミュニケーションツールをどのように活用すれば、より多くの人たちに情報が伝わるのか、その方法やコンテンツ内容について学びます。
たとえば、このような例が考えられます。
- X(旧Twitter)でコメントを発信してLINEへ参加してもらい、そこからサービスの提供を行う
- Webページ上にYouTubeの動画サイトを埋め込み、イベント参加に結びつける
このように、複数のコミュニケーションツールを組み合わせた手法はさまざまです。こうした手法を学ぶとともに、今後どのような方法で情報を伝えられるのか、その点についても学びます。
情報とデータサイエンス
「情報Ⅱ」で学ぶデータサイエンスは「情報Ⅰ」で学ぶ内容をさらに発展させて、機械学習や人工知能といったデータサイエンスについて理解を深める内容です。数学Bや重回帰分析、主成分分析といった統計学と連携した高度な学習を行い、将来データアナリストやデータサイエンティストになりたい人向けのカリキュラムともいえます。
情報システムとプログラミング
「情報Ⅰ」ではプログラミングそのものについて学習したのと比べ、「情報Ⅱ」のプログラミングでは、システム開発について演習の中で学習することを目的としています。この中で、プロジェクトマネジメント、品質管理について学べるため、将来システムエンジニアやプログラマーとして活躍したい人向けに最適なカリキュラムであるといえるでしょう。
情報と情報技術を活用した問題発見・解決の探究
この項目は「情報Ⅰ」「情報Ⅱ」を総合した内容で、情報技術を活用して問題発見能力と課題解決能力を養うことを目標としています。
高校でプログラミング教育を学ぶメリット
高校でプログラミングや情報技術を学ぶことにはさまざまなメリットがあります。その中でも特に大きなメリットには以下のようなものがあります。
- 将来の情報化社会「Society 5.0」に適応できるだけの能力が身につく
- エンジニア、Webデザイナー、データサイエンティストなど進路の幅が広がる
- 課題発見能力、問題解決能力が養われる
- 実習をとおして主体性、積極性といったコンピュータ以外のスキルが身につく
仮に「情報Ⅰ」「情報Ⅱ」を完全に習得できれば、かなりハイレベルなスキルを身につけられることがわかります。もちろん現実的にはさまざまな課題があるものの、こうした前向きな取り組みは評価できるものといえるでしょう。
なお、今回ご紹介した「情報Ⅰ」「情報Ⅱ」については文部科学省の特設サイトでさらに詳しく解説されています。ぜひ参考にしてみてください。
高校で学べるプログラミング言語
高校で学ぶプログラミング言語について細かな規定はありません。そのため、学校ごとに学習するプログラミング言語は変わります。
多くの場合、Webシステムを題材に取り上げることから、HTML・CSS、JavaScriptをプログラミング言語として選択するケースが多いようです。そのほかにも、AIと親和性が高いPython、理解しやすいScratch、マインクラフトを題材に取り上げるケースもあります。中にはVBAやC#を学習題材とする学校もあり、本格的なプログラミングを経験できる点が、今までとは異なるものといえるでしょう。
いずれのケースも、プログラミング言語の特徴を活かしながら成果物を作成するという楽しみを味わえるカリキュラムです。
まとめ
今回は高校で実施されているプログラミング教育の内容や学習によるメリットなどについて解説しました。
高校のプログラミング教育はかなりレベルが高く、システムエンジニアの基礎知識と同等レベルといっても過言ではありません。それだけ充実した内容のため、大学、プログラミングスクールで応用力を学べば、即戦力になりうるほどの知識を習得できます。
一方で、そのレベルの高さから、「情報Ⅰ」をベースとして体系的に「情報Ⅱ」を選択しようとする生徒を増やすことが課題のひとつです。今後、2025年には大学入試の試験科目にも追加される予定でもあり、今後の推移を見守る必要があります。
そのほかにも、学習にのめり込みすぎるあまり、高校時代にしか経験できないことに手が回らなくなるといった懸念もあります。そのため、いかにバランスよく学びと学生生活を楽しめる環境を整備できるのかが今後の課題といえるでしょう。
とはいうものの、かなりレベルの高い情報技術を高校で学べることには意義があり、これから高校で学ぶプログラミング教育はますます進化していくものと思われます。