2021年から新学習指導要領が導入され、中学校でのプログラミング教育が必修化されています。新学習指導要領の告示は2017年におこなわれており、対応が早い一部の私立中学校等では2018年から2020年の移行期間中にプログラミング教育を始めているケースも多いです。
しかし、保護者世代からは「プログラミング教育として具体的に何を指導してくれているのかわからない」「我が子がどんなプログラミング教育を受けているのかわからず、親子間でのコミュニケーションが上手くいかない」という声も上がっています。小中学生に対するプログラミング教育の黎明期である今だからこそ、戸惑う人も多いでしょう。
本記事では、中学生のプログラミング授業の内容について解説します。どのような指導がおこなわれているのか知り、在学中に習得すべき知識・スキルを可視化することが大切です。
中学生が学校で学ぶプログラミングの内容
早速、中学生が学校で学ぶプログラミングの内容を解説します。下記で紹介するのは新学習指導要領に則った内容であり、中学校にいる間に最低限身につけておきたい学びと捉えましょう。
新学習指導要領におけるプログラミング教育の概要
新学習指導要領では、中学校におけるプログラミング教育の内容について下記の通り示しています。
- 生活や社会を支える情報の技術
- ネットワークを利用した双方向性のあるコンテンツのプログラミングによる問題の解決
- 計測・制御のプログラミングによる問題の解決
- 社会の発展と情報の技術
中学校におけるプログラミング教育は、小学校におけるプログラミング教育の発展版として位置づけられています。「2.ネットワークを利用した双方向性のあるコンテンツのプログラミングによる問題の解決」は新学習指導要領により新たに追加されており、従前にはない項目でした。一方、「1.生活や社会を支える情報の技術」など従前通りの指導内容もあり、基礎知識から時代ニーズに合った知識まで幅広く網羅していることがわかります。
現在、公立高校における「情報科」担当教員4411人のうち、別の教科の免許はあるが情報の正規免許は持たない「免許外教科担任」の数は124人に減りました。前年度が560人であったことと比較すると、大幅に減少しているとわかります。
「情報」は比較的新しい科目ですが、プログラミングに関する技術や知識のある先生が教壇に立つことが増え、今後も授業のクオリティが高くなるだろうと予想されています。
(参考:高校の情報科教員「正規免許なし」今年は4%まで減少 文科省調査)
下記では、上記で紹介した4項目それぞれにおける学習内容について詳しく解説します。
1.生活や社会を支える情報の技術
「1.生活や社会を支える情報の技術」では、主に下記について学びます。
- 情報の収集と活用
- デジタルツールの使用
- 情報セキュリティとプライバシー
- プログラミングの基礎
- 情報の正確性と信頼性
つまり、「情報を正しく収集して正しく活用する情報リテラシー」を養う項目です。インターネット上で膨大な情報収集ができる昨今、必要なときに必要な情報を取捨選択する力が求められるようになりました。デマが含まれているフェイクニュースや一方的な立場から見ただけの偏った情報などを正しく評価し、自分に役立つ情報を選び取る力も必要です。
「1.生活や社会を支える情報の技術」では情報収集について集中的に学び、同時にセキュリティやプライバシーに関する学びも習得します。Word・Excel・PowerPointなど最低限必要なOAソフトを触ってみるシーンもあり、情報の整理・伝達法を学ぶことも多いです。
2.ネットワークを利用した双方向性のあるコンテンツのプログラミングによる問題の解決
「2.ネットワークを利用した双方向性のあるコンテンツのプログラミングによる問題の解決」では、主に下記について学びます。
- ネットワークの基礎
- 双方向性のあるコンテンツ
- プログラミングによる問題解決
- セキュリティとプライバシーの考慮
ネットワークの基本的な概念や仕組みについて学び、インターネットやローカルネットワークに関する知識を習得します。そのうえで他ユーザーとの双方向型のコミュニケーションについて学び、リアルタイムでの情報交換をできるようにしていくのがポイント。
プログラミング言語や開発ツールを使ってコンテンツを作っていくシーンも多く、時にはWebサイト制作やAIツールの利用も指導に含まれます。また、悪意のあるスパムやマルウェア(ウイルスを含む有害なソフトウェア)から情報を守る仕組みも学び、情報の適切な扱い方について考えます。
3.計測・制御のプログラミングによる問題の解決
「3.計測・制御のプログラミングによる問題の解決」では、主に下記について学びます。
- センサーとの連携
- データの解析
- 制御の実行
- 自動化の実現
コンピューターとセンサーを連携させることによるロボットの動かし方など、自動化を促進する知識を学びます。例えば「温度が一定の基準を超えたときにアラームを鳴らす」「センサーで障害物を検知してロボットの動きを変える」など、実生活に役立つプログラミングができるのが特徴です。
効率的な運用や生産性の向上を叶えるための項目であり、小学校でのプログラミングとは違ってより実践的な学びを得られるのも面白いポイント。自動で動くロボットやAIを使った便利な仕組みに興味のあるお子さんは、特に楽しみながら勉強できる単元です。
4.社会の発展と情報の技術
「4.社会の発展と情報の技術」では、主に下記について学びます。
- 情報化社会の理解
- 問題解決力の養成
- 論理的思考力の養成
これまで学んできたことを最大限活かすため、「プログラミング思考」を育てる単元と言えます。問題解決力や論理的思考力の養成を主な目的としており、「なぜ」「どうして」を徹底的に考え抜くトレーニングがされるのが特徴です。
例えば、実際にインターネット上で収集した情報が正しいかチーム制で検討したり、オンライン上で国際コミュニケーションを取りながら異文化交流について理解を深めたりすることもあります。その他、プログラミングに関する最先端技術を採用している企業の見学(社会科見学)に足を運ぶ中学校も多く、「机での学び」と「現場での学び」をリンクさせる単元として活用されます。
中学校プログラミングの具体的な授業内容は?
実際のプログラミング授業では、下記のように日常生活とリンクさせながら知識・技術を習得していきます。
- ラジコンカーの制御をプログラミングする
- プログラミング技術を使って簡単なゲームを作成する
- 音楽を作成するためのプログラミング言語やツールを使ってみる
- AIツールを使った画像認識に挑戦する
- プログラミング授業で制作した作品を発表・公開する
プログラミング技術を使って具体的な作品を制作する授業もあれば、既にあるプログラミング技術について意見交換するような授業もあります。中学生でも身近に感じられるような内容が多く、「プログラミングが実生活にどう役立っているか」を知るきっかけになるのもポイントです。
下記では、それぞれの内容について詳しく解説します。
例1:ラジコンカーの制御をプログラミングする
micro:bit(マイクロビット)の無線通信機能を使ってプログラミングし、四輪車をラジコンカーとして制御する授業です。
簡単な組み立てキットを使う手法で、ラジコンカーなどロボットの内部まで確認しながら作業できるのがメリット。
「機械の中身はどうなっているの?」「どの部品がどんな役割を果たしているの?」という分析ができます。
どんな動きをさせるかは、プログラミングの内容により異なります。
- 速さにこだわってラジコンカーレースをする
- 複雑な迷路内を正確に走るラジコンカーを作る
- 決められたルートを繰り返し走行するラジコンカーにする
など、工夫はさまざま。アイディア次第でどんなラジコンカーにすることもでき、創造の幅が広がります。
例2:プログラミング技術を使って簡単なゲームを作成する
プログラミング技術を使って、下記のような簡単なゲームを作る授業もあります。
- 迷路ゲーム
- レーシングゲーム
- シューティングゲーム
- キャラクターを動かす横スクロール系ゲーム
- 計算・漢字などドリル系クイズゲーム
複数人でチームを組んでゲームを作ったり、友達が作ったゲームと交換して遊びあったりすることも可能です。時にはスコアを競いながらバトル式で楽しむこともあり、授業が盛り上がるのもポイント。
身近で楽しい「ゲーム」という切り口でプログラミングを学べるので、興味関心を刺激される子が多い印象です。
例3:音楽を作成するためのプログラミング言語やツールを使ってみる
MIDI音源を使った簡単な楽器演奏をプログラミングで自動化し、楽譜を音にしていくツールを開発します。オクターブ上に移るときは 「^」 を、オクターブ下に移るときは 「_」 を指定する、などプログラミングコードに変換しながら入力していくのがポイント。音符の長さや音の高さも指定でき、どこまでもクオリティを追及できます。
コードによる伴奏とドラムによる打楽器演奏を合わせるなど、プログラミングと本物の音楽を合体させる方法もあります。もともと音楽に興味のある子であれば、ハイレベルな作品を目指して努力できるかもしれません。
例4:AIツールを使った画像認識に挑戦する
AIツールを使って画像認識に挑戦する授業もあります。例えば、下記のようなことに挑戦することが多いです。
- フリー画像を使った広告風バナーの制作
- 写真をもとに商品分類する機能の実装
- 画像の一部を自動で変えて間違い探しゲームを量産する
- 画像の明度に合わせて自動で画面の明るさを変える機能を実装する
同時に、生成AIの特徴やリスクを学ぶこともあります。今話題のChatGPTを活用するアイディアを募るなど、画像認識以外のAI活用法を探ることも多いです。
例5:プログラミング授業で制作した作品を発表・公開する
中学校のプログラミング授業で制作した作品は、プレゼンテーション形式で発表することがあります。自分の作品ならではの特徴をわかりやすく伝える工夫ができるので、プレゼンテーション能力やコミュニケーション能力の向上を図れるのがポイント。同時に、他の人のプレゼンテーションに耳を傾ける機会も作れるので、自分にはないアイディアや独創性を学ぶ機会にもなります。
学内でのプレゼンテーションの他、文化祭でのパネル展示や授業参観での発表をすることもあります。発表の方法も多岐に渡るので、中学校ごとの工夫が見られる単元と言えるでしょう。
プログラミングで身につく能力
次に、プログラミングで必要とされる能力について解説します。下記の能力は、エンジニアやプログラマーにならなくても将来的に役立つスキルです。高校や大学で役立つことも多いので、「プログラミング関連の仕事には就かないから…」と安易に考えずチェックしてみましょう。
論理的思考力
論理的思考力があると「なぜ」「どうして」を徹底的に考えることができ、自分なりの考えを言葉で形にできるようになります。トライ&エラーを繰り返すことの多いプログラミング分野では特に論理的思考力を鍛えやすく、ちょっとのミスではへこたれない粘り強い姿勢を育成します。
また、論理的思考力は普段の勉強やスポーツ・音楽など芸術の分野でも役立ちます。
「どうしたら数学であと10点取れるようになるだろう」
「どうしたらもっと透き通るような音色を出せるようになるだろう」
と考える癖がつけば、どの分野でも自分と向き合える人になっていくでしょう。論理的な手順で解決法を考えられる中学生になれば、困難に立ち向かう力が身につきます。
問題解決力
問題解決力があると、問題があると気づくだけでなく「どうすれば解決できるか」を考えられるようになります。また、考えた問題解決策を実行に移すこともできるので、効率的かつ正確に次のステップに進めるのがメリット。
試行錯誤しながらエラーやバグを修正していくプログラミング分野では、特に問題解決力を伸ばせます。
創造力
プログラミング分野ではアイディア重視でシステムやコンテンツを作ることも多く、独創的な提案ができるようになります。各々のアイディアを発表する場があったり、人のアイディアを見て自分の作品に活かしたりする力が身につくでしょう。既存の問題に新たな視点でアプローチすることもでき、より効果的な解決策が見つかります。
また、「自分のアイディアを形にする」という純粋な喜びを感じられるのもメリット。喜びがモチベーションに変わる人も多いので、座学だけでは実感できない学習ができます。
コミュニケーション能力
プログラミングはチーム制で実行することも多く、他の人と情報交換したり、時にはリーダーシップを発揮して全体をまとめたりすることも必要です。中学生のプログラミング学習ではシミュレーション型のロールプレイをすることもあります。
プログラミングスキルを個人でコツコツ身につけることも、友人と会話しながら独創的なアイディアを形にすることもできるので、授業の時間を有効活用していきましょう。違う意見を持つ友達の話に耳を傾けたり、自分の意見を正確に伝えたりするコミュニケーション能力は、今後も長く役立つスキルです。
プログラミング教室に通って勉強することのメリット
最後に、プログラミング教室に通って勉強するメリットを解説します。学校でもプログラミングの指導が始まっていますが、あえて民間のプログラミング教室を使う理由を探っていきましょう。
ゲームなどの遊びを主体に楽しく学べる
学校の授業は一定のカリキュラムや指定の学習教材に則って進むことが多く、成績がつけられるため「やらされている感」が出てしまうのがデメリットです。プログラミング教室では親しみやすいキャラクターや話題のゲームソフトを使って「楽しく学ぶこと」に重きを置いており、プログラミングに対する純粋な興味・関心を刺激できます。楽しいからこそ長続きでき、楽しいからこそスキルや技術も上がっていく、という良いサイクルを作れるのです。
プログラミングへの苦手意識をなくしたいときにも活用できるので、「好きこそものの上手なれ」を目指したい人こそプログラミング教室を使いましょう。
「作り方」や「作った後」について学べる
プログラミングは「作って動けばよい」というものではなく、作り方や作った後の活用法も大切です。世の中で多くの人に役立っているシステムはたくさんありますが、実際にそのようなシステムを組んでいるのは学校の先生ではなく、エンジニアやプログラマーなどの技術職です。
プログラミング教室には実務経験のあるエンジニア講師が多数在籍しており、「作り方」や「作った後」について学べるのがポイント。学校のカリキュラムに沿うことはもちろん、一歩踏み出した実践的なプログラミング学習がしたいときにおすすめです。
受験対策や内申書対策になる
プログラミング教室では、予備校や学習塾と同じく「入試におけるプログラミング」について定期的に情報収集しています。そのため、例えば大学入試共通テストにおける「情報」科目にプログラミング要素が加わっていることに関する情報収集ができるのがポイント。その他、総合型選抜(旧AO入試)においてプログラミングを評価する学校が増えていることなど、最新のトレンドを学べます。
高校生になってからは具体的に入試対策のためプログラミング教室を利用する人もいるので、チェックしておきましょう。中学生でも推薦での高校入試対策のためプログラミング教室を利用したり、プログラミング教室主催のコンテストに出場したりする人も増えました。技術を学べるだけでなく、一石二鳥の効果があるからこそプログラミング教室利用者が増加しています。
おわりに
中学生のプログラミング学習は、新たにネットワーク部門の単元が増えるなど内容が少しずつ変化しています。できる限り親子ともに学習内容を把握し、必要なスキルを可視化するなど工夫しておきましょう。
子ども向けプログラミング教室「QUREO」では、中学生向けのプログラミング指導も可能です。中学生のうちにプログラミングへの苦手意識をなくし、興味を伸ばしたい人はお気軽にお問い合わせください。