デジタル時代の到来とともに、プログラミング教育の重要性が急速に高まっています。日本では2020年から小学校でプログラミング教育が必修化され、中学校、高校、そして大学へと段階的に発展していく新たな教育システムが始動しました。このような改革は、単なるIT技術の習得にとどまらず、未来の社会を支える人材育成の一環としても位置付けられます。
本記事では、プログラミング教育必須化と拡充の背景から、各教育機関が行っている段階的な取り組みの具体的内容を、東京情報大学の松下孝太郎教授にお伺いしています。また、急速に変化するデジタル社会に対応するために、教育現場はどのように変化し、私たちは何を学ぶべきなのか、プログラミング学習の手順についてもご教授いただきました。
松下 孝太郎 / Kotaro Matsushita
東京情報大学 総合情報学部教授
【プロフィール】
神奈川県横浜市生。
横浜国立大学大学院工学研究科人工環境システム学専攻博士後期課程修了、 博士(工学)。
現在、(学校法人 東京農業大学)東京情報大学総合情報学部 教授。
電子情報通信学会、情報処理学会、日本画像学会、教育システム情報学会等各会員。
画像処理、コンピュータグラフィックス、教育工学等の研究に従事。
教育面では、プログラミング教育、シニアへのICT教育、留学生へのICT教育等にも注力しており、サイエンスライターとしても執筆活動および講演活動を行っている。
著書に、POV-Rayで学ぶはじめての3DCG制作(講談社)、親子でかんたんスクラッチプログラミングの図鑑(技術評論社)、スクラッチプログラミング事例大全集(技術評論社)、他多数(27冊 / 2024年8月現在)。
■スクラッチプログラミング関連著書
- 松下孝太郎、山本光:『今すぐ使えるかんたんScratch』、技術評論社 (2019)
- 松下孝太郎、 山本光:『親子でかんたんスクラッチプログラミングの図鑑【Scratch3.0対応版】』、技術評論社 (2019)
- 松下孝太郎、山本光:『スクラッチプログラミング事例大全集』、技術評論社 (2020)
- 松下孝太郎、山本光:『スクラッチプログラミングゲーム大全集』、技術評論社 (2023)
プログラミング教育必須化と拡充の背景と目的
クリックアンドペイ(以下KL):プログラミング教育が最近になって必須化および拡充された背景について教えていただけないでしょうか。
松下氏:プログラミング教育が必須化および拡充された背景には、主に2つの要因があります。
まず1つ目は、情報技術の急速な発展です。2020年に小学校でプログラミング教育が必修化されたのは、社会の大きな変化を反映したものです。情報機器やAIなどの技術が進歩し、社会構造そのものが変わりつつあります。例えば、少し前まではチャットGPTのような技術はまだ一般的ではありませんでしたが、今日においては急速に普及しつつあります。
2つ目は、IT人材の育成です。AIの発展により、既存の職業の一部が消滅したり、新たなIT関連の職業が生まれたりする可能性が指摘されています。このような変化に対応するため、ITを使いこなし、さらにはIT分野の研究ができる人材の育成が急務となっています。
つまり、プログラミング教育の必須化と拡充は、IT技術の発達への対応と、将来必要になるIT人材を育成するという2つの目的を持っています。このような取り組みは、急速に変化する社会に対応するための国家的な施策の一環と言えるでしょう。
KL:そのような施策は最近導入されたということもあり、まだ人手不足の改善までには至っていない状況なのでしょうか。
松下氏:人手不足は徐々に改善されていく可能性があります。その一因として、少子化による人口の自然減少が挙げられます。ITをあまり使いこなせない年長世代が減少し、IT技術に慣れ親しんだ若い世代の割合が自然と増加していくからです。ただし、人口動態の変化だけでは改善に数十年かかってしまうため、教育システムの変革も進められています。
例えば、従来文系と言われていた学部でも、教養科目として情報リテラシーの基礎に加え、データサイエンスやAIの基本事項を教えるという傾向が出てきています。つまり、情報工学や情報科学を専攻しなくても、ある程度はIT技術やAIに関する知識を得られるような教育体制に変化しつつあるということです。これらの取り組みにより、IT人材の育成がより加速することが期待されています。
小学校から大学までの段階的プログラミング教育
KL:IT人材育成のための教育について教えてください。小学校、中学校、高校生の学校別におけるプログラミング教育の内容について具体的にお聞きしたいです。
松下氏:新しい学習指導要領では、プログラミングを含む情報系の学習内容がかなり強化されました。
小学校では、2020年からプログラミング教育が新たに実施されています。各教科(国語、算数、理科、社会など)の中でプログラミング教育を実施する形式をとっています。例えば、小学校5年生の算数では、正多角形の作図をプログラミングで学習する例が提示されています。また、小学校6年生の理科では、センサーによる電気のスイッチのオンとオフをプログラミングで学習する例などが提示されています。
小学校では、プログラミングの技術を必ず学ぶということではなく、プログラミング的な考え方や論理的な思考を学ぶことに重点が置かれています。
中学校では、技術・家庭科の技術分野において、「情報の技術」という単元でプログラミング教育が行われています。「情報の技術」では、比較的簡単なプログラミングを通して、SNSのような双方向のやり取りを擬似的に行ったり、情報セキュリティについても学習します。小学校と比較すると、より専門的なプログラミング教育がなされていますが、全体的に見ると比較的簡単なプログラミングを扱っています。
高校では、「情報 I」という科目が必修科目に指定されており、「情報 I」の中にプログラミングの単元が存在しています。「情報 I」では実際のプログラミング言語を使用し、キーボードを使ってコード入力しプログラムを作成していきます。使用するプログラミング言語は特に指定されていませんが、「JavaScript」や「Python」がよく使われています。さらに、「情報 II」という選択科目もあり、より専門的な内容を扱っています。
このように、小中高と段階的にレベルが上がり、内容の深いものが展開されていく流れになっています。
KL:大学ではより専門的な内容の学習が展開されていくと考えられますが、大学と高校の学習内容での違いなどを教えていただけますか。
松下氏:大学では、どの学部に行くかによっても異なりますが、例えば情報系の学部に行くと、高校と比べてはるかに難しい内容を学びます。大学では特定の言語に限定せず、アルゴリズムやデータ構造など、より深い概念を学びます。
また、目的に応じて様々なプログラミングを学びます。例えば、通信系のプログラム、アプリケーション開発、サーバー制御、セキュリティプログラムなど、分野ごとにより専門的な内容を学びます。
最近の傾向として、AI関連の学習も高校と比べて大学ではより進んだ内容が学べるようになっています。今後は、画像や動画生成系AIなどについても学ぶ機会が増えて行くと思います。
つまり、大学では高校よりもさらに専門的で深い内容を学び、目的別の応用力を身につけていくことになります。
学校教育とプログラミング教室の違い
KL:では、習い事としてのプログラミング教室と学校でのプログラミング学習の違いについても教えていただけますか。
松下氏:小学校から高校においては、文部科学省から定められた学習指導要領に沿って授業が行われます。そのため自由度はあまりありません。
しかし、大学の場合はだいぶ異なります。基礎教育としてITに関する内容を学びますが、専攻によって学習する内容は大きく異なります。また、大学の教員にはある程度の裁量権があり、より自由度の高い教育が行われています。
一方、プログラミング教室は、学校教育に比べると基本的に制限はありません。各教室が受講者のニーズに合わせて自由にカリキュラムを組むことができます。人気のあるものとしては、ロボットプログラミングやゲームプログラミングなどです。
ただし、プログラミング教室はあくまでもビジネスなので、収益を上げる必要があり、教材費などの費用がかかる場合がほとんどです。近くにプログラミング教室が無い場合もあります。
ですので、書籍などを活用して自学自習するのも1つの方法です。例えば、小学校で多く使われているスクラッチ(Scratch)に関する本なども使用するとよいでしょう。
松下孝太郎教授のご著書
- 今すぐ使えるかんたんScratch
- 親子でかんたん スクラッチプログラミングの図鑑 【Scratch 3.0対応版】
- スクラッチプログラミング事例大全集
- スクラッチプログラミングゲーム大全集
KL:ビジネスであることも考えると、プログラミング教室の存在意義は、将来エンジニアになるためというよりも、まずはプログラミングを好きになってもらうためにあるということになるのでしょうか。
松下氏:そうですね。プログラミング教室の存在意義は、単にエンジニアを育成することだけではなく、プログラミングに親しみ、好きになってもらうことにもあるでしょう。
私が子供の頃、メジャーな習い事と言えばそろばんや習字で、地域に教室が必ず1つか2つはありました。しかし、現在では習い事と言えばプログラミング教室というように、ニーズが変わりつつあるように思います。
このような変化を促した主な要因として、まず挙げられるのが、パソコンやタブレットの普及です。次に、2020年の小学校のプログラミング必修化も挙げられるでしょう。プログラミング教育が必修化されたことにより、多くの親がプログラミングとは何かを知りたいと思うようになりました。このような親のニーズに応えるためにも、プログラミング教室が急増してきたように感じます。
特に小学生の親御さんは、学校での成績に加え、将来の受験までも気になる場合があるため、プログラミング教室へのニーズが高まります。このようなニーズに応えるべく、多くの教室が開設されたのだと思います。
つまり、プログラミング教室は、子供たちにプログラミングの楽しさを知ってもらうと同時に、親の不安や関心にも応える役割を果たしているのです。
プログラミング教育の課題と改善策
KL:現在のプログラミング教育の問題点、および改善案があれば教えていただけますか。
松下氏:プログラミング教育には、いくつかの問題点があります。
- 教育者の不足:小中高において、プログラミングやAIを含むIT技術全般に関する専門的な知識や技術を持つ教員が相対的に不足しています。もちろん、専門的な知識や技術を学んだ若い世代の教員は増えつつありますが、まだ十分ではありません。
- 技術の急速な進歩への対応:IT技術は非常に進歩が早いため、教員が常に最新の知識やスキルをアップデートし続ける必要があります。しかし、スキルのアップデートは、他の業務がある中で行わなければならないため、大きな負担になっています。
- 受験偏重の傾向:大学入学共通テストでプログラミングが出題されることが決まり、入試を突破するための教育に偏る傾向があります。本来はもっとプログラミングを楽しく学んだり、問題解決能力を育成したりする必要があるのですが、そこまで手が回らないのが現状です。
これらの問題に対する改善案としては、以下のようなものが考えられます。
- 興味を喚起する教育方法の導入:プログラミングは一種の「職人芸」的な側面もあるため、単に講義を聞くだけでは上達しません。したがって、学習内容を興味が湧くようなものにし、学習者の興味を喚起できるような内容を展開することが重要です。
- コンテンツを利用したプログラミングの活用:例えば、自分がスマートフォンで撮影した写真や動画を使って、プログラミング言語で制御するというような学習方法です。このような方法であれば、オリジナルの作品を作る過程で楽しみながらプログラミング学習が行えます。
- 生成系AIの活用:最近では、生成系AIを使って自分の好きな画像を作り、作成した画像をプログラミング言語で制御するなど、新しい可能性も広がっています。
これらの方法を通じて、プログラミングに対する興味を持ってもらいながら、効果的な学習を進めることができると考えています。
プログラミング学習の効果的なアプローチ
KL:プログラミングについて、ネット上では9割ほどが挫折して途中でやめてしまうと言われています。私自身もプログラミングが苦手で、大学の授業で単位を落とした経験があります。プログラミングに苦手意識を持つ人が、挫折せずに継続して勉強を続けるにはどうしたらよいでしょうか?
松下氏:これは時代に即した良い質問ですね。プログラミングの難しさは、その人が生まれた時代によっても変わってきます。
私が大学生だった頃は、現在のプログラミング言語と比べて非常に難解なものが多かったです。例えば、単純に文字を表示するような命令でも、今のように直感的に理解できるものではありませんでした。
しかし、時代とともにプログラミング言語は進歩し、現在では小学生でも使えるビジュアルプログラミング言語のスクラッチなどが世界中で使われています。スクラッチは、ブロックを積み重ねるだけでプログラミングができるため、非常に直感的にプログラミングが行えます。
このようなビジュアルプログラミングを経験した後に、コーディングを行う形式のプログラミング言語に移行すると、アルゴリズムの基本概念が理解できているため、プログラミングのハードルはかなり低くなります。
ただし、全ての人が同じようにプログラミングに対する適性が高いというわけではありません。そこで重要になるのが、やはり興味を持たせることです。前述のコンテンツを利用したプログラミングなど、楽しく学習できる環境を作り、少しでも自分から学習しようという意識を引き出すことが大切です。
KL:なるほど、ありがとうございます。では、プログラミング学習をはじめる場合、まずは、小学生で習うようなスクラッチをはじめとするビジュアルプログラミングから始めて、徐々にスキルを上げていくのが最もおすすめできる方法ということでしょうか。
松下氏:はい、その通りです。中高生や大人も、スクラッチのようなビジュアルプログラミングから始めると、プログラミングの基本的な考え方を理解しやすいです。
コーディング形式のプログラミングでは、打ち間違いがあるとプログラムがきちんと動かないため、初心者にとってはかなりの苦痛です。しかし、ブロックを積み重ねるだけのビジュアルプログラミングであれば、そのような問題は起こりにくいでしょう。
プログラミングを経験したことのない人たちにとっても、世界的中で広く利用されているビジュアルプログラミング言語のスクラッチから始めるてみることは、とても効果的で効率的な学習方法だと思います。
次世代のIT起業家へのアドバイス
KL:最後に、企業志望の学生に向けて何かアドバイスはありますか?
松下氏:私自身は大学教授という立場ですが、もし今20代だったら起業を考えていたかもしれません。起業を志す若い人たちへのアドバイスとして、以下の2点を挙げたいと思います。
- はじめにニーズを捉えることが重要です。自分の得意分野だけでなく、マーケットが要求するものを理解することが大切です。そのためには、様々な分野の友人を作ることをおすすめします。異なる背景を持つ人々と交流することで、新しい気づきが得られます。
- 私自身の希望も含め、日本発の革新的なテクノロジーの創出です。かつて日本は、ウォークマンのような画期的な製品を世に送り出していました。しかし、現在はGAFAMのような海外企業が技術革新をリードしています。日本から新しいテクノロジーを生み出す起業家が現れることを期待しています。
これらの点を意識しながら、若い起業家の皆さんには挑戦を続けてほしいと思います。
#松下孝太郎 #プログラミング教育 #スクラッチプログラミング#スクラッチプログラミングの本