この記事の目次
未来を切り拓く力を育てる中学校のプログラミング授業の全貌!学び方も一挙公開!
未来を切り拓く力を育てる中学校のプログラミング授業の全貌!学び方も一挙公開!
公開日:2022/11/01
更新日:2024/11/20
プログラミングの授業が中学校では2021年より学校教育で必修化されました。興味のない生徒にとっては勉強する科目が増えただけと感じるかもしれませんね。今回は、中学生がどうしてプログラミングを学ばなければいけないのか、学ぶことはどんな意味があるのかに触れながら、学校教育のみで学習や技術の習得が可能なのか、また、授業内容を踏まえて家庭で学習することができるのかどうか。そのメリットやデメリットとは何なのかを解説していきます。そのうえで、おすすめのプログラミングの学習方法も紹介していこうと思います。
1.中学校のプログラミング教育とは?
小学校では、文字入力など基本的なパソコンの使い方を学びつつ、新たにプログラミング的思考を育成する指導内容となっていました。ところが、中学校の場合は、コンピュータにさらに親しみながら、技術面の指導が強化されています。これは、中学の技術・家庭科において、プログラミング・情報セキュリティに関すること。すなわち「継続・制御のプログラミング」に加えて、「ネットワークを利用した双方向性のあるコンテンツのプログラミング」についても学んでいくことに重点が置かれるようになったためです。そのため、具体的な授業内容も、実際のプログラミングと物理的な技術をかけ合わせたり、問題解決に対してプログラミングスキルを用いて解決を図るようなものになっています。
1-1.2021年中学校でプログラミング教育が全面実施
2021年にプログラミング教育が全面実施になったことで、学習指導要領も変更になりました。2020年以前は「メディアを使って表現や発信方法を学ぶ」というものでしたが、2021年からは「ネットワークを利用した双方向性のあるコンテンツのプログラミング」になっています。
これだけで見ても専門性が高まったように思いますが、実際にその通りで、2021年以降の具体的な学習内容は「システムの仕組みへの理解」「システムの構想」「課題の設定と対処」が中心になっています。従来の仕組みを学ぶというところだけに留まらず、より実用的な学習へとシフトしているのです。
1-2.国語や数学、英語と同様に「プログラミング」も早めの学習が必要
プログラミング教育の一つのゴールは、プログラミングスキルを身につけることです。本格的なスキルを習得するには、プログラミングの基本的な概念への理解が不可欠です。慣れない世界の概念を理解をするのは容易ではないため、時間をかけて身につけていこうというのが、プログラミング教育の一つの趣旨なのです。ですから、中学校よりも一足早く小学校でプログラミング教育が必修化されたわけです。
2.中学生のプログラミング授業「技術・家庭科」では何を学ぶ?
中学校で必修化されたということですが、その科目の授業で学んでいるかというと「技術・家庭科」の授業だったのです。驚かれた方がいるかもしれませんね。でも、グループを組んで情報発信のためのプログラムやチャットシステムを作ったり、センサを使ったセキュリティシステムを作ったりするので、チームを組みやすく、学びやすい環境でいうと「技術・家庭科」かもしれません。そこで、プログラミングに関する知識、技能、プログラミング的思考、課題解決力を身につけていきます。
また、このとき何が課題になっているのか、どんなふうに解決できたらいいのか、といったことをみんなでディスカッションしたり、お互いでプレゼンテーションし合ったりもしたりして論理的思考力と課題解決の力を身につ着けるようになっています。ここで身につけたスキルは、少し高度になっていく高校のプログラミング教育にもつながっていくもので、高校の授業が近いしやすくなると思います。
3.大学入試と「情報Ⅰ」
中学校からプログラミングを学ぶことは、将来の大学入試にも深く関わってくることをご存知の方はどのくらいおられるでしょうか。大学を飛び級で受験するわけではないので、直接的には関係ないように思われますが、2025年1月から大学入試にもプログラミングを含む情報科目が全面的に実施されることになりました。これによって、中学校で学んだプログラミングスキルが、大学入試の一部として評価されることになったということです。中学校で基礎的なプログラミングスキルを身につ着けた後、高校の「情報Ⅰ」の授業でさらにその知識を深めます。中学校での基礎があるからこそ、大学入試での情報科目に対応できるようになるというわけです。中学時代に基礎をしっかり固めていないと、大学入試で厳しい状況に直面するかもしれません。
4.中学校のプログラミング教育必修化の背景・目的
2021年から中学校でプログラミング教育が全面的に実施されるようになった背景には、情報化社会の進展、グローバル社会における競争力の向上、IT人材への需要増が大きく影響しています。
現代の私たちは、スマートフォンやパソコンから常に情報を得る生活をしています。価値ある情報のやりとりを中心に発展していく社会の中で、「プログラミングとは何ぞや」ということを早く理解し、活用できていくことはとても重要な意味を持ちます。情報化社会は日本のみならず地球規模で進展していることから、今後ますますIT人材への需要が増していくことはわかっています。同時に海外企業との競争は激化していくはずです。そうした中で若者が生き抜く力を持つには、プログラミング的思考力は必要不可欠と言っても過言ではない状況にきています。
4-1.論理的思考力を養う
物事を順序立てて正しい知識やデータをもとに考える能力が論理的思考力です。自分の頭の中にあることを実現したい、あるいは課題を解決したいと考えた際に欠かせません。原因と過程、そこから導き出される結果とのつながりを考えられることが論理的思考力の重要な点です。正しい指示を与えなければ思うように動いてくれないプログラミングは、そうした能力を養うために役に立つのです。子どもの頃から学べば、感情的な判断ではなく、原因の究明や探求、目標へのプロセスなどを冷静に考える能力を身につけられます。
4-2.問題解決能力を身につける
科学や数学など理系科目の知識や技術を横断的に活用しながら課題解決や判断の能力を養う「STEM教育」の一環として、プログラミングは重要な役割を担います。プログラミングを駆使し、コンピュータや機械に仕事を与え実行させれば、人の手では難しいレベルの作業を行わせることが可能になるのです。人間がこれまで抱えてきた問題や課題に対しプログラミングを活用して解決・効率化できれば、社会に大きく貢献することにもつながるでしょう。
4-3.飛躍的に進歩するIT時代を生き抜
科学技術の発展は目まぐるしく、10年先の未来さえ予測するのが難しくなっています。しかし、今後も社会がITに支えられることはおそらく変わらないでしょう。むしろ、現在では予想もできないようなITに関わる技術や製品が次々と登場してくるはずです。早い段階でプログラミングの知識や技術を習得しておけば時代に順応しやすくなりますし、従事できる仕事の幅を広げることにもつながるでしょう。IT人材としてはもちろん、IoT化が進むさまざまな業種でも重宝される人材となれる可能性が高まります。
4-4.世の中の仕組みを理解しやすくなる
スマートフォンやパソコン、ウェアラブル端末などのIT機器を持っている人が多くなった時代となりました。AIやDXが発展・浸透し、社会に当たり前のように存在していく中で、プログラミングを含めたITの知識や素養の重要性は増してきています。ITが子どもを含めた一般の人にまで行き渡っている世の中を深く理解するためには、ITの知識が欠かせないものとなっているのです。プログラミングを学ぶことで世の中の仕組みとともに流れの理解や把握ができ、知識や技術を持たない人と比べて社会を広く、かつ俯瞰してみられるようになるでしょう。
4-5.自己実現の可能性を高められる
プログラミングは、頭の中にあるものの具現化に用いられます。プログラミング学習を通じて脳を鍛えることで論理的思考力や課題解決力が養われ、それが自己実現の可能性を高めることにつながるのです。目標や夢を達成できれば、より人生を豊かに過ごせるようになるでしょう。また、プログラミングや高度なITの知識・技術は働き方を多様化させます。選択肢が増え、雇用形態や働く場所にとらわれない生き方もできるようになるはずです。フリーランスや実業家として成功するチャンスも得やすくなるでしょう。
5.中学校でのプログラミング教育の概要
冒頭で触れたように、2021年から全面実施となった学習指導要領にはプログラミング教育も含まれています。以前からプログラミング教育は開始されていたものの、論理的思考に加えて技術面も重視されるようになりました。技術・家庭科技術分野にて「プログラムによる計測・制御」「ネットワークを利用した双方向性のあるコンテンツのプログラミング」について学べるよう拡充されています。では、具体的にどのようなことを学校で学べるのか解説していきましょう。
5-1.中学校の授業で学習できる内容
小学校では、プログラミングを体験しつつコンピュータを扱うための論理的思考力を身につける学習が実施されます。中学校では、さらに社会を支える身近な技術に触れながら問題や課題を見出し、解決するための能力の育成が行われます。新たな学習指導要領の特徴は、生徒自身が考えて実践で扱える知識や技術を学ぶ点です。従来の基礎的なプログラミング学習やWebサイトの作成方法を単に教員が生徒に教える受け身の授業ではありません。ネットワークの仕組みや効果的な利用方法などを生徒自身が主体的に考え実行することで、将来役に立つ能力を養うことが可能です。
5-2.実施された授業例
文部科学省が公表する「中学校技術・家庭科(技術分野)におけるプログラミング教育実践事例集」から、具体的に実施された授業例をいくつかみてみましょう。
5-2-1.Society5.0 におけるプログラミングの役割とは?
日本が目指す未来の社会超スマート社会を意味する「Society5.0」は、現実と仮想を融合させ、経済発展と社会課題を解決する取組みです。まだ知識の乏しい子どもたちにとって難しい用語であり課題です。そこで、実際の授業ではSociety5.0を具体的にイメージできる動画を用い、将来予測される社会を疑似体験させます。動画内にはIoTなど未来の社会の姿が登場し、それらはプログラミングにより可能となっていることを伝えます。社会の抱える課題や問題が解決された社会像を提示し、そのためにはプログラミングが不可欠であると示すことで、プログラミング学習の意義や重要性を説くのです。生徒自身が社会問題や解決のために必要なものに気づくことが、この授業の役割でありポイントです。
5-2-2.みんなを幸せにする自動ドアのプログラムを作ろう
「子ども用品店の自動ドア」の問題や課題の発見・予想をさせ、それを解決するための方法をプログラミングの観点から導き出す授業事例があります。例えば、自動ドアはセンサによって開くため、親が目を離した隙に子どもだけが店外へと出てしまう可能性があります。このような問題を解決するために、センサの設置場所や感度の調整をプログラミングにより行うなどの案が生まれてくるでしょう。具体的にプログラムを組んでいく過程で新たな課題が見つかり、それを解決するための思考力や技術力を養うことも可能な授業構成となっています。
6.中学校のプログラミング教育の課題
中学校のプログラミング教育には課題があります。いくつか紹介していきましょう。
6-1.指導・授業展開の難しさ
そもそも、プログラミングを学ぶ意味を中学生に教えて理解してもらうのは簡単ではありません。さらに、実際にプログラミングの知識や技術を理解してもらい、実践できるよう指導したり授業を行ったりする必要があります。わかりやすさを保ちつつ、学習の目的を達成できるカリキュラムを作り、それを余すことなく進めることは難しいでしょう。一部の学校ではできたとしても、それを日本全国の中学校で差が生じないよう行うとなるとさらに難しくなります。この現状をどう乗り越えるのかが大きな課題です。
6-2.指導教員のレベルアップが必要
生徒にプログラミング学習の意味や技術を正確に伝えるには、指導する教員もそれらを理解していなければいけません。しかし、プログラミングの知識が豊富な教員は少ないのが現状です。歴史や国語の授業などとは異なり、時代の変化により価値観や社会での在り方、技術が次々と入れ替わる分野でもあるため、それについていける指導教員の育成が求められます。技術の発展や進化に合わせ、日々の業務で忙しい中での教員自身のレベルアップも、正しいプログラミング教育のためには欠かせないのです。
7.中学校でプログラミング言語は勉強するの?
中学校のプログラミング教育では、本格的なプログラミング言語を学ぶわけではありません。代わりに、ビジュアルプログラミングといって、テキストによるプログラミングではなく、視覚的な要素を使ってプログラミングすることを行っています。具体的には、ブロックやアイコンを組み合わせて、流れや処理の手順を決め、一つのシステムとして作るというものです。このときに使われているのが「Scratch(スクラッチ)」と呼ばれるプログラミング言語です。指導要領には、ネットワークを利用した双方向性のあるコンテンツのプログラミング情報活用がありますが、Scratchのようなビジュアルプログラミングを使うことで、理解しづらい情報やネットワークの処理技術などを視覚的かつ直感的に学んでいけるようになっています。
8.中学生はプログラミングを独学できる?
中学校では実践的なプログラミング教育が進められてはいますが、プログラミングを学ぶことは、未来の可能性や選択肢を広げる一つの方法です
では、独学で技術などを習得することはできないのでしょうか。実際に自分で勉強を続けてアプリ開発をしている高校生や大学生も実在しています。学校で学ぶ以外の方法で、中学生がプログラミングの知識や技術を身につけられるのか考えてみましょう。
8-1.プログラミング必修化で身近になった
プログラミングの授業はすでに必修化されているため、多くの子どもたちにとっては身近なものとなっています。学校の教科書でも目にし、友人や家族との会話でしばしば話題にのぼることもあるでしょう。プログラミングを学ぶことに対する心理的ハードルは下がっているはずです。あとは、意欲や動機さえあれば独学によりプログラミングの知識や技術を身につけることができます。学校の授業や社会生活を通じてIT技術に触れる機会が多い子どもは特に自分自身でも学んでみたいと感じたり、学ぶ必要性があると思ったりするようになるでしょう。
8-2.Web上に無料の情報や動画がある
Web上にはさまざまな情報があふれていて、プログラミングに関しても例外ではありません。英語圏のサイトも含めれば、無数に存在しているといってもよいでしょう。そして、そうした情報は日々増え続けています。子どもの利用者も多いYouTubeにもプログラミングに関する授業や解説を取り扱っているチャンネルがあります。意欲と時間さえあれば、無料で勉強できる環境はすでに整っているのです。新たな技術が生み出されるたびに、Web上の情報も更新されていきます。お金をかけずに独学でプログラミングのスキルを身につけられるため、少なくとも経済的な理由で勉強を諦めなければならないことはないでしょう。
8-3.優れた教材や書籍が手に入る
Web上にプログラミングに関する教材を無償で公開している企業や団体は多く存在しています。また、お金をかけることでさらに良質なプログラミング書籍を手に入れることもできます。Amazonなどを利用すれば、自宅にいながら教材の入手が可能です。より専門的な授業を受けたい場合には、オンライン講座という選択肢もあります。オンライン講座には中学生向けのプログラミング講座もあり、学校では難しい専門家による本格的な授業が受けられます。優れた教材は無料でも有料でも手に入れられるため、意欲次第でいくらでも高度な知識や技術を学ぶことができるのです。
9.中学生がプログラミングを自分で学習するメリット
学校教育以外にもさまざまな学習教材が存在するなかで、子どものプログラミング学習方法について悩む人も多いのではないでしょうか。ここでは、中学生がプログラミングを自分で学習するメリットを説明します。
9-1.主体的に学ぶ姿勢が培われる
独学の場合は、課題発見や解決に至るまで自分自身の頭で思考する必要が生じます。誰かにすぐに質問して答えをもらうのではなく、自分で考えて情報を集めながら解いていかなければいけません。その癖を身につける過程で、将来的に疑問や壁にぶつかった際、自らの力で解決できる能力を養うことができます。わからないことを放置せず、また、新たな学びが必要になった際には積極的に動ける大人になる可能性が高まるでしょう。 プログラミングは特に進化や発展が著しいため、常に学び続けることが求められます。独学により主体的に学ぶ姿勢も培われ、子どもたちが能動的に考え実践していくアクティブラーニングにも効果的に働くでしょう。プログラミング以外の分野でも必須の能力が身につけられる点が、独学の大きなメリットです。
9-2.自分の課題を発見し創意工夫をして乗り越えられるようになる
学校の授業や講師に教えてもらう環境では、課題や問いを人から与えられる機会が多くなります。そのような環境では、課題を見つけなければ社会はよくならず、自分自身の知識や技術も向上しないということになかなか気づけません。また、学校教育のみでは取り扱う範囲も限られており、就学中に触れられる分野や知識も限定されてしまいます。自分で学習を進めていくと「よりスマートなコーディングはできないか」「実現したい処理を行うにはどうしたらよいか」などと自分の頭で考え、創意工夫する習慣が身につきます。与えられるばかりではなく、自分自身でより高いレベルに達する意識を持つようになり、実際に行動するようにもなるはずです。自分にも厳しくなることで達成力や実現力も養われていくでしょう。
10.中学生がプログラミングを自分で学習するデメリット
学校教育以外にもさまざまな学習教材が存在するなかで、子どものプログラミング学習方法について悩む人も多いのではないでしょうか。ここでは、中学生がプログラミングを自分で学習するメリットを説明します。
10-1.知識やスキルが偏る可能性がある
中学校で学べるプログラミング知識は限られています。それを補完する目的で、家庭内で自主的に学習したとしても将来的に役立つ知識や技術が学べるとは限りません。子どもであれば興味のあるゲームに関するプログラミング学習に特化し、それ以外の知識はまったく身につかないといったケースもあり得るでしょう。一人であらゆる知識や技術をバランスよく習得することは簡単ではないのです。得意な分野は学ぶ一方で、苦手な点やわからない部分を放置したままにしてしまえば、将来的な挫折にもつながるかもしれません。知識や技術が偏ると、いざ問題に直面した際に解決できない可能性が出てくるといったデメリットも挙げられます。
10-2.わからないところが解決できなかったり時間がかかったりする
プログラミングの学習を進めていく過程で、自分自身ではどうしても解決できない問題が出てくることがあります。一生懸命向き合って解決できたとしても、必要以上に時間がかかってしまうケースもあるはずです。もし身近にプログラミング知識のある人がいれば、ヒントを与えてもらうことで解決までの時間を短縮しやすくなるでしょう。課題解決までの時間が短縮できれば、限られた期間の中で得られる知識や技術の量も増えます。独学で、かつ家庭内に専門知識を持った人がいなければ、中学校の3年間で思ったように学習が進められなかったという結果にもなりかねません。独学であっても家庭で学習する場合にはプログラマーやエンジニアなどが身近にいることが望ましいでしょう。
10-3.行き詰まりやモチベーションの低下で挫折しやすい
中学生の多くはまだプログラミングの知識も乏しい状態であり、一人では解決できない問題や乗り越えられない壁なども多々出てくるはずです。あまりにも難しい問題の場合、途中で投げ出してしまうリスクも生じます。これも自分で学習するデメリットとなるでしょう。糸が切れたように意欲がなくなってしまえば、プログラミングの学習そのものをやめてしまう可能性もあります。指導者や一緒に学ぶ仲間がいれば放り投げたり挫折したりするなどのリスクは抑えられるはずです。
11.中学生におすすめのプログラミング学習法
中学生向けの教材は他の教科と比べて決して多いとはいえませんが、家庭学習がうまくいかない理由とはなりません。上述したように一人で解決できない状況に直面した際、周囲に支えとなる存在がいるか否かがポイントとなります。ここでは、中学生がプログラミング学習の成功へと近づくためのおすすめの方法を紹介します。
11-1.経験者のサポートを受けながら家庭で学習する
親や近隣の人、親戚などにプログラミング経験者がいれば、家庭での学習でも成功しやすいでしょう。課題や問題に直面した際や挫折しそうな状況でサポートやアドバイスが得やすいためです。子どもにとっては非常に大きな力になるでしょう。家庭で学習が続けられるかは、教材選びよりも継続的かつ確かなサポートが受けられるかどうかが重要なのです。
11-2.プロの講師から指導を受ける
もし身近にプログラミングに詳しい人がいないのであれば、学校教育と家庭学習のみで本格的に学び続けることは難しいかもしれません。子どもに意欲や才能があったとしても、周囲の助けは必ず必要となります。本人が努力を続けるためにも、専門的な知識を持った大人のサポートやアドバイスは欠かせません。教材を買い込んだり自宅の環境を整えたりするのであれば、プログラミング教室などに通ってプロのコーチやインストラクターの指導を直接受けるのも1つの手です。挫折もしづらくなり、効率よく学べるため学習スピードも格段に上がるでしょう。例えば有名なプログラミング教室でいうと、全国に網羅している「プログラミング教育 HALLO」などがあります。
12.まとめ
中学校のプログラミング教育が2021年に全面必須化になったことを受けて、学校の授業だけで将来の大学入試や社会生活に対応していけるのか心配になっている保護者も少なくないかもしれません。プログラミングはトライ&エラーを繰り返すことで身につ着くものです。つまづいたときに適切なサポートを受けられることが学習意欲の継続につながります。プログラミング教育 HALLOではプロの教師が個人のペースに合わせてサポートしてくれますので、ぜひ検討してみてください。
執筆者:プログラミング教育HALLOコラム編集部
更新日:2024/09/02
子ども(小学生・中学生)向けパソコン教室とは?料金・カリキュラムについて紹介
プログラミングが必修科目になることを受け、パソコンやプログラミングの習い事に関心を持つ親が増えてきています。ところで、パソコン教室では具体的にどのようなことを習うのでしょうか。
更新日:2022/10/25
小学校ではプログラミング言語を習わない?授業の目的や内容を紹介
小学校では2020年からプログラミング学習が必修化されています。複雑なプログラミングを子どもに扱えるのか不安に思う親も多いでしょうが、実は小学校の授業ではプログラミング言語は扱いません。