はじめに:高校の情報科で進むPython導入
みなさんの学校では、どのようなプログラミング学習を導入されていますか?
私が非常勤講師として授業を担当している中で、2022年の学習指導要領の改訂(「情報Ⅰ」の必修化)を境に、プログラミング学習の言語はPython(パイソン)一択になってきたという実感があります。
それまでは学校のカリキュラムによって様々で、VBA、Scratch、C言語、Java、JavaScript、HTMLなど、多様な言語を実習してきました。
プログラミング学習の本来の目的は、以下の2点に集約されます。
- 「アルゴリズムを理解し、プログラムを組み立てる論理的思考力を養うこと」
- 「プログラムの仕組みを意識することで、日常の問題解決能力を身に着けること」
- 特徴: Googleアカウントがあれば、どの端末からでもブラウザ上でPythonを実行可能。
- メリット: Google Driveにコードが自動保存されるため、データの紛失リスクが少ない。エラー表示が比較的わかりやすい。
- 注意点: 実行にはGoogleアカウントでのログインが必須です。
- 特徴: ブラウザ上で手軽にPythonを実行できる環境。アカウント登録やログインが不要。
- メリット: ログイン不要ですぐに使えるため、導入のハードルが低い。ドライブへの保存(メモ帳での確認)が可能。エラー表示にも対応。
- 注意点: 時間制限がありますが、ブラウザの再起動でリセット可能です。Windows端末での実行に向いています。※授業で使う際は、生徒の共有フォルダにPyWebへのショートカットを配布しておくとスムーズです。
- 1行目に「自分のクラス、出席番号、名前」を表示させる。
- 2行目に「プログラミング学習にあたっての意気込み」を自分の言葉で表示させる。
- 3行目に「自分が生まれてから今日まで何日経過したか」を計算式を使って表示させる。
- 課題1: 自分の生年月日の数値部分を変数に代入し、「私は、〇年◇月△日生まれです」と表示させる。
- 課題2: 変数を使って「今日の最高気温は〇度」「明日の最高気温は、今日と比べて3度高い◇度です(計算式を使用)」といった天気予報プログラムを作る。
- 課題3: 円の面積を求める計算プログラムを作成する。
- 課題4: 自分のBMIと適正体重を計算するプログラムを作成する。
- 代入された点数が、80点以上なら「優」、50点以上なら「良」、30点以上なら「可」、それ未満なら「追試」と表示させる。
- 複数の教科の変数を設定し、それぞれの評価や、合計点の合否判定などを実装させる。
- カウントアップ: 10から始まり、19まで1ずつ増えるプログラムを作成する。
- カウントダウン: 100から始まり、0になるまで10ずつ減るプログラムを作成する。
ただ、非常勤講師としては勤務する学校ごとに扱うプログラミング言語が異なると、指導の準備や構文の確認など、それなりに苦労がありました。
しかし、現在では教科書でもPythonが主流となり、私がお世話になっている高校でも一律でPythonが導入されています。
授業で使いやすい!Pythonのおすすめ実行環境
Pythonを授業に導入するにあたり、各学校の情報科教員や教科主任の先生方は、使用するソフトウェアや実行環境の選定、動作確認などに相当な時間を要したのではないでしょうか。
学校のネット環境や端末の制限(ChromebookやiPadなど)によって最適なツールは異なりますが、「無料で使える」「コードの保存ができる」「input関数(対話型の入力)が実行できる」という条件を満たすものがおすすめです。
これまで私が実際の高校の授業で使用してきて、問題なくスムーズに実習できたおすすめの環境を2つ紹介します。
1. Google Colaboratory(グーグル コラボラトリー)
2. PyWeb(パイウェブ)
【実習例】Pythonの基礎文法と授業で使える課題アイデア
ここからは、実際に私が授業で行っているPythonの基礎文法(初級編)の解説と、生徒の関心を引き出す課題の例をご紹介します。
■ print( )関数:画面に文字や計算結果を表示する
`print()` は、括弧の中に入れた数値、計算結果、文字列などを画面に出力する基本的な関数です。
<生徒向け課題例>
■ 変数:データを入れる「箱」を用意する
<生徒向け課題例>
■ if文:条件によって処理を分岐させる
<生徒向け課題例>
■ for文・while文:決まった回数だけ処理を繰り返す
<生徒向け課題例>
まとめ:Python実習で生徒の興味を引き出そう!
今回は、高校の情報科におけるプログラミング(Python)導入の背景と、初級編の実習内容について、実際の授業で使っている課題例を交えてご紹介しました。
プログラミングは、ただ文法を丸暗記させるのではなく、「自分のBMIを計算する」「テストの点数で評価を判定する」といった、生徒自身の日常に関連した課題を与えることで、グッと関心が高まります。少しずつ成功体験を積ませていくことが、情報科教員としての腕の見せ所ですね。

コメント