トピック

プログラミング教育は、生徒が「未来を見据える」ひとつの手段

――東京成徳大学中学・高等学校が実践するSTEAM教育

東京成徳大学中学・高等学校、中学1年生のプログラミング授業

小学校で必修化されたプログラミング教育。中学・高校でどのようなプログラミング教育が受けられるのか、保護者の関心も高まっている。特に、私立校においては、プログラミング教育やAIを活用した授業に力をいれる学校も増えており、東京成徳⼤学中学・⾼等学校(以下、東京成徳中⾼/東京都北区)もその1つだ。

ICT教育に力を入れ、Appleの認定校である同校は、コンピュター教室を刷新。壁一面に投影できる大型プロジェクターとMacBook Pro 40台を整備し、STEAM教育の環境を充実させた。また、東京工科大学との連携も開始し、中学2年生ではPythonの授業もスタート。どのような取り組みを行っているのか、内容を紹介しよう。

プログラミング教育、経験を通して生徒の可能性を広げる

「成徳」の精神を持つ、グローバル人材の育成を教育理念に掲げる東京成徳中高。同校では、中学2年次に全員が短期留学に参加するなど英語教育、グローバル教育に力を入れている。

それに加えて、この数年、カリキュラムを充実させているのがプログラミング教育だ。2022年9月には「LC(Learning Commons)」と呼ばれる新たなコンピューター教室を整備し、MacBook Proを40台を導入。1人1台のiPadに加えて、生徒たちがより高度なツールを使って作品制作などに取り組めるようにした。

「LC(Learning Commons)」と呼ばれるコンピューター教室。壁面一面をホワイトボードにして大画面で映写できるプロジェクターを設置。eスポーツ部用に高スペックなゲーミングPCも揃えている
東京成徳中高 木内雄太教諭

「本校では、創造性・主体性・チャレンジ精神を持つ『自律した学習者(Distinguished Learner)の育成をめざしています。その手段として、“未来を見据え、世界を知る、自分を拓く”という3つを軸にした教育活動を重視しているのですが、プログラミング教育は未来を見据えるための1つの手段です」と語るのは、同校の木内雄太教諭だ。

プログラミング教育は未来を見据えた学習活動のひとつ

これからの時代、テクノロジーを活用した課題解決力は必要なスキルであることから、同校では中学1年生と2年生でプログラミング教育を実施。授業では、スキルの習得を目的とするのではなく、プログラミングの学習経験から得られる気づきを重視しているという。

「プログラミング教育で大切にしているのは、生徒の可能性や選択肢を広げること、また生徒の多様性を支援することです。ロボットやPythonに触れて、“コンピューターを使ったものづくりは面白い”と感じたり、何かを解決するアプリを作ったりと、プログラミングを通して“作り手”の感覚を経験することが生徒の成長に大きな意味があり、早い時期から学んでほしいと考えています」(木内教諭)。

同校では東京工科大と連携し、同大学の講師による指導のもと、1年生はロボット教材「教育版レゴ マインドストーム EV3」を使ってプログラミングの概念を学び、2年生は「Python」の基礎文法を学習し、簡単なゲーム・アプリ制作に挑戦。さらに高校では「Diversity seminar」と呼ばれる探究ゼミで、より高度なプログラミングを学べる講座も用意している。

「中学で生徒全員がハードとソフトのプログラミングを経験すること、そして、より高度なレベルまで突き詰めたい生徒を支援できるのが本校のプログラミング教育の特徴でもあります」と木内教諭は語っている。

中学1年生は、ロボットプログラミングで基本的な概念に触れる

生徒たちのプログラミング学習の様子を紹介しよう。

中学1年生が使用するのは、「教育版レゴ マインドストーム EV3」(以下、EV3)だ。EV3は、Scratchベースのブロックプログラミングで、ロボットカーの動きを自在に制御できるSTEM教材。東京成徳中高では1人1台で使用でき、最終的には「ライントレース」や「ペットボトル倒し」といったプログラミングに挑戦していく。

1人1台ずつ用意された「教育版レゴ マインドストーム EV3」

授業は全15回で構成。6回目となるこの日の授業のテーマは繰り返し処理で、ロボットカーが「2秒前進→1秒後退→その場で3秒右回転する」という工程を3回繰り返すプログラミングに挑戦していた。生徒はMacBook Proに向かい、黙々と自分で考えながらプログラムを組み立て、左右のモーターの動きを確認していく。

左右のモーターに対してどのようにプログラミングすれば右回転するのか、自分で考えながらブロックをつなげていく

「3回繰り返す」のプログラムができた後は、ロボットカーが元の場所まで戻ってくるように「変数」を使ったプログラムを考えた。生徒は広い教室のあちこちで、ロボットカーの動きを試しながら、0.1秒単位で調整を行う。

全員が同じプログラムを組んでいても、床の摩擦によって動きが変わるロボットカー。どうすればスムーズに元の場所に戻ってくるのか、1人で根気強く試行錯誤する生徒もいれば、友達と協力しながら動きを調整する生徒がいるなど、それぞれのペースでプログラムを完成させていた。

友だちのロボットカーの動きと比べながら試行錯誤

生徒の1人は、「自分が作ったプログラムで、ロボットを自由に動かせるのが楽しい。友達と教え合うことで、みんなができるようになるのも良いと思う」と語ってくれた。授業中は、得意な生徒が行き詰っている生徒をサポートする様子も見られ、教え合い、学び合いが自然に生まれていた。

生徒同士で教え合いも自然に生まれる

授業の終わりは、EV3で作成したプログラムをGoogle Classroomで提出し、iPadで振り返り動画を撮影する。同校では、ペーパーテストでは測れないプログラミングの学習成果を、こうした振り返り動画などで観点評価しながら、生徒たちの多様なスキルを伸ばしている。

中学2年は「Python」でテキストプログラミングに挑戦

中学2年生は「Python」を用いたプログラミングを全13回の授業で実施している。この日の授業は、Google自動翻訳ライブラリ「googletrans」を利用した自動翻訳プログラムやwhile文による「繰り返し」について学習した。

中学2年生、「Python」を用いたプログラミング授業

授業で使用するのは、コードエディタ「Visual Studio Code」(以下、VSCode)。ライブラリを始めとするさまざまな拡張機能が利用可能で、初心者の学習に活用されている。生徒たちは講師の説明と共に、VSCodeを起動し、googletransを検索するところからスタートした。教室前方のホワイトボードには講師がスライドを提示。生徒によっては、手元のiPadで同じスライドを見ながら、翻訳プログラムに必要な変数を1文字ずつ打ち込んでいく。

講師が配布したスライドをiPadでみながらコーディング

コードを打ち込む際は、中学2年生ではまだアルファベットや記号の半角入力に不慣れな生徒も少なくないため、タイピングや入力方法についても講師が説明しながら進めた。途中、入力ミスした生徒が声を上げると、「コマンドキーを押しながら、『Z』キーを押せば1つ前の作業に戻せるよ」と講師がアドバイス。プログラミングを通してコンピューターの操作も学びながら、生徒たちはICTスキルを高めていく。

日本語から英語の翻訳をコーディングした後は、韓国語で翻訳するプログラミングにも挑戦した。その後、while文を使用する繰り返しを学習。生徒たちはつまずく場面もあったが、どこが間違っているのか友達と確認したり、相談したりしながらコードを確認していた。

できた生徒が他の生徒にアドバイス。どこが間違っているのか確認し合う

授業に参加した生徒は、「1文字でも間違えるとプログラムが実行されないので大変ですが、自分が書いたプログラムがスムーズに動いた時は楽しいと感じました。プログラミングは将来のためになるのでがんばろうと思います」と語ってくれた。授業の終わりには、中1と同様にその日書いたコードをGoogle classroomに提出し活動内容をiPadで撮影。生徒たちは和気あいあいとプログラミングを楽しみ、授業を通してテクノロジーの世界観を広げていたのが印象的だ。

高校はより高度な「Swift」でアプリを開発

東京成徳中高では、高校課程に入った4年生は全員「Diversity Seminar」(通称、探究ゼミ)に参加し、それぞれに興味ある専門分野で探究学習に取り組む。その1つの講座として設けられているのが「アプリケーションを開発しよう」。中学課程でプログラミングを経験し、もっと深く学びたいという意欲を持った生徒が参加している。

同ゼミでは、「もしも自分が作ったアプリケーションが、世界の問題を解決できたら?」という思いのもと、全員が1つ以上のオリジナルアプリケーションを完成させるというミッションを掲げている。

東京成徳中高 数学科 降矢貴充教諭

開発で使用するプログラミング言語は「Swift」。同ゼミを担当するADE(Apple認定講師)の資格を持つ降矢貴充教諭は「ゼミを受け持って3年になりますが、年々、生徒の様子を見ていると、もっとスピードをあげても大丈夫だと思えるようになりました」と語る。最初は、プログラミングの文法や専門的な内容を教えた方がいいと考えていたというが、そういう部分はさっと取り組み、アプリをつくる部分を多く楽しませてあげた方がいいという考えに変わってきたというのだ。

降矢教諭が担当する「アプリケーションを開発しよう」のゼミ

これには、シンプルにアプリを構築できる「SwiftUI」がリリースされたのも大きい。SwiftUIによって、生徒のエラーが激減し、よりアプリ開発がスムーズになり、一気に開発スピードがあがったという。その結果、Swiftのコンテスト「Swift Student Challenge」を目標に活動できるようになり、コンテストを目指すことによって、「アプリ開発に必要な課題発掘や発想力、デザイン力を磨く意識が生徒の中に芽生えた」と降矢教諭は語る。

同ゼミを受講した生徒の1人は、RPGゲームの戦闘シーンを再現したサンプルアプリを作成し、在校生に向けたゼミの成果発表会でプレゼンテーションを行った。発表ではXcodeで書いた実際のプログラムとゲーム画面の両方を投影し、「簡単なように見えるゲームでも、たくさんのプログラムが必要で作るのにとても苦労した」と開発の大変さについて発表。デモを披露する場面では、予期せぬエラーも発生したそうだが落ち着いて対応できたという。

生徒によるプログラミング作品発表の様子

「アプリ開発で今まで知らなかった世界に触れたことで、生徒同士が相談し、切磋琢磨する様子も見られ、とにかく楽しそうな姿が印象的でした。発表でのトラブルも含め、『こんなに苦労したけど楽しかった』ということが、その生徒の1年間の成長そのものだと感じています」と降矢教諭は語っている。また、ゼミの参加者の中には、プログラミングの世界に引き込まれ、情報系の学部への進学を決めた生徒もいるのだという。

AIが急速に発展し、変化の激しい世界とつながっていくうえで、突き抜けた“好き”や“得意”は大きな武器となる。生徒1人1人が自分の得意・不得意を知るために必要なのは経験であり、東京成徳中高の6年間の教育にはその入り口がしっかりと用意されていた。プログラミング・短期留学・探究ゼミを通じて全員が世界の入り口に立ち、それぞれが何を深めていくのか。選択肢が多様であるほど、生徒たちの将来は無限に広がっていく。