Roblox Studio の協力的な性質とプロトタイピングの容易さは、AP CSP Create Performance Task. での使用に非常に適しています。いくつかの利点は以下の通りです:
- 無料で、簡単にダウンロードできるソフトウェア
- リアルタイムでのコラボレーションを許可する組み込み機能
- スクリプト言語 Luau を使用して革新し、自己表現する能力
コンピュータサイエンスのための Roblox
Luau でのコーディング
Luau は、初めてのコーディング言語として、または MIT Scratch のようなビジュアル言語を使用した後の新しい挑戦を求める人に最適です。Luau は型付き構文の言語で、Python に似ていますが、ホワイトスペースの問題がありません。これは、学生がコードのブロックをインデントしたりセミコロンを追加するのを忘れても、コードが壊れないことを意味します。
Luau を使用することで、学生は過度なトラブルシューティングよりもコンピュータサイエンスの概念にもっと集中できるようになります。
推奨事項
Roblox を使用した教室を始める前に、いくつかの推奨事項があります。
学生には限られた時間しかないため、学生が学期中に Roblox Studio を使用していたり、Luau または Lua の以前の経験があることが推奨されます。
教室に適応できる Luau のコーディング原則については、Coding Fundamentals シリーズをご覧ください。学生は、その後、Adventure Game のようなガイド付きプロジェクトを通じてコーディングの練習をすることができます。
コラボレーション
Roblox Studio は、コラボレーション を念頭に置いて構築されており、AP テストの準備を独立して行う学生やオンラインの学生にとって理想的な選択肢です。さらに、学生は同じスクリプトで同時に作業したり、特定のタスクにスクリプトを割り当てたりできるため、学生の個々の貢献を追跡しやすくなります。
学生プロジェクトの種類
学生が 6 - 8 時間の時間枠内で組み込むことができる抽象概念やアルゴリズムの例は以下の通りです:
- アイテムを購入・販売するショップの設置
- カスタムリーダーボードの作成と更新
- プレイヤーのプロパティ(健康、速度、大きさなど)を変更
- 障害物を克服するためやラウンド制のゲームを作成するタイマーの組み込み
- 分岐するストーリーの作成
AP CSP Create Performance Task
学生は Create Performance Task に対して次のものを提出する必要があります:
- プログラムが実行されている 1 分間のビデオ
- プログラムおよびその開発プロセスに関する個別の書面回答
- プログラムのコード
詳細については、AP CSP 試験シート を参照してください。
Roblox アイデアの例
書面による提出のために、学生はプロジェクト内のアルゴリズムを特定し、それには 2 つの小さなアルゴリズムが含まれる必要があります。また、学生は抽象概念を指摘する必要があります。学生は、前の回答を繰り返すのではなく、どのようにそれが抽象概念であるかを説明する限り、抽象のためにアルゴリズムを再利用することが許可されています。
プロジェクトの例
プログラムの目的: プレイヤーはゲーム内でコインを集め、それを使用してアイテムを購入します。
主なアルゴリズム: buyItem(itemToBuy) - プレイヤーがアイテムを購入できるようにします。プレイヤーが購入するアイテムを選択すると、まずそのプレイヤーが十分なコインを持っているかを確認します。もしそうであれば、所望のアイテムのコストをその総コインから引き、リーダーボード上のプレイヤーのコインを更新します。
サブアルゴリズム 1: verifyPurchase() プレイヤーのコインを確認します。もし、コインが所望のアイテムのコスト以上であれば、購入確認画面を表示します。プレイヤーのコインの価値がアイテムのコスト未満であれば、"申し訳ありませんが、十分なコインがありません"というテキストを含む画面を表示します。
サブアルゴリズム 2: purchaseItem() プレイヤーの現在のコインの量を取得します。アイテムのコストをプレイヤーのコインから引きます。その後、リーダーボード上に表示されているプレイヤーの現在のコインを更新します。
潜在的な抽象概念: 各タイプのアイテムの販売のための個別の関数を作成するのではなく、buyItem() には購入されるアイテムのためのパラメータ itemToBuy があります。アイテムのコストは getCost() を使用して見つけ、それはアイテムとそのコストの辞書から値を返します。そのコストは verifyPurchase() と purchaseItem() で使用されます。
推奨タスクマイルストーン
PT Create Task の準備に少なくとも2時間を費やし、プログラム及び書面とビデオの回答を完成させ、提出するために最低12時間の授業時間を計画してください。
この推奨スケジュールでは、学生はコーディングを完了するために約 6 時間または 7 時間を確保し、その後の時間で回答を準備し、アップロードします。
| 推定タイムライン | 目標 |
|---|---|
| PT 準備 1 | Create PT の導入。 |
| PT 準備 2 | コアおよびサブアルゴリズムのアイデアをブレインストーミングする。 |
| 1時間目 | 定義されたコアアルゴリズムで授業を始めます。問題を分解してコーディングソリューションを開始します。発生する問題やその解決策を文書化します。 |
| 2時間目 | 動作するプロトタイプを持つ。使用されるアルゴリズムや抽象概念を明確に説明できるようにします。タスクが難しすぎる場合は、目標を変更します。 |
| 3 - 4時間目 | 提出ビデオで特集される特定の抽象を特定します。特にプロジェクトが経るすべてのイテレーションの開発ノートを引き続き保持します。 |
| 5 - 7時間目 | メインプロジェクトを完成させます。 |
| 8時間目 | 質問 2A に対するビデオ回答を録画します。 |
| 9 - 10時間目 | 書面回答を完成させます。 |
| 11 - 12時間目 | プログラムコードと書面回答を提出します。 |
ビデオ要件
ビデオは実行中のコードでなければならず、全体のプログラムの目的および少なくとも 1 つの重要な機能を示さなければなりません。すべてのビデオは 1 分未満で、30 MB を超えてはいけません。 優秀なビデオ回答の例とスコアリングノートについては、 AP Central: サンプル回答 A. を参照ください。
完全な要件については、デジタルポートフォリオ学生ユーザーガイド. をご覧ください。
PT の準備
1 回の授業を使用してプロジェクトを紹介し、採点されたプロジェクトの例を見せることを計画してください。プロジェクトの計画には 2 回目のセッションを使用してください。
以下は、PT Create の準備を構成するのに役立つリソースです。
- Code.org
- 学生サバイバルガイド このダウンロードには code.org アカウントが必要です。
- AP Central - AP CSP
- Khan Academy
Roblox 専用のヒント
ビジュアルと 3D ワールドをシンプルに保つ
ゲームを作成する際、学生は自分の世界を装飾したりカスタマイズしたりすることに没頭することがあります。限られた時間しかないことを思い出させ、基本的なブロック形状や色を使ってゲームを計画するように励ましてください。
必要なスクリプトを計画する
計画セッションの一環として、学生にどのスクリプトが必要か、そのスクリプトの配置場所、機能を書き留めるようにします。学生が自分のコードを簡素化する関数を少なくとも 1 つ特定できるようにしてください。通常、これらの関数には異なる値を受け入れることができるパラメータがあったり、複数の場所から呼び出されたりします。学生のコードは論理的であるべきであり、試行錯誤やハッキングで作成されるべきではありません。
以下は、学生が振り返るための質問です:
- ゲームの主要アルゴリズムを担当する関数は何ですか?
- 主要アルゴリズムを実行するために必要な 2 つの小さなアルゴリズムは何ですか?
- プログラムが意図した通りに機能するために必要なアセット(アートや音など)は何ですか?どのタスクや動作がコーディングされる必要がありますか?
- 時間が足りない場合、どの機能を省略することができますか?
ツールボックスアセットの使用を避ける
ツールボックスは、Roblox Studio の一部で、3D モデルなどのプリビルトアセットを含みます。これらはしばしば学生が構築する時間を節約することができますが、すでに不要な機能や学生のコードと競合するスクリプトを含んでいる場合があります。学生がパッケージ化されたアセットに含まれるすべてのスクリプトを削除する努力を怠ると、後でデバッグする際に時間が無駄になることがあります。