高等学校 情報

高等学校 情報

情報Ⅰ (3)コンピュータとプログラミング「アルゴリズムとプログラム」(第3学年)
2022.08.30
高等学校 情報 <No.005>
情報Ⅰ (3)コンピュータとプログラミング「アルゴリズムとプログラム」(第3学年)
動いて実感! 燃える&萌えるRoBoHoNプログラミング
玉川聖学院高等部 大沼祐太

1.はじめに

 本校では、教科書の内容に加え、P検を活用した情報リテラシーの習得、ポスター制作による画像処理、PR映像制作による動画処理、HTMLとCSSを用いたWEBデザイン、3DCGモデリングや3Dプリンタの活用、ボーカロイドによる音源制作などを行っている。様々なコンピュータ実習を体験させることで、それらの背景にある理論や仕組みを帰納的に気づかせ、理解させることを狙いとしている。その結果、これからの情報社会に参画するための資質や態度が育つことを期待している。
 ここでは、人型ロボット『RoBoHoN(ロボホン)』を活用したプログラム教材の開発についての実践を記述する。誰が見ても「かわいい」と感じるRoBoHoNを活用することで「プログラミングはおもしろくなさそう」という多くの生徒が抱く負の印象を払拭し、生徒のモチベーションを保ちながら、その先にある達成感を全員が体験できることを目的とした。

2.単元名

「(3)コンピュータとプログラミング」(実施学年:3年生)

3.単元の目標

  • RoBoHoNプログラミングによって、プログラミングの基礎(計算・変数・乱数、条件分岐、繰り返し処理、関数、リスト)を理解する。(知識及び技能に関する目標)
  • アルゴリズムの基本構造をPythonとロブリックでしっかりと理解し、試行錯誤しながら自分の思い通りにRoBoHoNを動かす。(思考力、判断力、表現力等に関する目標)
  • ロボットを実際に動かすことを通じて、ロボットと共生する未来の可能性について主体的に考えようとする。(学びに向かう力、人間性等に関する目標)

※ロブリック…タブレットやパソコンから、RoBoHoNのセリフや動きをプログラミングするアプリ

4.単元の評価規準

ア 知識・技能

イ 思考・判断・表現

ウ 主体的に学習に
取り組む態度

・ロブリックにおけるプログラムを論理的に理解している。
・Pythonのコードをヒントに正しくブロックプログラミングしている。
・Pythonで学んだプログラミングの基礎がRoBoHoNのプログラミングに生かされている。

・自分が思い描いた動きを表現するために適切なアルゴリズムを考えることができる。
・人とロボットとのインタラクティブを意識してプログラミングできる。
・プログラミングによって思い通りの動きを表現できる。

・試行錯誤する中でも、終始楽しんでプログラミングしようとしている。
・演習問題を最後まであきらめずに取り組もうとしている。
・学んだことをもとに、創意工夫しながらプログラムしようとしている。

5.単元の指導と評価の計画

(ア:知識・技能/イ:思考・判断・表現/ウ:主体的に学習に取り組む態度)

学習内容

学習活動

評価の観点

評価の方法

1

・アルゴリズムとフローチャート。
・アルゴリズムによるプログラムの効率化。
・RoBoHoNとは。
・音声認識と自然言語処理とAIプログラミング。
・Pythonを学ぶための準備。

・教科書を使いアルゴリズムとフローチャートについて学ぶ。
・JavaScriptにより記述された素数を求めるプログラムを使って、アルゴリズムによる効率化の実証実験を行う。
・グループごとに対話し遊ぶことでRoBoHoNの扱いに慣れる。
・コンピュータからGoogleにログインし、Colaboratoryで新規に作成する。

・じゃんけんのフローチャートを理解できているか。
・「エラトステネスのふるい」のアルゴリズムの方が効率的であることに気が付いているか。
・RoBoHoNと対話できているか。
・RoBoHoNとの対話がプログラミングとAI技術の活用により実現できていることに気が付いているか。

2

・プログラミング言語Pythonの基本①(インデント、変数の名前、データ型、画面への表示と計算、演算子、配列)。

・Colaboratoryで記述し実行することで、教科書に則って、Pythonの基本を学ぶ。
・うまく実行されないときは、エラーメッセージを見てデバッグする。

・Hello world!と画面に表示できたか。
・変数、データ型、演算子、計算に慣れたか。
・リストの定義、要素の追加と削除、リストの長さの取得ができるようになったか。

3

・プログラミング言語Pythonの基本②(for文とwhile文によるループ、if分岐、グラフ出力)。
・まとめのプログラミング。

・Colaboratoryで記述し実行することで、教科書に則って、Pythonの基本を学ぶ。
・乱数を用いてゲーム性のあるプログラミングを作成する。

・for文を用いてリスト作成を効率的にできたか。
・リストを利用してwhile文を理解できたか。
・if分岐を理解した後、乱数と組み合わせてゲーム性を実現できたか。

4

・プログラミング実習~基礎編
「STEP1:計算・変数、STEP2:条件分岐、STEP3:繰り返し処理」のうちポイントとなる数問を一緒に解き、演習問題は時間制限を設け自力で解く。

・学内サーバにある「プログラミング実習~目指せRoBoHoNマスター」サイトにアクセスする。
・iPadでSafariから指定されたRoBoHoNのIPアドレスにアクセスする。
・サイト上にある問題と動画、ヒントのPythonコードを参考にロブリックでプログラミングする。

・RoBoHoNに計算をさせられているか。
・ランダムな整数の利用を理解できているか。
・変数を理解できているか。
・条件分岐のプログラミングが正しくできているか。
・繰り返し処理を正しく理解し実行できたか。

5

・プログラミング実習~応用編
「STEP4:関数、STEP5:リスト」のうちポイントとなる数問を一緒に解き、演習問題は時間制限を設け自力で解く。
・気に入ったプログラムをアレンジする。

・前回と同様にiPadとRoBoHoNをロブリックでつなぎ、サイト上のプログラミングの問題を解いていく。
・制限時間内に演習問題を解き、正しくプログラミングをして、思い通りにRoBoHoNを動かす。
・これまで習ったことを総動員してプログラムを独自にアレンジする。

・関数として分離できていることを理解したか。
・じゃんけんの手を決める関数を作成することができたか。
・乱数、for文を利用し、リストの中身を言わせることができたか。
・for文と複数リストを組み合わせることができたか。
・創意工夫できたか。

6.本時の目標【4限目】

  • 練習問題を教師と一緒に取り組むことによって、プログラミングの基礎を理解し習得する。
  • 順次処理、分岐処理、反復処理を実際にブロックプログラミングすることで、アルゴリズムの基本構造を実感し理解する。
  • 演習問題を制限時間内に自力で解くことによって、論理的思考力を鍛える。
  • 最後まで諦めずに、試行錯誤の中、楽しみながらプログラミングの実習をする。

本時の流れ【4限目】

時間

学習活動・内容

指導上の留意点

評価

導入
5分

・PCを起動し、「プログラミング実習~目指せRoBoHoNマスター」サイトにアクセスする。
・PC起動中の待ち時間は復習も兼ねて、乱数を用いたPythonゲームプログラミングを紹介。(Colaboratory)
・iPadでSafariから指定されたRoBoHoNのIPアドレスにアクセスする。

・PCは起動しておき、生徒はログインするだけの状態にしておくとよい。
・RPGゲームの一部、戦闘シーンのPythonプログラミングを提示し、どのようにすれば勝率が上がるかを考えさせる。
・生徒を4グループに分け、列ごとに近くに置いてあるRoBoHoNのIPを割り振る。

ア.行動観察

展開1
30分

・STEP1:計算・変数
Ex1-1は練習⇒Ex1-2は問題として自力で解く。Ex1-4練習⇒Ex1-6問題。Ex1-3ははじめ自力で考えさせ、すぐに答え合わせをして乱数を習得。
・STEP2:条件分岐
Ex2-2⇒Ex2-1Ex2-3は任意。
・STEP3:
Ex3-2⇒Ex3-1Ex3-3は任意。

・練習は、iPadの画面を提示し、教示しつつそれをマネて一緒にプログラミングする。
・自力で解く問題(下線の問題)は相談や質問は禁止。3~5分の時間制限を設け、できた人は加点をする。
※採点のためRoBoHoNに自分の出席番号と氏名を倍速で言わせる。

ア.行動観察
イ.送信されたプログラムを確認して加点

展開2
10分

・演習問題
Practice1-1:年齢予想ゲーム再考を制限時間(10分)以内に解く。
※早く終わった人Practice1-2にチャレンジする。創意工夫し、独自にアレンジしてもよい。

・相談や質問は禁止。自力で解く。
・プログラムができたらエミュレーターで正しくできたかを確認し、RoBoHoNに送信する。
・制限時間内にできた人は加点。ロブリックも確認する。

ア.行動観察
イ.送信されたプログラムを確認して加点

まとめ
5分

・演習問題の答えを画面で提示し、RoBoHoNに送信してプログラムの正解を実感する。
・次回は応用編になるので、今日やったこととPythonを復習しておくように指示する。

・正解は教師用のRoBoHoNに予め正解プログラムを保存しておき、ロブリックアプリから開く。
・次回は、関数とリストを扱うため、変数、乱数についての生徒の理解度を把握しておく。

ア.行動観察

7.まとめ

 授業後にFormsで事後アンケートをとったところ、「見た目もかわいくてすきです」「とても楽しかった」「プログラミングの面白さを知った」「ロボホンを自分で動かせるというところが面白かった」「動いた時、すごく面白い」「達成感でいっぱいになりました」「他のプログラミングもやってみたい」「ロボホンが動いた時にワクワクする気持ちがあった」等実習に対する好意的なコメントが多かった。全アンケート(回収123人分)をテキストマイニングで分析しても図のように「できる」や「楽しい」が目立って大きくなり、概ね当初の目的を達成できた。

※ユーザーローカルAIテキストマイニングによる分析
https://textmining.userlocal.jp/

 動いて実感でき、誰もが可愛いと感じることのできるプログラミング教材として、RoBoHoNは生徒たちの「モチベーションの持続」とその先にある「達成感」を体験させるのにとても有効である。今後、PythonとRoBoHoNのプログラミング教材の更なる改善を行い、未来につながるプログラミング教育をアップデートしつつ実践していく。

【本教材ができるまで】
・2019年度
青山学院大学 大学院理工学研究科の今村優斗氏とプログラミング教材の開発をスタート
ロボットAI体験として中学生や高校生に体験型の授業を実施
韓国人留学生に習いたての日本語でRoBoHoNと対話してもらう授業を実施
・2020年度
選択「情報の科学」にてインタラクティブなロボットプログラミングの授業を実施
https://youtu.be/yba4Rd3ka5I
・2021年度
必修「社会と情報」にて、プログラミングの基礎をRoBoHoNで学ぶ授業を実施
https://youtu.be/FoqPoZJNo60
選択「情報の科学」にて、Pythonを学んだ後にゲーム性のあるプログラミングの授業を実施
・プログラムの説明
https://youtu.be/gk4njaVU45I
・生徒作品
https://youtu.be/tNpsr8rXUPQ
・2022年度
EDIXのSHARPブースにて「動いて実感~もえるロボットプログラミング~RoBoHoN導入4年目の授業実践レポート」を発表
https://youtu.be/aOxeU50ph1k

【教材】
2021社会と情報RoBoHoN(生徒配布用) 
Wordダウンロード(964KB)
授業用のPPTデータ 
PPTダウンロード(2.3MB)
PythonとRoBoHoN玉聖プログラミング教材