中学校でプログラミングが必修化!おすすめ言語は何?小学生から勉強すべき?
2021年度から必修化した中学校のプログラミング教育。何が変わったの?中学生がプログラミングを学ぶメリットと、おすすめの学習手法をお伝えします。2025年度の大学入学共通テストから「情報」が新教科として出題されるため、中学からのプログラミング教育は重要になってきます。東京情報大学総合情報学部の教授であり、プログラミング教育者やサイエンスライターとしても活躍する、松下孝太郎さんが解説します。
中学校におけるプログラミング教育の現状
2021年度から中学校においてもプログラミング教育が必修化されました。中学校におけるプログラミング教育の必修化とはどのようなものか、2020年度から必修化した小学校のプログラミング教育との違いや関連について解説します。
小学校から高等学校までのプログラミング教育のスケジュール
中学校の状況紹介する前に、小学校から高等学校までのプログラミング教育に関するスケジュールを概観してみましょう。
幼稚園、小学校、中学校、高等学校における学習内容は、文部科学省による学習指導要領によって定められています。プログラミング教育に関するスケジュールを簡単に示すと、次のようになっています。
中学校の状況を紹介する前に、小学校から高等学校までのプログラミング教育に関するスケジュールを概観してみましょう。
幼稚園、小学校、中学校、高等学校における学習内容は、文部科学省による学習指導要領によって定められています。プログラミング教育に関するスケジュールを簡単に示すと、画像のようになっています。
小学校でプログラミング教育が始まり、中学校において「技術・家庭」で内容が拡充、その後高校教育で、「情報Ⅰ」の必修化が開始されます。
創造力を形にするプログラミング教室「LITALICOワンダー」
2021年度から中学校でも全面実施
中学校でのプログラミング教育の内容は、小学校などと同様に学習指導要領により定められております。学習指導要領の改訂やその実施は直近では次のようになっています。
出典:「学習指導要領改訂に関するスケジュール」(文部科学省)(https://www.mext.go.jp/content/20201023_mxt_sigakugy_1420538_00002_004.pdf)
中学校においては2021年度(令和3年度)から新学習指導要領が全面実施となり、プログラミング教育の内容に関しても全面実施となりました。では、この全面実施というのはどういう意味なのかを説明します。
一言でいうと「中学校を卒業するまでに新学習指導要領の内容を全て学ぶ」ということです。
2021年度に中学2年生、または3年生になった生徒は、1年生から始める生徒と比べると、卒業までの期間がそれぞれ2年、1年と短いですが、各中学がうまくスケジューリングをして、新学習指導要領の内容を教える必要があります。
特に、プログラミングに関しては2020年度(令和2年度)からの小学校におけるプログラミング教育の必修化もあり、中学校で学ぶ量も増えましたので、しっかりとしたスケジューリングが必要になります。
実践重視のロボット・プログラミングが学べる「ロボット科学教育Crefus」
技術分野「(D)情報の技術」の改定の詳細
中学校では今回の学習指導要領の改訂以前からプログラミング教育は行われていました。今回の改訂に際しては、その教育内容が拡充されました。
小学校では各教科等においてプログラミング教育が実施されますが、中学校におけるプログラミング教育は技術・家庭で行われます。
詳しい内容は学習指導要領「技術・家庭編」で述べられています。
学習指導要領の内容は専門的ですので、ここでは改訂に関する要点について解説します。
中学校のプログラミング教育は、「技術・家庭」の「D 情報の技術」で実施されてきました。
今回の改訂により、プログラミングに関する分野に関しては「D 情報の技術」が「D 情報に関する技術」と名称が変更されるとともに、プログラミングに関する内容が拡充されました。
出典:中学校学習指導要領(平成29年告示)解説 技術・家庭編(文部科学省)
詳細部分を見ると、これまで「(3) プログラムによる設計・計測」でプログラムに関することが教育されていたのが、今回の改訂では「(2)ネットワークを利用した双方向性のあるコンテンツのプログラミングによる問題の解決」と「(3)計測・制御のプログラミングによる問題の解決」でプログラミングに関することが教育されることになりました。
また、プログラムではなく「プログラミング」と明記されるようになりました。
ブロックでプログラミングの仕組みを学べる民間学童「ステモン! ウィズダムアカデミー」
指導教員に関する課題
プログラミングは実際にプログラムを作る場面もあります。したがって、現場の先生方はプログラミングの知識に加え、プログラミングの経験もあることが望まれます。
しかし、小中高等学校では学習指導要領に沿った教育が実施されるため、予定されている新規の教区内容の準備をするのは時間的にも厳しいのが現状です。今後は、プログラミングを学んで教職に就いた先生方や、新規の教育を受けて来た若手の先生方の活躍が期待されます。
また、理工系・情報系の大学との連携や、情報系を専門とする大学教員による教員免許状更新講習なども実施されていますので、これらから知識や技術を得る機会もあります。
中学生がプログラミングを学ぶメリットとは?
すでに小学校でプログラミング教育が必修化しましたが、中学校でもプログラミング教育を継続的に進めることにより、論理的思考力や創造性、問題解決能力を養うことができます。
中学校で初歩的なプログラミングを修得しておくと、高校以降で学習するもう少し高度なプログラミングにも、スムーズに慣れることができます。
今後、大学入試共通テストでもプログラミングに関する内容の出題が予定されていますので、その準備や対策にもなります。
また、将来職業としてIT関連を検討する機会が得られることも大きなメリットです。
チームワークや総合的なICT教育を学べる「スタープログラミングスクール」
【中学生向け】おすすめのプログラミング学習手法
中学生では、プログラミングの参考書を見て理解しながら学習を進めることが、正しくアルゴリズムやプログラミングを理解する近道です。また、どのようなものができるかを知る観点から、サンプルの利用という意味ではネットにあるサンプルプログラムも参考にして良いでしょう。
中学生におすすめのプログラミング言語は何?
家庭での学習環境を考えると、易しく始められる、無料で使える、といった条件がプログラミング言語の選択基準となるでしょう。また、世界的に使われていることが望ましいです。ここでは、これらの条件を満たすプログラミングをいくつかご紹介します。
Scratch(スクラッチ)
https://scratch.mit.edu/projects/548638034/
「Scratch(以下、スクラッチ)」は、小学校で広く使われているビジュアルプログラミング言語です。文字によるコーディングは行いませんが、アルゴリズムを十分学べます。
スクラッチによるプログラミングをマスターしてから、コーディングを行う本格的なプログラミング言語に挑戦すると、スムーズに接続できます。
HTML、CSS、JavaScript(Webプログラミング)
HTML
Webブラウザでの表示した結果(画像を大きさを変えて表示させる)
HTML、CSS、JavaScriptは、Webページの作成に使います。HTMLは必ず使用しますが、CSSとJavaScriptは無くても大丈夫です。
最初はHTMLのみを使ったWebページの作成から始めるのが良いでしょう。学習が進んで来たら、CSSやJavaScriptも使い、デザイン性の高いものや動きがあるWebページに挑戦してみるとなお良いでしょう。
チームワークや総合的なICT教育を学べる「スタープログラミングスクール」
Python
Pythonプログラム
プログラムを実行した結果(掛け算九九)
「Python(パイソン)」は、近年最も注目されているプログラミング言語のひとつです。特にライブラリが充実しておりAIに関する研究にも利用されています。Pythonは「https://www.python.org/」からダウンロードできます。
POV-Ray
出典:POV-Rayで学ぶはじめての3DCG制作(講談社)
これまでに紹介したプログラミング言語とやや異なりますが、CGを作成するためのPOV-Ray(ポブレイ)も面白いです。プログラミングの結果が綺麗なCGで描画されるのも特徴です。POV-Rayは「http://www.povray.org/」からダウンロードできます。
中学生向けのおすすめのプログラミング学習サービス
プログラミングを学習する場合、参考書を読みながら学習することが一般的ですが、最近はオンラインプログラミング学習サービスがあります。
よく利用されているものに「Progate」があります。Progateは、Webブラウザで「https://prog-8.com/」にアクセスし、会員登録をすると利用できます。無料版と有料版がありますが、まずは無料版を試してみると良いでしょう。
出典:https://prog-8.com/courses(Progateの画面)
Progate以外にも、ドットインストールなど、沢山のオンライン学習サービスがあります。学習したい内容や学習目的に合わせて選んでみてください。
学習の流れ
中学生がプログラミングを学ぶ場合、HTML、CSS、JavaScriptでWebページの作成あたりからはじめてみるとよいでしょう。
HTMLのみでもWebページは作れます。結果も視覚的にわかりやすいので、初学者にはお勧めです。ある程度理解が進んだら、実際に作りたいものを決めて作成してみましょう。
Webページの作成ができるようになったら、Pythonでのやや専門的な内容のプログラミングに挑戦してみると良いでしょう。
プログラミングの学習過程においては、参考書、Webサイト、オンライン学習サービスなどを適宜利用してみてください。
チームワークや総合的なICT教育を学べる「スタープログラミングスクール」
プログラミングは小学生から学習すべき?
小学校では2020年度からプログラミング教育の必修化が開始されました。プログラミングは中学生からではなく、小学生から学習すべきなのかなどを考えてみましょう。
小学校におけるプログラミング教育の現状
小学校では2020年度からプログラミング教育の必修化が開始されました。GIGAスクール構想により、1人1台の端末と高速通信環境の整備を目指していますが、その状況には地域により差があります。
小学校でのプログラミング教育必修化は始まったばかりであり、多くの学校の教育現場では先生方のプログラミングスキルや授業への導入方法のノウハウが十分蓄積されていないなどの問題点があります。
創造力を形にするプログラミング教室「LITALICOワンダー」
小学校と中学校のプログラミング教育のカリキュラムの違いとは
小学校ではプログラミング教育は、各教科や課外学習で行われます。プログラミングそのものを行うことを目的としているのではなく、論理的思考力や創造性、問題解決能力の育成が重要な目的としています。
そのため、ビジュアルプログラミング言語のスクラッチなどが教育で利用されますが、プログラミングの技術を身に着けることは必須ではありません。
一方、中学校では、技術・家庭において実施されます。中学校ではプログラミング教育を行う科目が明示されています。プログラミング技術についても学びます。
小中学校におけるプログラミング教育 | ||
---|---|---|
― | 小学校 | 中学校 |
実施教科 | 各教科・課外学習など | 技術・家庭 |
プログラミング技術習得 | 必須ではない | 必須 |
ブロックでプログラミングの仕組みを学べる民間学童「ステモン! ウィズダムアカデミー」
小学校からプログラミングを本格的に学ぶメリット
2020年からの小学校におけるプログラミング教育の必修化からもわかるように、プログラミングは小学校のうちから学習する方が、利点があると考えられます。
中学生になって、いきなりプログラミングを始めるのではなく、小学校でプログラミングとは何か、プログラミング的な考え方を身に着けておくと、中学校の内容にスムーズに接続できます。
また、小学校でスクラッチなどのビジュアルプログラミング言語に触れてアルゴリズムなどを理解しておくと、中学校でキーボードからコーディングを行うプログラミングがやりやすくなります。
【小学生から本格的に学びたい子ども・親向け】おすすめ教材・サービス
小学生から本格的にプログラミングを学びたい場合は次のようなものがあります。
(1)参考書
最も一般的な学習方法です。ほとんどのプログラミング言語で複数の参考書があるので自分のレベルに合ったものを選ぶと良いでしょう。小学生が学習しやすい総ルビ(ふりがな付き)の本や、掲載されているプログラムがサポートサイトからダウンロードできるようになっている本もあります。
(2)オンライン学習サービス
「Progate」だけでも沢山のプログラミング言語に対応しています。また、学習サービスではありませんが、小学校で多く使われているスクラッチは、公式サイトに世界中から集まったプログラムが掲載されていますので、それらを参考にすると良いでしょう。
(3)プログラミングスクール
通学する形式のスクールやオンラインで行っているスクールがあります。スクラッチなどのビジュアル言語を扱うスクールでは、ロボットの制御などと組み合わせて教えているスクールもあります。
創造力を形にするプログラミング教室「LITALICOワンダー」
小学生~中学生のプログラミング教育に関するよくある質問
小学生、中学生のプログラミングで、よくある質問として次のようなものがあります。
そもそもプログラミングを必修化する目的は?子どもが学ぶ必要はないのでは?
小学校におけるプログラミング教育の目的(ねらい)は、文部科学省による小学校プログラミング教育の手引きで述べられています。論理的思考力や創造性、問題解決能力の育成が重要な目的であり、学ぶ必要がある理由として下記の内容が挙げられています。
・家電や自動車をはじめ身近なものの多くにコンピュータが内蔵されている。
・コンピュータをより適切、効果的に利用していくためには、その仕組みを知ることが重要。
・コンピュータはプログラミングで動いており、プログラミングを理解することにより、コンピュータをより主体的に活用することにつながる。
・子供たちの可能性を広げ、起業や特許を取得することにもつながる。
また、中学校、高等学校でもプログラミング教育が実施され、キーボードによるコーディング(英数字等を使ってプログラムを記述していく)でプログラミングを行う機会が増えます。
小学校でブロック形式のビジュアルプログラミングで基本的なプログラムの流れや構造を学んでおくことにより、これらに無理なく接続できると考えられます。
大学入試でもプログラミングが出題されるようになりますか?
2025年度から大学入学共通テストでも「情報」が科目として新設されます。プログラミングに関する問題が出題される予定です。
大学入試センターのホームページ(https://www.dnc.ac.jp/kyotsu/shiken_jouhou/r7ikou.html)にも、サンプル問題が掲載されています。
プログラミングを始める際に用意すべきものは何?
パソコンと学びたいプログラミング言語の参考書さえあれば学習できます。タブレットなどでもできますが、やはり画面が大きいパソコンが学習しやすいと思います。
また、小学校においてはプログラミングの技術のみを目的としているのではないため、プログラミングとは何か、プログラムは何に使われているのかなど、小学校の学習内容に準拠させた参考書を準備しても良いでしょう。
例として、筆者の著書「親子でかんたんスクラッチプログラミングの図鑑【Scratch 3.0対応版】/ 技術評論社」があります。
チームワークや総合的なICT教育を学べる「スタープログラミングスクール」
まとめ
中学校のプログラミング教育について解説しました。中学校ではプログラミング教育は技術・家庭で行われます。
中学校では小学校よりも、プログラミング技術そのものにも重点がおかれます。学習参考書やネット上の資料、オンライン学習サイトなども多数あり、学習環境が充実していますので、これらをぜひプログラミングの学習に活用してみてください。
プログラミング言語は目的により使う言語を選ぶことができます。学習が進んだ人はぜひさまざまな言語に挑戦してみてください。
創造力を形にするプログラミング教室「LITALICOワンダー」
実践重視のロボット・プログラミングが学べる「ロボット科学教育Crefus」
ブロックでプログラミングの仕組みを学べる民間学童「ステモン! ウィズダムアカデミー」
チームワークや総合的なICT教育を学べる「スタープログラミングスクール」
関連記事:小学校のプログラミング教育必修化とは?目的・内容・現状・家庭学習できる教材まとめ
※Scratch(スクラッチ)[ウェブアプリ、パソコン・タブレット用アプリ]。Scratchは、MITメディア・ラボのライフロング・キンダーガーテン・グループの協力により、Scratch財団が進めているプロジェクトです。https://scratch.mit.eduから自由に利用できます。CC BY-SA 2.0。

神奈川県横浜市生まれ、横浜国立大学大学院 工学研究科 人工環境システム学専攻 博士後期課程修了、博士(工学)。現在は、(学校法人東京農業大学)東京情報大学 総合情報学部 教授。画像処理、コンピュータグラフィックス、教育工学等の研究に従事し、教育面ではプログラミング教育、シニアや留学生へのICT教育等にも注力。サイエンスライターとしても執筆や講演の活動を行っています。子どもの頃は、水泳、習字、そろばんなどの習い事や、当時流行っていた切手や貨幣の収集、TVゲームができる近所の駄菓子屋さんなどで遊ぶことに夢中でした。現在も週に1度は泳ぎ、切手や貨幣の収集を継続しています。スクラッチプログラミングの著書に、「今すぐ使えるかんたんScratch」( 技術評論社)、「親子でかんたんスクラッチプログラミングの図鑑 【Scratch 3.0対応版】」(技術評論社)、「スクラッチプログラミング事例大全集」(技術評論社)があります。その他、多数の著書があります。