高校で広がるシステム開発の授業 〜先生と生徒の成長の記録〜
高校でシステム開発を専門に教える田中先生(仮名)は、1年生から3年生までの生徒たちと、週に1コマずつ授業を行っています。それぞれの学年に応じて内容は異なり、ステップを踏んでスキルを身につけていく構成です。今回は、そんな授業風景と先生・生徒のやり取りを紹介します。
1年生:はじめてのプログラミング
1年生では、主にプログラミングの基礎を学びます。言語はPython。変数、条件分岐、ループ、関数といった基本を丁寧に学習していきます。
生徒A:「先生、if
文の中にif
を入れてもいいんですか?」
田中先生:「うん、それは“ネスト”って呼ばれる書き方だよ。状況によっては便利だけど、複雑になりすぎると読みにくくなるから注意が必要だね。」
生徒B:「関数ってなんで使うんですか?1回しか使わないなら普通に書けばよくないですか?」
田中先生:「いい質問だね。関数を使うと“構造化”されて、後で見直しやすくなるんだよ。それに、他の人と協力して開発するときにもすごく役立つよ。」
2年生:システム設計へのステップアップ
2年生になると、単なるコードから一歩進んで「どうやってシステム全体を設計するか」を学びます。UML図やデータベース設計、ユーザーインターフェース設計などが中心です。
生徒C:「クラス図って、実際のプログラムにどう関係するんですか?」
田中先生:「クラス図は“設計図”なんだ。建物を作る前に図面を書くように、システムもまずは構造を考えるんだよ。クラス図を描くと、必要な部品が見えてくるでしょ?」
生徒D:「ER図って、どこまで細かく書けばいいんですか?」
田中先生:「現実の業務にどれだけ対応させたいかによって変わるね。最初はシンプルにして、実際に動かしてから改善していくという考え方もあるよ。」
3年生:APIと生成AIで未来へつなぐ
3年生では、学習の集大成として、外部サービスとの連携や生成AIの活用に挑戦します。REST APIの使い方や、チャットボットの実装、画像生成AIとの統合など、実践的な内容が多くなります。
生徒E:「APIって結局、何をやってるんですか?」
田中先生:「APIは“サービスとサービスの会話の窓口”みたいなもの。例えば天気アプリが天気予報を取得するのも、APIを通して情報を取りに行ってるんだよ。」
生徒F:「生成AIって本当にコードも書いてくれるんですね!将来、エンジニアいらなくなりません?」
田中先生:「たしかにAIは進化してるけど、正しく使える人が必要なんだよ。“何をどう作るか”を決めるのは人間だからね。」
先生の思い
「システム開発の授業は、“作る力”を育てると同時に、“考える力”も育てます。プログラムを通して、自分で課題を発見して解決する力を身につけてほしいですね。」
田中先生の教室には、今日も新しい発見と成長が生まれています。