Roblox Studio 的协作性质和快速原型制作的便捷性使其成为与 AP CSP Create Performance Task 》使用的很好选择。: 一些好处包括:
- 免费、易于下载的软件。
- 内置功能,可实现实时协作。
- 能够使用脚本语言 Luau 创新并表达自己的能力。
用于计算机科学的 Roblox
使用 Luau 编写代码
Luau 非常适合作为第一个编程语言,或者对于那些准备好迎接新挑战的人,例如 MIT Scratch 之后。Luau 是一种类型化语法语言。它与 Python 相似,但没有空格问题。这意味着如果你的学生忘记了引用一个代码块或添加了一个分号,他们的代码不会出现错误。
使用 Luau,学生可以更多地关注计算机科学概念,而不是过度的排除故障。
建议
在使用 Roblox 启动课堂之前,我们有一些建议。
由于学生只有有限的时间来创建他们的程序,建议学生在整个学期使用 Roblox Studio,或者有过 Luau 或 Lua 的经验。
对于你可以适应到课堂的 Luau 编程原则,请检查我们的 编程基础 系列。学生可以通过我们的指导项目,例如冒险游戏,来练习编程。
协作
Roblox Studio 是建立在 协作 的前提下的,因此成为学生独立或在线学习 AP 测试的理想选择。此外,学生可以同时在 同一脚本 中工作,或专门为特定任务编写脚本,使跟踪学生的个人贡献变得容易。
学生项目类型
学生可以在 6 - 8 小时时间框内融合的一些抽象和算法示例是:
- 设置商店购买和出售物品。
- 创建和更新自定义排行榜。
- 对玩家属性(例如生命值、速度和尺寸)进行更改。
- 融合计时器以绕过障碍或创建回合制游戏。
- 创建分支故事。
AP CSP创建性能任务
学生需要为创建性能任务提交以下内容:
- 运行中程序的一分钟视频。
- 关于程序和其开发过程的个人书面回复。
- 程序的代验证码。
了解更多信息,请参阅AP CSP 考试表以获取精确细节。
Roblox 的例子想法
对于书面提交,学生需要在项目中识别两个更小的算法的算法。他们还需要调用抽象。学生可以为抽象重复使用算法,只要他们描述它是如何是抽象,而不是重复他们之前的答案。
项目示例
程序目的: 玩家在游戏中收集硬币,然后使用硬币购买物品。 主算法: buyItem(itemToBuy) - 允许玩家购买物品。当玩家选择购买物品时,首先检查玩家是否拥有足够的硬币。如果是这样,它将从总体硬币中减去所需物品的费用,并在排行榜上更新玩家的硬币。 子算法 1: verifyPurchase() 检查玩家的硬币。如果大于或等于所需物品的成本,显示购买确认屏幕。如果玩家的硬币价值小于物品价格,显示带有文本“抱歉,你没有足够的硬币”的屏幕。 子算法 2:: purchaseItem() 获取玩家当前的硬币数量。从玩家的硬币中扣除物品的成本。然后,更新排行榜上显示的玩家当前的硬币。 潜在抽象: 而不是为每种类型的物品创建单个函数, buyItem() 有一个参数用于购买物品, itemToBuy .项目成本通过 getCost() 找到,该方法返回一个项目字典的值以及它们的成本。该成本然后在 verifyPurchase() 和 purchaseItem() 中使用。
推荐任务里程碑
计划花费至少两个小时 为学生准备 PT 创建任务 ,然后至少 12 小时的课堂时间来完成并提交一个程序以及书面和视频回应。
这个推荐的时间表给学生大约 6 或 7 小时完成代验证码,还有额外的时间来准备和上传回应。
大约的时间线 | 目标 |
---|---|
PT准备1 | 介绍创建 PT。 |
PT准备2 | 为核心和子算法提出想法。 |
第 1 小时 | 使用定义的核心算法开始类。分解问题并开始编写解决方案。记录任何出现的问题或问题点以及解决方案。 |
小时 2 | 有一个工作原型。能够说明使用的算法和抽象化。如果任务过于困难,必要时对目标进行更改。 |
小时 3 - 4 | 确定特定抽象将在提交视频中亮相。继续保留开发记录,特别是项目经历的任何迭代。 |
5 - 7小时 | 完成主项目。 |
小时 8 | 记录对问题 2A 的视频回答。 |
小时 9 - 10 | 完成书面回应。 |
小时 11 - 12 | 提交程序代码和书面回答。 |
视频要求
视频应为运行代码,展示整个程序的目的以及至少一个重要精选。所有视频必须在一分钟内,不超过 30 MB。对于示例的示例视频响应,评分注释请参阅 AP Central:样例回应 A。
了解完整要求,请参阅数字资产学生用户指南。
准备PT
计划花费一节课程介绍项目并展示等级项目的例子。使用第二节课程来计划项目。
以下是帮助你结构准备 PT 创建的资源。
- 应用中心 - 应用 CSP
- Khan学院
Roblox 特定提示
保持视觉效果和 3D 世界简单
当创建游戏时,学生可以获得投资来装饰或自定义他们的世界。帮助他们记住,他们只有有限的时间,鼓励他们使用基本的块状形状和颜色来规划他们的游戏。
计划需要的脚本
作为计划会会话的一部分,让学生记下他们需要的脚本、该脚本的位置以及该脚本的功能。确保学生能够识别至少一个简化代验证码的函数。通常,这些函数会有允许它们接收不同值的参数,或者会从多个地方调用。学生代码应该是有道理的,而不是通过试错或熔合而创建的。
以下是一些问题,可以帮助学生反思:
- 哪个功能负责游戏中的主算法?
- 需要运行主算法的两个更小算法是什么?
- 哪些资产,例如艺术或声音,需要使程序按预期功能运行?需要编写哪些任务和行为?
- 如果时间不足,哪些功能可以被削减?
避免使用工具箱资产
工具箱是 Roblox Studio 的一部分,包含预制资产,例如 3D 模型。虽然这些可以节省学生在建造时的时间,但它们往往已经包含可能包含不需要的功能或与学生的代验证码冲突的脚本。如果学生没有努力地删除预包装资产中包含的所有脚本,那么在稍后进行调试时可能会浪费时间。