改訂新版・中級Bコーステキスト
学習指導案
学習指導案
■単元名
中級2Aコース Unit1-6 力と運動のシミュレーション
■単元の学習目標
等速で直線的に運動するボールをシミュレーションする。
ボールが壁に当たって反射する運動をシミュレーションする。
ボールがブロックに当たったかどうかを判定する(当たり判定)。
重力加速度で落下するボールをシミュレーションする。
■テーマ選定の理由
身近なところにある全ての物体は単純な物理法則に従って運動している。これらの運動をコンピューター上でシミュレーションすることは、物体の運動に関する深い理解につながる。
■単元の学習計画
カリキュラム
ボールの移動と壁での反射 Unit1 120分
ボールの移動と壁での反射 Unit2 120分
応用 ブロック崩し1 Unit3 120分
応用 ブロック崩し2 Unit4 120分
ボールの落下とバウンド Unit5 120分
応用 重力を利用したゲーム Unit6 120分
■育成したい思考力
ロジカルシンキング
キープイットシンプル。単純な法則が複雑な世界を創る。
■評価計画
等速直線運動を理解している。
等加速度運動を理解している。
当たり判定をロジカルに考えられる。
積分の概念を理解している。
■応用・発展
単純な法則の組み合わせで、ボールの複雑な運動をシミュレーションしてみる。
ボールの代わりに好きなキャラクターを使ってみるなどして、オリジナリティを付加する。
講義
Unit 1(120分)
Processing
Roblox演習
この単元で学んだ「ボールの移動と壁での反射」を、Roblox Studio上でも体験します。
- 一定速度で動くボールと壁での反射:等速直線運動と壁での反射の演習を、Robloxでパーツ(ボール)を一定速度で移動させ、壁に当たったら反射させるスクリプト演習に置き換えます。速度ベクトルの反転という考え方がそのまま活かせます。
AI活用講座
AI活用講座 第37回をご紹介します。
- 「バグ」ってなに?エラーメッセージを読んでみよう(AI活用講座 第37回):わざとミスを含んだコード例を見て、どこがおかしいかをみんなで探すクイズを行います。
Unit 2(120分)
Processing
AI活用講座
AI活用講座 第38回をご紹介します。
- claude.aiにバグを直してもらおう①:エラーを見せて聞く(AI活用講座 第38回):動かないコードとエラーメッセージをAIに見せて、修正してもらう体験をします。
Unit 1 and 2 講義動画
Unit 3(120分)
Processing
Roblox演習
この単元で学んだ「ブロック崩し」を、Roblox Studio上でも体験します。
- ブロック崩しゲームの制作:Processingで作るブロック崩しを、Robloxでパドル・ボール・ブロックを3Dパーツで用意し、衝突判定でブロックを消していくミニゲームとして制作します。当たり判定の概念をRobloxのTouchedイベントで学べます。
AI活用講座
AI活用講座 第39回をご紹介します。
- claude.aiにバグを直してもらおう②:動かない理由を説明してもらう(AI活用講座 第39回):「何が間違っていたか」を中学生にもわかるように説明してもらい、原因を自分の言葉でまとめます。
Unit 4(120分)
Processing
AI活用講座
AI活用講座 第40回をご紹介します。
- Description×デバッグ:状況を正確に伝える報告の書き方(AI活用講座 第40回):「操作」「期待した結果」「実際の結果」の3点セットで状況を伝えると、AIが直しやすくなることを学びます。
Unit 3 and 4 講義動画
Unit 5(120分)
Processing
Roblox演習
この単元で学んだ「ボールの落下とバウンド」を、Roblox Studio上でも体験します。
- 重力による落下運動とバウンド:重力を模した落下・バウンド運動の演習を、Robloxでも同様に重力加速度を計算してボールを落下・バウンドさせる演習に置き換えます(Robloxの標準物理演算と比較しながら、自作の重力計算でも再現できることを学べます)。
AI活用講座
AI活用講座 第41回、および本コースとの対応が明記されている第33回をご紹介します。実際の授業では、このうちいずれか1回を選んで実施します。
- Discernment×デバッグ:直してもらったコードを自分で確認する(AI活用講座 第41回):修正されたコードを複数のパターンで実際に動かし、本当に意図通りかを自分で確認します。
- 物理っぽい動き(落下・跳ね返り)をAIと作ろう(AI活用講座 第33回):「画面の上からボールが落ちてきて、床で跳ね返るアニメーションを作って」とAIに依頼し、跳ね返る高さや速さを調整する追加指示を出します。
Unit 6(120分)
Processing
Roblox演習
この単元で学んだ「重力を利用したゲーム」を、Roblox Studio上でも体験します。
- 重力を利用したアクションゲーム(障害物よけ):重力ゲーム(Flappy Bird風)の演習を、Robloxで重力に逆らって上昇・下降しながら障害物を避けるアクションゲームの制作に置き換えます。スクロールする背景や障害物の生成もRobloxのスクリプトで再現できます。
AI活用講座
AI活用講座 第42回をご紹介します。
- 自分のプログラムにわざとバグを入れて直す練習(AI活用講座 第42回):自分の作品にわざとミスを加え、隣の人と探し合った後、claude.aiに直してもらいます。
Unit 5 and 6 講義動画
学習指導案
学習指導案
■単元名
中級2Aコース Unit7-9 オブジェクト指向プログラミング
■単元の学習目標
オブジェクト指向プログラミングの考え方を学ぶ。
オブジェクト指向プログラミングのメリットを理解する。
オブジェクト指向プログラミングを実際に使用して作品を作る。
■テーマ選定の理由
オブジェクト指向プログラミングは構造化プログラミングと並ぶ重要なプログラミングの技法であり、現在のプログラミングの中核をなす本技法を理解することは重要である。
■単元の学習計画
カリキュラム
オブジェクト指向プログラミング Unit7 120分
オブジェクト指向プログラミングとは
等速直線運動するオブジェクト
壁で反射するオブジェクト Unit8 120分
落下するオブジェクト
オブジェクト指向プログラミングの復習と応用 Unit9 120分
■育成したい思考力
ロジカルシンキング
キープイットシンプル。単純な法則が複雑な世界を創る。
■評価計画
オブジェクト指向プログラミングの考え方を理解している。
オブジェクト指向プログラミングのメリットを理解している。
簡単なオブジェクト指向プログラミングができる。
オブジェクト指向プログラミングで作られたプログラムの概要がわかる。
■応用・発展
物体の運動以外にもオブジェクト指向プログラミングでプログラムを作成してみる。
講義
Unit 7(120分)
Processing
「オブジェクト指向プログラミングとは」 テキストp98
「等速直線運動するオブジェクト」 テキストp106
AI活用講座
AI活用講座 第43回をご紹介します。
- Diligence×デバッグ:直したコードを使う前の最終チェック(AI活用講座 第43回):「意図通りに動くか」「他の部分を壊していないか」「自分の言葉で説明できるか」の最終チェックリストを作ります。
Unit 8(120分)
Processing
「落下するオブジェクト」 テキストp123
AI活用講座
AI活用講座 第44回をご紹介します。
- 4D総合演習①:企画〜Delegation〜Description(AI活用講座 第44回):最終発表に向けた作品を企画し、「AIに任せる部分」「自分でやる部分」を決めて仕様書を作成します。
Unit 7 and 8 講義動画
Unit 9(120分)
Processing
AI活用講座
AI活用講座 第45回をご紹介します。
- 4D総合演習②:AIとの共同制作〜Discernment(AI活用講座 第45回):claude.aiに仕様を伝えて制作を進め、出てきたコードを都度動かして確認しながら追加の指示を出します。
学習指導案
学習指導案
■単元名
中級2Aコース Unit10-12 粒子系のシミュレーション
■単元の学習目標
複数のオブジェクトを格納することができるアレイリストについて学ぶ。
アレイリストを使用して粒子系をシミュレーションする。
粒子系の応用としてオリジナル作品を作る。
■テーマ選定の理由
アレイリストを利用することでたくさんのオブジェクトを生成、消滅することができる。これにより、さらにプログラムでできることの幅が広がる。
■単元の学習計画
カリキュラム
配列とアレイリスト Unit10 120分
たくさんのボールオブジェクト Unit11 120分
煙の表現1 Unit12 120分
煙の表現2
■育成したい思考力
ロジカルシンキング
キープイットシンプル。単純な法則が複雑な世界を創る。
ラテラルシンキング
■評価計画
アレイリストを理解している。
アレイリストでたくさんのオブジェクトを生成できる。
■応用・発展
球と球の衝突について考察してみる。
講義
Unit 10(120分)
Processing
AI活用講座
AI活用講座 第46回をご紹介します。
- 4D総合演習③:仕上げ〜Diligence〜完成(AI活用講座 第46回):最終チェックリストを使って作品を仕上げ、完成させます。
Unit 9 and 10 講義動画
Unit 11(120分)
Processing
Roblox演習
この単元で学んだ「たくさんのボールオブジェクト」を、Roblox Studio上でも体験します。
- たくさんのボールオブジェクトの発生・消滅:配列やArrayListで多数のボールを管理する演習を、Robloxでテーブルを使って多数のパーツを生成・管理し、条件に応じて消滅させる演習に置き換えます。オブジェクトの生成・破棄という考え方を共通して学べます。
AI活用講座
AI活用講座 第47回をご紹介します。
- 発表準備:自分とAIの役割分担を説明できるようにしよう(AI活用講座 第47回):「企画(自分)」「AIが作った部分」「確認・修正した点(自分)」を整理して発表用メモを作ります。
Unit 12(120分)
Processing
「煙の表現2」 テキストp175
Roblox演習
この単元で学んだ「煙の表現」を、Roblox Studio上でも体験します。
- パーティクル表現(煙・爆発などのエフェクト):半透明画像を使った煙の表現の演習を、Robloxで半透明パーツやParticleEmitterを使い、煙・爆発・花火などのエフェクトを表現する演習に置き換えます。透明度の変化や寿命(発生から消滅まで)の管理という考え方はそのまま活かせます。
AI活用講座
AI活用講座 第48回をご紹介します。
- 最終発表会&1年間のふりかえり(AI活用講座 第48回):完成作品と役割分担(Delegation〜Diligence)を発表し、4Dフレームワークをこれからも使い続ける意識を持って締めくくります。
Unit 11 and 12 講義動画
改訂新版・中級B 課題
課題1 水槽の作製 泡を描く
花子さんは友達から下記のようなclass bubbleとclass fishのプログラムをもらいました。
泡や魚の位置を表すのにベクトルというのを使っていますが、それを知らなくても水槽ができるそうです。
まずはclass bubbleを使って泡が下から上に移動するだけの水槽を作ってください。
ヒント
メインのプログラムにArrayList bubbleList;のようにしてアレイリストを作成します。
初期の泡の個数は20個くらいにします。
水槽の背景色はbackground(0, 100, 200);のように水色にします。
画面外に行った泡は削除して、同時に新しい泡を追加します。
泡が画面外に行ったかどうかの判断にはisOffScreen()が使えます。
例えば
Bubble b = bubbleList.get(i);
とすると
if (b.isOffScreen()) {
bubbleList.remove(i); // 画面外の泡を削除
bubbleList.add(new Bubble()); // 新しい泡を追加して一定数を保つ
}
のようにすることができます。
プログラムの雛形は以下からダウンロードできます。
newIB_fish_bubble_template

課題2 水槽の作製 泡とともに魚を描いて完成させる
課題1のプログラムに魚を描くプログラムを追加して水槽を完成させなさい。
ヒント
ArrayList fishList;のようにしてアレイリストを追加します。
魚の数は好みですが10匹くらいで良いでしょう。
move()で魚の位置を変えることができます。move()には壁での反射も含まれています。
display()で魚を表示します。

