การใช้ Switch Blocks เพื่อเปลี่ยนจากบล็อกเป็นการเข้ารหัสแบบข้อความใน VEXcode VR

ในการเข้าถึง Switch Blocks ใน VEXcode VR คุณต้องมีใบอนุญาต VEXcode VR Premium ดูบทความนี้สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการเข้าถึง Switch Blocks ใน VEXcode VR

แม้ว่าโปรแกรมเมอร์ระดับเริ่มต้นจะมีความโน้มเอียงที่จะใช้อินเทอร์เฟซแบบบล็อกมากกว่า แต่ผู้เรียนขั้นสูงอาจสนใจในการเขียนโค้ดหุ่นยนต์โดยใช้ภาษาการเขียนโปรแกรมแบบข้อความ เช่น Python ในอดีต การเปลี่ยนผ่านจากการโปรแกรมแบบบล็อกไปเป็นการเขียนโปรแกรมแบบข้อความอาจทำให้ผู้เรียนรู้สึกเหมือนกำลังเรียนภาษาใหม่ทั้งหมด ซึ่งไม่สามารถใช้ตรรกะที่เคยเรียนรู้จากการใช้บล็อกได้1 Switch Blocks ใน VEXcode VR ได้รับการพัฒนาขึ้นเพื่ออำนวยความสะดวกในการเปลี่ยนผ่านจากการเขียนโปรแกรมแบบบล็อกไปเป็นแบบข้อความ บทความนี้จะกล่าวถึงวิธีการใช้ Switch Blocks ใน VEXcode VR และพาคุณผ่านสถานการณ์จำลองในห้องเรียนเพื่ออธิบายและแสดงคุณลักษณะเหล่านั้นในบริบท

สลับบล็อกเพื่อแสดงโค้ดแบบบล็อกและแบบข้อความที่เทียบเท่ากันใน VEXcode VR

การใช้สวิตช์บล็อก

Switch รวบรวมองค์ประกอบที่คุ้นเคยของการเขียนโปรแกรมแบบบล็อกและรวมกล่องข้อความที่สามารถพิมพ์คำสั่งข้อความได้ วิธีนี้ช่วยให้ผู้เรียนสามารถเปลี่ยนไปใช้ข้อความได้อย่างช้าๆ ในขณะที่เรียนรู้คำสั่งและไวยากรณ์ที่เกี่ยวข้องกับ Python รับชมวิดีโอต่อไปนี้เพื่อดูตัวอย่างการป้อนโค้ด Python ลงในบล็อก Switch


Switch ช่วยให้ผู้เรียนมีสะพานเชื่อมจากบล็อกสู่การเขียนโค้ดแบบข้อความได้อย่างเป็นธรรมชาติ เมื่อนักเรียนมีความคุ้นเคยกับตรรกะและลำดับคำสั่งแล้ว พวกเขาสามารถเริ่มแปลงโครงการทีละบล็อกได้ วิดีโอนี้แสดงขั้นตอนการแปลงบล็อกธรรมดาให้เป็นบล็อกสวิตช์

สิ่งนี้ช่วยให้ผู้เรียนสามารถทำงานกับกระแสตรรกะของโปรแกรมแบบบล็อกต่อไปได้ โดยที่ผู้เรียนสามารถเห็นสิ่งต่างๆ เช่น การวนรอบบล็อกอื่นๆ ได้ด้วยตนเอง ขณะเดียวกันก็เริ่มทดลองใช้คำสั่งข้อความด้วยตัวเอง เมื่อบล็อกถูกแปลงเป็นสวิตช์แล้ว นักเรียนสามารถเปลี่ยนพารามิเตอร์ได้อย่างง่ายดาย และเริ่มทำความเข้าใจไวยากรณ์ของคำสั่งข้อความ หัวข้อนี้จะแนะนำคุณเกี่ยวกับการใช้งาน Switch ของนักเรียน เพื่ออธิบายว่าคุณสามารถใช้บล็อคเหล่านี้ในโครงการ VEXcode VR ได้อย่างไร

Switch มีจำหน่ายพร้อมใบอนุญาต VEXcode VR Premium เรียนรู้เพิ่มเติมเกี่ยวกับการสมัครสมาชิก VEXcode VR ที่นี่

เมื่อคุณมีใบอนุญาต คุณจะเรียนรู้วิธีการเข้าถึง Switch โดยใช้ข้อมูลในบทความนี้

สวิตช์ในห้องเรียน

ออสตินเป็นนักเรียนที่เขียนโค้ดด้วยบล็อกมาหลายปีแล้ว แม้ว่านักเรียนบางคนในชั้นเรียนยังเป็นนักเขียนโค้ดมือใหม่ แต่ออสตินอยากเรียนรู้เพิ่มเติมเกี่ยวกับ Python และวิธีการเขียนโค้ดหุ่นยนต์ VR โดยใช้ข้อความ คุณครูฮันเตอร์ ครูสอนวิทยาการคอมพิวเตอร์ สังเกตเห็นว่าออสตินพร้อมสำหรับความท้าทายเพิ่มเติมแล้ว และได้แนะนำ Switch เพื่อช่วยสร้างกรอบการเรียนรู้ของออสตินและแนะนำการเขียนโค้ดแบบข้อความ นางสาวฮันเตอร์สาธิตพื้นฐานบางอย่าง เช่น การแปลงบล็อกและการเปิดวิธีใช้เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับคำสั่งสลับ Python สำหรับแต่ละบล็อก 

วันนี้คุณครูฮันเตอร์มอบหมายกิจกรรมการทำความสะอาดแนวปะการัง กับชั้นเรียน เธอใช้ VEXcode VR สำหรับชั้นเรียนการเขียนโค้ดของเธอ เพราะเธอรู้ว่าเธอสามารถสร้างความแตกต่างในการสอนและเข้าถึงนักเรียนที่มีระดับการเขียนโค้ดต่างกันได้ด้วยกิจกรรมเดียวกัน โหมดสวิตช์ช่วยอำนวยความสะดวกในการสร้างความแตกต่างให้กับนักเรียนเช่นออสติน ในกิจกรรมการทำความสะอาดแนวปะการัง เป้าหมายคือการรวบรวมขยะให้ได้มากที่สุดเท่าที่จะทำได้ ก่อนที่แบตเตอรี่ของ VR Robot จะหมด ด้วยความเข้าใจในความท้าทายและวิธีการเขียนโค้ดอัลกอริทึมพื้นฐาน ออสตินจึงสร้างโครงการ VEXcode VR ที่ใช้เซ็นเซอร์ Down Eye เพื่อตรวจจับขอบของสนามเด็กเล่นและขับถอยหลังเพื่อหลีกเลี่ยงอันตรายต่อปะการัง

พื้นที่ทำงาน VEXcode VR พร้อมคำสั่งแบบบล็อกสำหรับการเขียนโปรแกรมหุ่นยนต์เสมือนจริง

การแปลงบล็อกเดี่ยวเป็นสวิตช์

แปลง 1 บล็อค


ตอนนี้ Austin มีโปรเจ็กต์ที่เขาได้ทดสอบและตรวจยืนยันแล้วว่าใช้งานได้ ขั้นตอนถัดไปคือการแปลงบล็อกเป็น Switch เพื่อเริ่มสำรวจ Python 


 

คุณสามารถแปลงบล็อกเป็นสวิตช์ได้โดยการกดค้างไว้หรือคลิกขวาที่บล็อก จากนั้นเลือกตัวเลือก "แปลงเป็นบล็อกสวิตช์" ตามที่แสดงในวิดีโอนี้

ตอนนี้ออสตินเห็นแล้วว่าบล็อก [Drive for] เปลี่ยนเป็นคำสั่ง Python drive_for หลังจากการแปลงแล้ว ออสตินดำเนินโครงการเพื่อให้แน่ใจว่าโครงการยังคงทำงานได้ตามที่ตั้งใจไว้ หลังจากการแปลงเสร็จสิ้น ออสตินต้องการเรียนรู้เพิ่มเติมเกี่ยวกับคำสั่ง drive_for ด้วยการเปิดความช่วยเหลือของบล็อก [Drive for] ออสตินสามารถสร้างการเชื่อมต่อระหว่างพารามิเตอร์จากบล็อกไปยังคำสั่ง Python ได้

การใช้ความช่วยเหลือเพื่อเรียนรู้เพิ่มเติมเกี่ยวกับคำสั่ง Switch Python

เปิดความช่วยเหลือ


เพื่อดูข้อมูลคำสั่ง Switch Python ในวิธีใช้ Austin จะเปิดหน้าต่างวิธีใช้และเลือกบล็อก [ไดรฟ์สำหรับ] จากนั้นเลื่อนไปที่ด้านล่างตามที่แสดงในวิดีโอที่นี่ 

นางสาวฮันเตอร์เช็คอินและเห็นว่าออสตินกำลังเรียนรู้เพิ่มเติมเกี่ยวกับบล็อก [Drive for] เธอท้าทายเขาให้ประยุกต์ใช้สิ่งที่เรียนรู้จากการแปลงบล็อกและการพิมพ์ลงในบล็อกใหม่ เธอสาธิตวิธีการลากบล็อก Switch เข้ามา และให้ Austin ลองพิมพ์คำสั่ง turn_for ลงในบล็อกนั้น ออสตินเปิดวิธีใช้สำหรับบล็อคและจดบันทึกเกี่ยวกับโครงสร้างของคำสั่ง 

การพิมพ์ในบล็อกสวิตช์

เพิ่มบล็อค


เมื่อทราบคำสั่ง Python จากการตรวจสอบความช่วยเหลือ ออสตินต้องการพิมพ์ลงในบล็อก Switch โดยตรง ออสตินลากบล็อก [Switch Stack] จากกล่องเครื่องมือ แล้วเพิ่มเข้าไปเหนือบล็อก [Turn for] ดังที่แสดงในวิดีโอนี้ 

พิมพ์ลงในบล็อค


จากนั้น Austin ใช้เคอร์เซอร์เพื่อเลือกบล็อก Switch และเริ่มพิมพ์คำสั่ง Python turn_for ดังที่แสดงในภาพนี้ 


 

หลังจากพิมพ์คำสั่งใหม่และตรวจสอบให้แน่ใจว่าพารามิเตอร์ตรงกับบล็อกเดิมแล้ว คุณสามารถลบบล็อก [Turn for] ได้ตามที่แสดงในวิดีโอนี้ 

นางสาวฮันเตอร์เข้ามาตรวจดูความคืบหน้าของออสติน เธอเห็นโครงการ Switch และขอตรวจดูว่ามันทำงานเพื่อให้แน่ใจว่าพิมพ์คำสั่งถูกต้อง หลังจากตรวจสอบการทำงานของโครงการแล้ว เธอก็สาธิตคุณลักษณะอีกอย่างหนึ่ง นั่นก็คือ บล็อกหลายบรรทัด

คัดลอกและวาง


บล็อก [Switch Stack] สามารถมีโค้ดหลายบรรทัดพิมพ์อยู่ภายในได้ ออสตินคัดลอกข้อความ turn_for แล้ววางลงในบล็อกด้านบนตามที่แสดงในวิดีโอนี้

 

ออสตินพบว่าเมื่อกด 'Enter' หรือ 'Return' บนแป้นพิมพ์ ก็จะสามารถเพิ่มบรรทัดเพิ่มเติมลงในบล็อกได้ และทำการเพิ่มคำสั่ง Python ต่อไป

ออสตินรู้สึกราวกับว่าเป็นผู้เชี่ยวชาญคำสั่ง Drivetrain ใน Python จึงพิมพ์ใบรับรองออกมาและบันทึกโครงการไว้สำหรับครั้งต่อไป

การแปลงสแต็กเป็นสวิตช์

ในช่วงท้ายปีการศึกษา คุณครูฮันเตอร์กลับมาเยี่ยมชมกิจกรรมการทำความสะอาดแนวปะการังอีกครั้ง และท้าทายให้นักเรียนทำคะแนนให้สูงขึ้นหรือใช้การเขียนโค้ดแบบข้อความ ในขณะที่ Austin ได้ใช้คำสั่ง Drivetrain ในบล็อก Switch กิจกรรมนี้ถือเป็นโอกาสที่จะเรียนรู้เพิ่มเติมเกี่ยวกับสิ่งที่เทียบเท่ากับบล็อก 'C' และค่าบูลีนใน Python 

แปลงแรปเปอร์


Austin กดค้างไว้หรือคลิกขวาที่บล็อก [If then else] แล้วเลือก 'Convert wrapper and contents to Switch Block' วิธีนี้จะแปลงลูปและเนื้อหาภายในลูปให้เป็นบล็อก Switch เดียว ดังที่แสดงในวิดีโอนี้


 

สังเกตการเยื้องหลังจากการแปลงเสร็จสิ้น คำสั่งหลายคำสั่งในบล็อกสวิตช์หนึ่งจะต้องมีการเยื้องที่ถูกต้องจึงจะทำงานได้ตามต้องการ

บล็อกสวิตช์เพิ่มเติม

แม้ว่า Austin จะใช้บล็อก [Switch Stack] โดยเฉพาะ แต่ก็ยังมีบล็อก Switch เพิ่มเติมให้ใช้ด้วย ออสตินพร้อมที่จะส่งมอบโครงการทำความสะอาดแนวปะการังที่ได้รับการปรับปรุงแล้ว แต่มีแผนร่วมกับนางสาวฮันเตอร์ที่จะลองใช้บล็อกสวิตช์แบบใหม่ตามที่ระบุไว้ด้านล่างในชั้นเรียนครั้งต่อไป

บล็อกสวิตช์มีรูปร่างแบบเดียวกันกับบล็อกอื่นๆ ตารางนี้แสดงการเปรียบเทียบระหว่างรูปร่างบล็อก ความหมาย และบล็อกสวิตช์ประเภทเดียวกัน

รูปทรงบล็อก คำอธิบาย ตัวอย่างบล็อก ตัวอย่างสวิตช์
บล็อกหมวก เริ่มต้นจากการเรียงบล็อกเป็นกองและจัดรูปทรงให้สามารถติดบล็อกไว้ด้านล่างได้ พื้นที่ทำงาน VEXcode VR พร้อมบล็อกสวิตช์ที่แสดงคำสั่งบล็อกและคำสั่ง Python ที่เทียบเท่ากันสำหรับการเลี้ยวระบบขับเคลื่อนใน Playground ตัวอย่างรูปทรงของบล็อกหมวก บล็อกซ้อน บล็อกบูลีน และบล็อกรายงาน ที่ใช้ร่วมกับบล็อกสวิตช์ใน VEXcode VR
บล็อคซ้อน ดำเนินการคำสั่งหลัก มีรูปร่างที่สามารถติดไว้ด้านบนหรือด้านล่างของบล็อกสแต็กอื่นๆ ได้ ตัวอย่างบล็อกสวิตช์สำหรับบล็อกประเภท hat, stack, boolean และ reporter ใน VEXcode VR ตัวอย่างบล็อก hat, stack, Boolean และ reporter พร้อมบล็อก switch ที่เกี่ยวข้องใน VEXcode VR
บล็อกบูลีน คืนเงื่อนไขเป็นจริงหรือเท็จ และพอดีกับบล็อกใดๆ ที่มีอินพุตรูปหกเหลี่ยม (หกด้าน) สำหรับบล็อกอื่นๆ พื้นที่ทำงาน VEXcode VR พร้อมแถบเครื่องมือ Blocks และพื้นที่เขียนโค้ดสำหรับการสร้างโปรเจ็กต์ด้วยบล็อก ตัวอย่างของบล็อก hat, stack, Boolean และ reporter พร้อมบล็อก switch ที่เทียบเท่าใน VEXcode VR
นักข่าวบล็อค รายงานค่าในรูปแบบตัวเลขและใส่ไว้ในบล็อกที่มีอินพุตรูปวงรีสำหรับบล็อกอื่นๆ ตัวอย่างบล็อกสวิตช์ที่ผสมผสานโค้ดแบบบล็อกและโค้ดแบบข้อความใน VEXcode VR พาเล็ตบล็อก VEXcode VR ที่มีหมวดหมู่บล็อก ได้แก่ hat, stack, Boolean และ reporter ซึ่งใช้ในบล็อก switch
บล็อกซี วนซ้ำบล็อกภายในหรือตรวจสอบว่าเงื่อนไขเป็นจริงหรือเท็จ มีรูปร่างที่สามารถยึดบล็อกซ้อนกันไว้ด้านบน ด้านล่าง หรือด้านในได้ ตัวอย่างรูปทรงบล็อก VEXcode VR ได้แก่ hat, stack, Boolean และ reporter พร้อมรูปแบบบล็อก switch ที่เกี่ยวข้อง ตัวอย่างบล็อกสวิตช์สำหรับบล็อกหมวก บล็อกซ้อน บล็อกบูลีน และบล็อกรายงานใน VEXcode VR ตัวอย่างบล็อกสวิตช์ที่แสดงรูปร่างของบล็อกที่แปลงเป็นโค้ดแบบข้อความ โปรเจ็กต์ VEXcode VR แสดงการใช้บล็อกสวิตช์เพื่อรวมการเขียนโค้ดแบบบล็อกและแบบข้อความเข้าด้วยกันในพื้นที่ทำงาน

การนำทุกสิ่งมารวมกัน

ขณะที่คุณครูฮันเตอร์เฝ้าดูออสตินทดสอบการพิมพ์คำสั่ง Python ต่างๆ ในบล็อก Switch เธอจึงเห็นว่า Switch ช่วยให้นักเรียนของเธอสามารถสร้างกรอบการเรียนรู้ของตนเองได้อย่างไร นักเรียนของเธอทุกคนมีประสบการณ์การเขียนโค้ดที่แตกต่างกันไปก่อนที่จะเริ่มเรียนกับเธอ และความท้าทายภายใน VEXcode VR ช่วยให้พวกเขาเขียนโค้ดตามระดับของตนเองได้ นักเรียนบางคนเขียนโค้ดโดยใช้ Blocks เพียงอย่างเดียว บางคนเขียนโค้ดโดยใช้ Python และบางคน เช่น Austin ใช้ Switch เพื่อเปลี่ยนไปเขียนโค้ดโดยใช้ Python ในช่วงไม่กี่เดือนถัดมา ออสตินได้เปลี่ยนไปเขียนโค้ดเฉพาะใน Python โดยนำการเรียนรู้จากการใช้ Switch มาประยุกต์ใช้เพื่อให้การเปลี่ยนจากบล็อกไปเป็นข้อความง่ายและราบรื่นยิ่งขึ้น 

Switch Blocks ใน VEXcode VR ช่วยให้ครู เช่น คุณ Hunter สามารถทำหน้าที่เป็นผู้ช่วยเหลือในการเรียนรู้ ในขณะที่นักเรียนที่มีระดับการเขียนโค้ดต่างกันก็สามารถทำตามความท้าทายเดียวกันได้ ในขณะเดียวกันนักเรียน เช่น ออสติน รู้สึกได้รับอำนาจในการลองใช้วิธีใหม่ๆ ในการแก้ปัญหาการเขียนโค้ดในขณะที่เปลี่ยนจากบล็อกไปเป็นข้อความโดยใช้ Switch Blocks ใน VEXcode VR


1ไวน์ทรอพ, เดวิด และอูริ วิเลนสกี้ "รูปแบบการเขียนโปรแกรมแบบบล็อก แบบข้อความ และแบบไฮบริดของบล็อก/ข้อความ มีอิทธิพลต่อแนวทางการเขียนโปรแกรมของมือใหม่อย่างไร"  วารสารนานาชาติว่าด้วยปฏิสัมพันธ์ระหว่างเด็กกับคอมพิวเตอร์ 17 (2018): 83-92

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: