事例206
「プログル情報」を実践して
千葉県立八千代東高校 谷川佳隆先生
「ブログル情報」とは
「プログル情報」(※1)は、ブラウザ上のサービスの一つで、「みんなのコード」が無料提供しています。
Pythonの基本を簡単な内容からスモールステップで学ぶことができます。目標の一つは簡単なWeb APIの作成です。
「プログル情報」を活用した理由としては、まず千葉県では先生にも生徒にもGooglWorkspaceが割り当てられていない、という環境の問題があります。Pythonを学ぶソフトをインストールすることも可能ですが、手間も時間もかかります。そのため、ブラウザ上でPythonができるソフトを探していたところ、今年から「ブログル」のシリーズで「プログル情報」が始まったので利用することにしました。
こちらはできたばかりなので解答がまだ出回っていません。実は、1学期の授業で中学校技術科向けの「プログル技術(※2)」を活用していたのですが、これと同じ手順で課題の提出や確認が容易にできることがわかったので、「プログル情報」を利用することにしました。
「プログル情報」のサイトの画面はこちらです。
まず先生が新規登録をしてログインし、年度、クラス等を登録して、生徒にクラスID、出席番号、新規のパスワードを配り、生徒が新規登録をします。その後、生徒自身がログインすると「プログル情報」の使用が可能になります。
生徒がログインすると出てくる画面がこちらです。
レッスンは、ご覧の通りの6つが用意されています。
会話ロボットを作る
まずレッスン1には、会話ロボットを作るための3つのレッスンが用意されています。
レッスン1-1には6つのステージがあり、「文字を表示する」→変数を使って文字を表示する」→「数値を表示する」→「変数を使って計算した値を表示する」という流れで進みます。
※クリックすると拡大します
レッスン1-2にも6つのステージが用意されています。
ここでは、「for文を使って繰り返し文字を表示する」「リストの中から文字を表示する」「リストの中にある全ての文字をfor文で表示する」「ランダムをインポートしてリストの中からランダムに表示する」というような流れです。
※クリックすると拡大します
レッスン1-3には9つのステージが用意されており、「送信した文字を表示する」「送信した文字に対してロボットが返事をする」「送信した内容によって返事を変える」「入れた数値によって表示する文字を変える」ということを行います。
※クリックすると拡大します
WebAPIを作る
レッスン2では、WebAPIを作ります。
レッスン2-1では「お天気API」を作るということで、6つのステージが用意されています。
プログルに用意された天気情報をリクエストで読みにいき、その内容はパラメータを活用して表示して、最後に出てきた数値等に対して、雨具が必要かどうかを表示するということもします。
※クリックすると拡大します
身近な問題を解決する
レッスン3では、身近な課題を解決するMyアシスタントを作るという2つのステージが用意されています。
レッスン3-1では「Myお天気キャスターを作ろう」ということで、レッスン2-1の復習をします。
地域コードと日付を指定し、パラメータを使用して表示する内容を決めます。
私がいるところは千葉県北西部なので、地域コードは4510、日付は今日か明日を指定します。ここでは降水確率をもとに表示していますが、気温によってセーターがいる、いらないといったことを表示することも可能で、授業では少しアレンジしたところもあります。
※クリックすると拡大します
レッスン3-2では、翻訳APIを作成します。
リクエストとデータベースをインポートして、日本語から英語、英語から日本語のどちらかの翻訳をして、それをデータベースに保存します。保存した内容をfor文で全て表示したり、データベースのデータを消したりといったことができるようになっています。
※クリックすると拡大します
教員が管理しやすく、生徒自身がチェックできる機能が充実
「プログル情報」を活用してみた考察です。
内容はとても平易です。また、教員の管理画面がとても便利でした。色でエラー表示を変えているので、エラーが見つけやすいのがとても助かりました。
WebAPIを簡単に作成でき、生徒も集中して取り組めましたが、一点、関数の定義とその利用がないことが残念でした。
具体的に一つずつお見せします。
こちらが先生用管理画面です。「クラス一覧」から該当するクラスを選ぶと、このような画面が出てきて、提出状況の確認が可能です。
※クリックすると拡大します
並んでいる青いボタンを押すと、それぞれの課題について生徒が提出した内容を確認できます。こちらでもコードが色で区別されているので、提出されたものが正しいかどうかがわかりやすくなっています。各ページ10人ずつの提出状況が見られます。
※クリックすると拡大します
生徒が間違えやすいポイントがこちらです。
最初にprint文で言葉を表示する際に、半角と全角の切り替えを忘れて全角のまま入力することが何度も起きました。
半角全角の間違いが減っていくと、次に起きるのがコードの一部の欠落で、「:(コロン)」や「`(シングルクォーテーション)」などを打ち忘れることです。
また、if文やfor文では、インデントルールを無視したり間違えたりすることがありました。
他にも半角で4文字開けるべきところを全角2文字で開けてしまうような場合はミスを見つけるのが大変でした。後半になるとスペルミスによる間違いも起きていました。
間違えると、このように赤やオレンジの表示で教えてくれます。上はシングルクォーテーションを全角で打っているため赤く表示され、下はシングルクォーテーションがないことがオレンジで表示されています。このように、間違いの箇所と内容が推測できるようになっています。
※クリックすると拡大します
こちらはfor文のインデント無視によるミスです。間違っている行にアンダーラインが引かれていて、実行するとエラーメッセージも出ます。
※クリックすると拡大します
こちらは実行すると、10行目でエラーが発生していることを教えてくれていますが、10行目にアンダーラインは引かれていません。コードは全てを打ち込むわけではなく、ある程度打ってあるものに足りない行を足す形で作っていくのですが、この場合は必要な部分が足りないことでエラーが起きています。どこが間違っているか探してみてください。
※クリックすると拡大します
生徒の理解度に合わせた指導の工夫、関数に関するレッスンも入れてみたい
実践をしてみた考察です。
内容が簡単だったため、授業で無理なく活用できました。レッスンによってステージの数が違うので、多少の前後はありますが、1つのレッスンは30分ほどで終わります。
また画面上で成果がわかるのですが、生徒の取り組みがとてもよかったと思います。
課題としては、エラー内容が理解できない生徒への対応を全体向けにやるべきか、個別でするかという点については実際にやってみないとわからなかった部分がありました。「プログル情報」のソフトそのものの不具合はありませんでした。
来年に向けての展望になります。
無理なく展開できることはわかったので、来年も活用したいと思っています。来年はコンピュータ教室の中間モニターがなくなる可能性がありますが、なくても生徒が困らないよう、プリント作成をしてみたいと思っています。
また、課題を終えてしまった生徒への対応や、逆に課題ができなくて困っている生徒の対応など、理解度に合わせた対応を工夫したいと思っています。
内容としては、関数の定義とその活用がなかったので、オリジナルの課題を入れるかどうかについて検討したいと考えています。
1学期に「プログル算数」と「プログル技術」を使ってみた時の報告が「キミのミライ発見」に掲載されています。こちらもぜひご覧ください。
https://www.wakuwaku-catch.net/jirei21194/
神奈川県高等学校教科研究会情報部会情報科実践事例報告会2021オンライン オンデマンド発表より