ธรรมชาติของการทำงานร่วมกันใน 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:
- วิดีโอความยาวหนึ่งนาทีของโปรแกรมที่กำลังทำงาน
- คำตอบเป็นลายลักษณ์อักษรเกี่ยวกับโปรแกรมและกระบวนการพัฒนาของพวกเขา
- โค้ดของโปรแกรม
สำหรับข้อมูลเพิ่มเติม โปรดอ้างอิงไปที่ AP CSP Exam Sheet สำหรับรายละเอียดที่ถูกต้อง
แนวคิดตัวอย่าง Roblox
สำหรับการส่งเป็นลายลักษณ์อักษร นักเรียนจะต้องระบุตัวอัลกอริธึมในโครงการของพวกเขาที่รวมอัลกอริธึมย่อยสองตัว และพวกเขาจะต้องระบุอับสตราคชัน นักเรียนสามารถใช้ซ้ำอัลกอริธึมสำหรับอับสตราคชันได้ ขึ้นอยู่กับว่าพวกเขาอธิบายว่ามันเป็นอับสตราคชันอย่างไร แทนที่จะซ้ำคำตอบก่อนหน้า
ตัวอย่างโปรเจค
วัตถุประสงค์ของโปรแกรม: ผู้เล่นเก็บเหรียญในเกมและใช้เหรียญนั้นเพื่อซื้อสินค้า
อัลกอริธึมหลัก: buyItem(itemToBuy) - อนุญาตให้ผู้เล่นซื้อสินค้า เมื่อผู้เล่นเลือกสินค้าที่จะซื้อ มันจะตรวจสอบก่อนว่าผู้เล่นมีเหรียญเพียงพอ หากมี มันจะหักต้นทุนของสินค้าที่ต้องการจากยอดเงินรวมของพวกเขาและปรับปรุงเหรียญของผู้เล่นในรายชื่อผู้นำ
อัลกอริธึมย่อย 1: verifyPurchase() ตรวจสอบเหรียญของผู้เล่น หากมากกว่าหรือเท่ากับต้นทุนสินค้า แสดงหน้าจอยืนยันการซื้อ หากมูลค่าเหรียญของผู้เล่นน้อยกว่าต้นทุนของสินค้า แสดงหน้าจอด้วยข้อความ: "ขอโทษ คุณไม่มีเหรียญเพียงพอ"
อัลกอริธึมย่อย 2: purchaseItem() รับจำนวนเหรียญปัจจุบันของผู้เล่น หักต้นทุนของสินค้าออกจากเหรียญของผู้เล่น จากนั้นปรับปรุงเหรียญปัจจุบันของผู้เล่นที่แสดงในรายชื่อผู้นำ
อับสตราคชันที่เป็นไปได้: แทนที่จะสร้างฟังก์ชันแยกสำหรับการขายสินค้าทุกประเภท buyItem() มีพารามิเตอร์สำหรับสินค้าที่จะซื้อ itemToBuy ค่าใช้จ่ายของสินค้าจะถูกค้นหาด้วย getCost() ซึ่งจะส่งค่าจากพจนานุกรมของสินค้าและราคาของพวกมัน ราคานั้นจะถูกใช้ใน verifyPurchase() และ purchaseItem()
ไทม์ไลน์งานที่แนะนำ
วางแผนใช้เวลา อย่างน้อยสองชั่วโมง ในการเตรียมนักเรียนสำหรับ PT Create Task และอย่างน้อย 12 ชั่วโมงในชั้นเรียนเพื่อที่จะเสร็จสิ้นและส่งโปรแกรมควบคู่ไปกับคำตอบเป็นลายลักษณ์อักษรและวิดีโอ
ตารางเวลาแนะนำนี้ให้นักเรียนใช้เวลาประมาณ 6 หรือ 7 ชั่วโมงในการเขียนโค้ด โดยมีเวลามากขึ้นในการเตรียมและอัปโหลดคำตอบ
| ประมาณการไทม์ไลน์ | วัตถุประสงค์ |
|---|---|
| PT Prep 1 | แนะนำ Create PT. |
| PT Prep 2 | ระดมความคิดสำหรับอัลกอริธึมหลักและอัลกอริธึมย่อย |
| ชั่วโมงที่ 1 | เริ่มชั้นเรียนด้วยอัลกอริธึมหลักที่ชัดเจน แบ่งปัญหาและเริ่มเขียนโค้ดเพื่อหาทางออก บันทึกปัญหาหรือจุดที่เกิดปัญหาที่เกิดขึ้น รวมทั้งวิธีแก้ไขของมัน |
| ชั่วโมงที่ 2 | มีต้นแบบที่ใช้งานได้ สามารถอธิบายอัลกอริธึมและอับสตราคชันที่ใช้ หากงานใดแสดงว่าทำได้ยาก ควรปรับเป้าหมายตามความจำเป็น |
| ชั่วโมงที่ 3 - 4 | ระบุอับสตราคชันเฉพาะที่จะแสดงในวิดีโอส่งงาน ทำการบันทึกการพัฒนาอย่างต่อเนื่อง โดยเฉพาะอย่างยิ่งเกี่ยวกับการปรับปรุงที่โครงการผ่านไป |
| ชั่วโมงที่ 5 - 7 | เสร็จสิ้นโปรเจคหลัก |
| ชั่วโมงที่ 8 | บันทึกคำตอบในวิดีโอสำหรับคำถาม 2A |
| ชั่วโมงที่ 9 - 10 | เสร็จสิ้นคำตอบเป็นลายลักษณ์อักษร |
| ชั่วโมงที่ 11 - 12 | ส่งโค้ดโปรแกรมและคำตอบเป็นลายลักษณ์อักษร |
ข้อกำหนดวิดีโอ
วิดีโอนั้นควรแสดงโค้ดที่กำลังทำงานและแสดงวัตถุประสงค์ของโปรแกรมโดยรวม รวมทั้งฟีเจอร์ที่สำคัญอย่างน้อยหนึ่งตัว วิดีโอทั้งหมดต้องมีความยาวไม่เกินหนึ่งนาทีและไม่เกิน 30 MB สำหรับตัวอย่างวิดีโอที่ยอดเยี่ยมพร้อมความคิดเห็นในการให้คะแนน ดูได้ที่ AP Central: ตัวอย่างคำตอบ A.
สำหรับข้อกำหนดทั้งหมด โปรดดูที่ คู่มือผู้ใช้ Digital Portfolio สำหรับนักเรียน.
การเตรียมการสำหรับ PT
วางแผนใช้เวลาในชั้นเรียนหนึ่งเซสชั่นในการแนะนำโปรเจคและแสดงตัวอย่างโปรเจคที่ได้คะแนนสูง ใช้เซสชั่นที่สองเพื่อวางแผนโปรเจค
ด้านล่างนี้เป็นแหล่งข้อมูลเพื่อช่วยคุณในการจัดโครงสร้างการเตรียมการสำหรับ PT Create
- Code.org
- คู่มือความอยู่รอดสำหรับนักเรียน คุณจะต้องมีบัญชี code.org เพื่อดาวน์โหลดนี้
- AP Central - AP CSP
- Khan Academy
เคล็ดลับเฉพาะสำหรับ Roblox
ทำให้ภาพและโลก 3D ง่ายๆ
เมื่อสร้างเกม นักเรียนสามารถลงทุนในความสวยงามหรือการปรับแต่งโลกของตน ช่วยให้พวกเขาหมายเหตุไว้ว่าพวกเขามีเวลา จำกัด และสนับสนุนให้พวกเขาใช้รูปทรงบล็อคและสีพื้นฐานในการวางแผนเกมของพวกเขา
วางแผนการสคริปต์ที่จำเป็น
เป็นส่วนหนึ่งของเซสชันการวางแผน ให้นักเรียนเขียนลงว่าสคริปต์ใดที่พวกเขาต้องการ สคริปต์นั้นจะอยู่ที่ไหน และฟังก์ชันของสคริปต์นั้นคืออะไร ตรวจสอบให้นักเรียนสามารถระบุฟังก์ชันอย่างน้อยหนึ่งฟังก์ชันที่ทำให้โค้ดของพวกเขาเรียบง่ายขึ้น โดยปกติแล้วฟังก์ชันเหล่านี้จะมีพารามิเตอร์ที่อนุญาตให้รับค่าที่แตกต่างกันหรือต้องถูกเรียกจากหลายๆ ที่ โค้ดของนักเรียนควรจะมีเหตุผล ไม่ใช่สร้างขึ้นจากการทดลองและความผิดพลาดหรือถูกรวมเข้าด้วยกันแบบสุ่ม
ด้านล่างนี้เป็นคำถามบางประการเพื่อช่วยนักเรียนในการสะท้อน:
- ฟังก์ชันไหนที่มีหน้าที่รับผิดชอบต่ออัลกอริธึมหลักในเกม?
- อัลกอริธึมขนาดเล็กสองตัวที่จำเป็นต้องเรียกใช้เพื่อให้อัลกอริธึมหลักทำงานคืออะไร?
- ทรัพยากร เช่น ศิลปะหรือเสียง อะไรบ้างที่จำเป็นสำหรับการทำให้โปรแกรมทำงานตามที่ตั้งใจไว้? งานและพฤติกรรมใดที่ต้องเขียนโค้ด?
- หากคุณมีเวลาเหลือน้อย คุณจะตัดฟีเจอร์ไหนออก?
หลีกเลี่ยงการใช้ทรัพยากรจากกล่องเครื่องมือ
กล่องเครื่องมือเป็นส่วนหนึ่งของ Roblox Studio ที่รวมทรัพยากรที่สร้างเสร็จแล้ว เช่น โมเดล 3 มิติ ในขณะที่สิ่งเหล่านี้สามารถประหยัดเวลาให้นักเรียนในการสร้าง แต่พวกเขามักจะมีสคริปต์ที่อาจมีฟังก์ชันการทำงานที่ไม่ต้องการหรือตีกันกับโค้ดของนักเรียน หากนักเรียนไม่ใส่ใจในการลบสคริปต์ทั้งหมดที่รวมมาในทรัพยากรที่บรรจุมาแล้ว อาจทำให้เวลาที่ใส่ไปในขั้นตอนการดีบัคไม่เกิดประโยชน์ในภายหลังได้