背中合わせ
コードが使われているのはパソコンだけではありません。レゴ® モデルの作り方を指示する疑似コードを書きましょう!
概要
- このレッスンではレゴ® エデュケーション 個人学習キット プライムを使います。
- このレッスンではオリジナルのレゴ モデルを作り、その組み立て方を指示する疑似コードを書きます。完成した疑似コードをパートナーと共有します。
このレッスンは以下の使い方ができます:
- 「キックスタートビジネス<社会とロボット>」ユニットの最初に導入用レッスンとして行う。
- *「品質検査システム」のレッスンまたは「自動配送システム」*のレッスンの前後に、疑似コードの書き方の予習または復習として行う。
- *「自動化してみましょう!」*のレッスンの前に、オープンプロジェクトに必要な基礎力を身につけるレッスンとして行う。
- ユニットの最後に、学習を深める発展レッスンとして行う。
- 個人学習キット (PLK) は生徒が家庭に持ち帰って使用するキットです。各校の教材配布規則に従ってください。
- レッスンプレゼンテーションはこのレッスンプランの補足資料からアクセスいただけます。プレゼンテーションは、レッスンのペース配分や5E指導モデルの各ステージの進行に使用してください。
プログラミングのコンセ プト
- アルゴリズム:特定のタスクを完了するためのステップごとの指示。
- バグ:プログラミングにおけるエラー。このエラーを修正するプロセスをデバッグと呼びます。
- 細分化:プログラムを小さな要素または問題に分解すること。
- 擬似コード:パソコンから実際にプログラミングする前に作成する、アルゴリズムのステップを書いた計画。疑似コードは問題 (バグ) を特定または予測し、プログラムのステップを分解 (細分化) するための計画を立てるためにプログラマーに使われます。
関心を引きつける
(10分)
生徒と簡単なディスカッションを行い、プログラミングについての背景知識を確認してください。
- このディスカッションを通して、プログラム (コード) やプログラミングの定義に対する共通認識ができるようにします。
このような質問をしましょう:
- プログラムとは何ですか?(答えの例: 機械やロボットに特定のタスクを実行する方法を指示するもの、またはパソコンゲームのプログラミングのような楽しいクリエイティブなもの。)
- プログラムについて使われる他の言葉を聞いたことがありますか?(プログラミングに詳しい生徒は「アルゴリズム」や「疑似コード」、「バグ」などの言葉を挙げるかもしれません。 詳しい生徒がいれば、みんなに教えてもらいましょう。)
- プログラムはどのようなものでできていますか?(答えの例: ブロック、文章、数字。)
続けて、明確な指示の目的について話してください。このようなポイントに触れましょう:
- プログラムは指示の集まりとしても機能します。朝のルーティーンをプログラムしてみましょう!どのようなプログラムができますか?朝起きたとき、みなさんは何をしますか?(答えの例: アラームを消す、ベッドから出る、着替える、朝食を食べる、歯を磨く、など。)
- 理想的な指示の特徴は何でしょうか?(答えの例: 明確、整理されている、正しい順序。)
レッスンプレゼンテーションの 「関心を引きつける」 の最初のページを表示してください。
- このページには、靴ひもの結び方を視覚的に指示する図が描かれています。
このような質問をしてディスカッションを続けてください:
- この図のどこがプログラムだと言えますか?(答えの例: やることを指示している、指示の集まりである)
- この指示はどのような点が役に立ちますか?(答えの例: 数字でやることの順番がわかる。)
- 理想的な指示の特徴は何でしょうか?(答えの例: 明確、整理されている、正しい順序。)
レッスンプレゼンテーションの 「関心を引きつける」 の2ページ目を表示してください。
- このページには、ユニット*「キックスタートビジネス<社会とロボット>」の「品質検査システム」*のレッスンで使われるレゴ エデュケーション SPIKE™ プライムのプログラムの例が掲載されています。このプログラミングスタックは品質検査ロボットをコントロールします。
次のようなポイントに触れながらディスカッションを続けてください:
- これは、品質検査ロボットをコントロールするプログラミングスタックです。このプログラムはロボットを起動します。
- このプログラムはロボットに何をするよう指示していますか?(下の疑似コードにステップが書かれています。)
- プログラムを自分の言葉で説明したことでアルゴリズムを作る練習になっていたこと、疑似コードを書く準備ができていることを生徒に伝えます。
- プログラムがスタートします。
- モーターAとFが速度を50%に設定します。
- モーターAとFが最短経路を通って350度の位置まで移動します。
- モーターが所定の位置に移動すると、「接続」を表す音が再生されます。
- 距離センサーのライトが点灯します。
- ライトマトリクスがハートビートを10回点滅させます。
- ライトマトリクスがハートを連続表示します。
関心を引きつけるステージにおけるハイブリッド型学習のヒント
全員が同時に出席できる場合
- 予定されている授業時間中に、クラス全員でバーチャルディスカッションを行います。この際先生の発言は最小限にします。生徒が自分たちで答えたり質問したりするように促してください。オンライン投 票ツールやチャット機能を使い、全員が貢献できるようにしましょう。
全員が同時に出席できない場合
- レッスンプレゼンテーションの*「関心を引きつける」*のページを表示し、それぞれの生徒が直接先生に答えを提出するべきか、クラス全員がディスカッションボードに答えを入力するべきか選択してください。オンラインディスカッションボードは、生徒全員が同時に授業に出席できなくても生徒間のやり取りを促すことができる効果的なツールです。
探究する
(15分)
- 生徒に個人学習キットを開封してブロックを見てもらいましょう。
- 組み立て説明書はありません。動物のモデルを作るブロックを5つ選ぶよう促します。下のレゴ アヒルのモデルをお手本にしても構いません。
このチャレンジではレッスンプレゼンテーションの*「探究する」*のページをガイドとして使うように指示してください。
このチャレンジで取り組むタスク:
組み立てる:レゴ ブロックでできた動物をデザインして、誰かに組み立ててもらいます。使えるブロックの数は5個以下です。
コードを考える:自分で考えたモデルを組み立てるためのステップを書いてもらいましょう。これが疑似コードになることを説明してください。
プログラムする:生徒にペアを組んでもらいます。 まず最初の人がパートナーに自分の疑似コードを発表します。聞き手役の生徒は、説明された疑似コードの通りにモデルを組み立てます。役割を交代します。
このアクティビティはクラス全体でやることもできます。クラス全員にレゴ モデルの作り方を説明する疑似コードを書くよう指示し、交代で疑似コードを発表してもらいながら、残りの生徒はその指示に従ってモデルを組み立てます。
探究するステージにおけるハイブリッド型学習のヒント
このアクティビティを交流の時間にしましょう。仲間と一緒に組み立てると楽しくなります。
全員が同時に出席できる場合
- オンライン授業の場合はクラス全員が1つのミーティング ルームに参加し、生徒1人に疑似コードを発表してもらって、残りの生徒が同時にモデルを組み立てます。または、少人数グループでブレイクアウトルームに分かれ、グループ内で疑似コードを発表しあうこともできます。
全員が同時に出席できない場合
- 保護者に協力をお願いして、それぞれの生徒に家庭学習用の専用スペースを用意するよう促します。モデルの組み立てとテストを行うには、明るく清潔で、散らかっていない平坦な面が最適です。住環境が生徒によって異なる点に注意してください。
説明する
(10分)
- 全員がモデルの組み立てとプログラミングの課題を完了できたら、自分の体験についてパートナーと話し合ってもらいましょう。
- レッスンプレゼンテーションの説明するのページには、フィードバックのやり取りに役立つフレーズがまとめられています。
- フィードバックをする際はアイコンタクトを取りながら相手を尊重する話し方を心がけ、具体的な例を含めるよう、もう一度注意してください。パートナーにもらったフィードバックに基づいて、発明をどのように改善できるか考えるよう促します。
フィードバックをする際に役立つフレーズ:
- ~がすごいと思いました
- ~についてもっと教えてください
- 私も同じアイデアを使って~
- 私は別のアイデアを使って~
- ~するのはどうですか?
フィードバックをもらう際に役立つフレーズ:
- わかりやすいと思った指示はどれですか?
- 改善できる点はどこですか?
- 修正するべきバグはありますか?
フィードバックのやり取りが終わったら、生徒にこのアクティビティとプログラミングの類似点を説明してもらいます。
このような質問をしましょう:
- このアクティビティはどこがプログラミングと似ていますか?(答えの例:コンピューターに何かを実行させるプログラムを書くとの同じように、誰かがそれに従ってタスクを実行する指示を書いたところ。)
- 疑似コードを書くのはなぜでしょうか?(答えの例: 実際にパソコンからプログラミングする前にコードを計画して、発生する可能性のあるバグを予測するため。)
- 疑似コードで注意するべき重要ポイントはどこでしょうか?(答えの例: 細部の重要性、ステップが正しい順序であること。)
説明するステージにおけるハイブリッド型学習のヒント
全員が同時に出席できる場合
- オンライン授業の場合は、レッスンプレゼンテーションの説明するのページにあるフィードバックのやり取りに役立つフレーズを一緒に確認してから、少人数グループでブレイクアウトルームに分かれてフィードバックを交換してもらいましょう。
- 各グループのブレイクアウトルームを訪問し、やり取りしたフィードバックの例をいくつか言ってもらい、生徒の理解度を確認してください。
- 生徒の質問に答え、誤解はストレートに解くようにし、学んでいる概念に対する理解を深めます。
全員が同時に出席できない場合
- 自分がしたフィードバックについてクラス全員に発表してもらったり、グループチャットにコメントで投稿してもらったりして考察を促しましょう。
さらに実践する
(5分)
- 先ほどとは違うレゴ モデルを使ってこのアクティビティをする方法をブレインストーミングしてもらいます。
- レッスンプレゼンテーションのさらに実践するのページにあるアイデアモデルを見せてください。
このような質問をしましょう:
- 別のレゴ モデルを使ってこのアクティビティをするにはどうすればよいでしょうか?
- 先ほどの疑似コードをどのように改善しますか?
- ひとまとめにできる指示はどれでしょうか?
- プログラムをわかりやすくするにはどうすればよいでしょうか?
新しいモデル デザインと疑似コードの作成だけで授業時間が終わってしまう場合もあるかもしれません。この場合は、疑似コードの発表は次の授業で行ってください。
さらに実践するステージにおけるハイブリッド型学習のヒント
全員が同時に出席できる場合
- クラス全員でオンラインの発表タイムを設け、モデルと疑似コードをどのように変えるか発表してもらいましょう。
全員が同時に出席できない場合
- クラス全員が見れるバーチャルギャラリーを作成し、生徒に作品を公開してもらいましょう。自分の作品の写真やビデオを投稿し、クラスメイトの作品も見るように促してください。
評価する
(5分)
- それぞれの生徒に、作成した疑似コードがステップごとの指示 (アルゴリズム) を示していることがわかる箇所を1つと、疑似コードに含まれる問題を特定して修正した箇所を1つ説明してもらいましょう。
生徒に学習の成果を自己評価して、最も合うと思う色のブロックを手に取って見せてもらいましょう:
- 赤のブロック:助けを借りて、疑似コードを書き、プログラムをデバッグすることができる。
- 黄色のブロック:疑似コードを書き、プログラムをデバッグする方法を説明することができる。
- 緑のブロック:疑似コードを書き、プログラムをデバッグする方法をクラスメイトに教えることができる。
*評価するステージにおけるハイブリッド型学習のヒント*
学習内容をまとめたレポート、ライブまたは動画によるプレゼンテーション、図や絵など、評価方法はたくさんあります。
全員が同時に出席できる場合
- 予定されている授業時間中に、クラス全員でバーチャルディスカッションを行います。
全員が同時に出席できない場合
- 学習内容をまとめたレポート、ライブまたは動画によるプレゼンテーション、図や絵などを投稿してもらい、学習内容の考察を促しましょう。
教師用サポート
学習内容:
- ステップごとの指示を示す疑似コードを書き、これに従う
- 疑似コードに含まれる問題の細分化、特定、修正をする
- レゴ®エデュケーション 個人学習キット プライム (生徒1人につき1セット) または生徒全員分のその他のレゴ ブロックや材料
- レッスンプレゼンテーション (補足資料を参照してください)
- 紙 (生徒1人につき2枚)
- 筆記用具 (ペン、鉛筆、マーカー)