การใช้บล็อกเพื่อสอนการเขียนโค้ดให้กับมือใหม่ทุกวัย
การใช้สภาพแวดล้อมการเข้ารหัสแบบบล็อกเช่น VEXcode เป็นวิธีที่มีประสิทธิภาพในการสอนวิทยาการคอมพิวเตอร์ให้กับนักเขียนโค้ดมือใหม่ทุกวัย1 แม้ว่าหลายคนจะมองว่าการเขียนโปรแกรมแบบบล็อกตามความเหมาะสมสำหรับนักเรียนรุ่นใหม่หรือสภาพแวดล้อมการเรียนรู้ที่ไม่เป็นทางการเท่านั้นแต่การเขียนโค้ดแบบบล็อกนั้นสนับสนุนนักเรียนทุกวัยในการเรียนรู้การเขียนโค้ด
ในการประชุมนักการศึกษา VEX ปี 2023 ดร. เดวิดไวน์ทรอปได้แบ่งปันภาพรวมของการวิจัยของเขาที่สนับสนุนการใช้การเข้ารหัสแบบบล็อกสำหรับนักศึกษาวิทยาการคอมพิวเตอร์เริ่มต้นในการนำเสนอของเขา “การวิจัยวิทยาการคอมพิวเตอร์ในห้องเรียน K -12”2. ผลงานของ Dr. Weintrop แสดงให้เห็นว่าการเขียนโค้ดแบบบล็อกเป็นเครื่องมือที่มีประสิทธิภาพในการสอนนักวิทยาศาสตร์คอมพิวเตอร์มือใหม่เนื่องจากจะช่วยลดภาระทางความคิดของนักเรียนเพิ่มการมีส่วนร่วมและแรงจูงใจและส่งเสริมความเข้าใจแนวคิดของนักเรียนเกี่ยวกับแนวคิดวิทยาศาสตร์คอมพิวเตอร์
ในการนำเสนอของเขาดร. ไวน์ทรอปอธิบายถึงการศึกษาที่เขาทำงานร่วมกับนักเรียนที่เรียนหลักสูตรวิทยาการคอมพิวเตอร์เบื้องต้นในโรงเรียนมัธยมขนาดใหญ่ของรัฐในเมือง นักเรียนในสามส่วนที่แตกต่างกันของชั้นเรียนเดียวกันเข้ามาด้วยระดับความรู้ก่อนหน้านี้ที่น้อยที่สุดเท่ากันและได้รับการสอนด้วยหลักสูตรเดียวกันโดยครูคนเดียวกันและใช้สภาพแวดล้อมการเข้ารหัสเดียวกัน ความแตกต่างเพียงอย่างเดียวคือแต่ละกลุ่มใช้วิธีการเข้ารหัสที่แตกต่างกัน - แบบข้อความ, แบบบล็อกหรือแบบลูกผสมของทั้งสอง หลังจากหลักสูตรห้าสัปดาห์เสร็จสมบูรณ์นักเรียนที่เรียนโดยใช้การเข้ารหัสแบบบล็อกจะได้คะแนนสูงกว่านักเรียนในกลุ่มอื่นๆอย่างมีนัยสำคัญทางสถิติ
ลดภาระการรับรู้สำหรับผู้เริ่มต้น
เหตุผลหนึ่งที่การใช้การเข้ารหัสแบบบล็อกกับรหัสเริ่มต้นมีประสิทธิภาพมากคือการลดภาระการรับรู้ทำให้พวกเขามุ่งเน้นไปที่แนวคิดทางวิทยาศาสตร์คอมพิวเตอร์ที่ครูต้องการให้พวกเขาทำให้เป็นส่วนหนึ่ง เมื่อเริ่มต้นให้นักเรียนเรียนรู้การเขียนโค้ดโดยใช้ข้อความพวกเขาต้องมุ่งเน้นไปที่รายละเอียดไวยากรณ์จำนวนมากเพื่อให้ได้คำสั่งที่ง่ายที่สุดเพื่อให้ทำงานได้อย่างถูกต้อง นี่แสดงให้เห็นจากภาพด้านล่างของโครงการ VEXcode VR Python ที่ง่ายมากสำหรับหุ่นยนต์ที่จะขับไปข้างหน้า 200 มิลลิเมตรแล้วเลี้ยวขวา ในโครงการง่ายๆเพียงอย่างเดียวนักเรียนต้องแน่ใจว่าวงเล็บโคลอนและเครื่องหมายขีดล่างอยู่ในตำแหน่งที่ถูกต้องป้อนพารามิเตอร์ตามลำดับที่ถูกต้องการเยื้องทั้งหมดถูกต้องและไม่มีการสะกดผิด! ข้อผิดพลาดกับรายละเอียดใดๆเหล่านั้นจะทำให้โครงการไม่ดำเนินการ
ในทางกลับกันการเขียนโค้ดด้วยบล็อกไม่จำเป็นต้องมุ่งเน้นไปที่รายละเอียดดังกล่าวตั้งแต่ต้น ด้วยบล็อกนักเรียนจะเลือกตัวเลือกคำสั่งจากกล่องเครื่องมือแทนที่จะเรียกคืนคำสั่งจากหน่วยความจำและพิมพ์ออกมาอย่างสมบูรณ์แบบ บล็อกอ่านง่าย – เหมือนภาษาพูดมากกว่าและสามารถอ่านได้จากซ้ายไปขวาจากบนลงล่าง บล็อกซ้อนกันเพื่อให้นักเรียนไม่ต้องกังวลเกี่ยวกับการเยื้องและรู้ว่าโครงการจะไหลตามที่ตั้งใจไว้
ภาพด้านล่างเป็นโครงการที่มีหุ่นยนต์ทำงานเหมือนกับโครงการ Python ข้างต้นแต่นักเขียนโค้ดมือใหม่สามารถลากบล็อกออกมาซ้อนกันเปลี่ยนพารามิเตอร์ได้ตามต้องการและมุ่งเน้นไปที่การทำความเข้าใจลำดับที่เกี่ยวข้อง
ในการนำเสนอของเขาดร. ไวน์ทรอปอธิบายถึงการศึกษาอีกชิ้นหนึ่งที่เขามองไปที่นักเรียนที่เรียนในหลักสูตร AP Computer Science Principles เพื่อดูว่าการใช้การสอนแบบบล็อกและการประเมินส่งผลต่อประสิทธิภาพของพวกเขาในการสอบ AP3 หรือไม่ เขาพบว่านักเรียนทุกคนทำงานได้ดีขึ้นในคำถามการสอบแบบบล็อกและนักเรียนจากประชากรที่ถูกตัดออกจากการเรียนการสอนวิทยาศาสตร์คอมพิวเตอร์ในอดีตเช่นนักเรียนส่วนน้อยและผู้หญิงพบว่าได้รับประโยชน์มากยิ่งขึ้นจากการเรียนการสอนและการประเมินแบบบล็อก
เพิ่มแรงจูงใจและการมีส่วนร่วม
นอกจากนี้การเขียนโค้ดด้วยบล็อกสามารถเพิ่มแรงจูงใจของนักเรียนและการมีส่วนร่วมอย่างต่อเนื่องกับวิทยาศาสตร์คอมพิวเตอร์4. ด้วยบล็อกวงจรการป้อนกลับด้วยภาพที่รวดเร็วเช่นการดูพฤติกรรมของหุ่นยนต์เสมือนจริงใน VEXcode VR พร้อมกับความสะดวกในการปรับเปลี่ยนบล็อกโครงการช่วยให้นักเรียนได้รับประสบการณ์การเขียนโค้ดที่ประสบความสำเร็จซึ่งตรวจสอบการเรียนรู้ของพวกเขา
เมื่อเขียนโค้ดด้วยข้อความมือใหม่มักเผชิญกับข้อผิดพลาดในการตรวจสอบคอมไพเลอร์เนื่องจากไวยากรณ์ไม่ถูกต้องหรือสะกดผิด ความผิดพลาดเล็กๆน้อยๆเพียงครั้งเดียวอาจทำให้ปัญหาไม่สามารถดำเนินต่อไปได้ซึ่งอาจเป็นเรื่องที่น่าหงุดหงิดและน่ากังวล ความผิดหวังเหล่านี้สามารถก่อตัวขึ้นได้อย่างรวดเร็วและข้อเสนอแนะที่นักเรียนอาจทำให้เข้าใจได้คือวิทยาการคอมพิวเตอร์นั้นยากเกินไปดังนั้นจึงไม่ใช่สำหรับพวกเขา
การเข้ารหัสแบบบล็อกได้รับการออกแบบมาเพื่อหลีกเลี่ยงปัญหานี้ เนื่องจากรูปร่างบล็อกเข้ากันได้ดีในรูปแบบที่เฉพาะเจาะจงเท่านั้นจึงเป็นไปไม่ได้ที่จะทำให้คอมไพเลอร์ผิดพลาด ตัวอย่างเช่นเมื่อเข้ารหัสในบล็อกมันเป็นไปไม่ได้ที่จะใส่บล็อกนักข่าวรูปไข่เป็นเงื่อนไขลงในบล็อกหกเหลี่ยม [รอจนกว่า] มีเพียงบล็อกหกเหลี่ยมเท่านั้นที่จะได้รับการยอมรับ (ดูภาพด้านล่าง) เพราะมันจะไม่เข้ากัน แม้ว่าโปรเจกต์การเขียนโค้ดแบบบล็อกอาจไม่ได้ทำงานตามที่ตั้งใจไว้แต่นักเรียนก็สามารถแก้ปัญหาตรรกะของโปรเจกต์ได้อย่างง่ายดายแทนที่จะต่อสู้ด้วยไวยากรณ์
ส่งเสริมความเข้าใจแนวคิดเกี่ยวกับ CS
เมื่อนักเรียนเรียนรู้การเขียนโค้ดโดยใช้บล็อกโครงงานวิทยาการคอมพิวเตอร์ที่ซับซ้อนจะเข้าใจได้ง่ายขึ้น ความเข้าใจแนวคิดเกี่ยวกับลูปเงื่อนไขอัลกอริทึมและตัวแปรสามารถพัฒนาได้ในสภาพแวดล้อมแบบบล็อกเนื่องจากการเขียนโค้ดด้วยบล็อกช่วยลดอุปสรรคต่อแนวคิดเหล่านั้นเมื่อภาระการรับรู้ลดลงและแรงจูงใจและความเพียรของนักเรียนจะเพิ่มขึ้น ในการนำเสนอดร. Weintrop ได้แบ่งปันว่าการรับรู้ของนักเรียนเกี่ยวกับการเขียนโปรแกรมแบบบล็อกเป็นอย่างไรดังที่แสดงไว้ด้านล่าง
ตามที่อธิบายไว้ในการนำเสนอการเข้ารหัสแบบบล็อกเป็นเครื่องมือที่มีประสิทธิภาพที่ช่วยให้นักเรียนทุกวัยเรียนรู้วิทยาศาสตร์คอมพิวเตอร์เบื้องต้น แนวคิดที่ว่านักเรียนมัธยมปลายหรือนักเรียนที่มีอายุมากกว่าจะต้องเริ่มเขียนโค้ดในข้อความจะทำให้นักเรียนไม่ได้รับความสนใจ อย่างไรก็ตามหากนักเรียนมัธยมปลายเพิ่งเริ่มเรียนเล่นเปียโนคุณจะไม่เริ่มเล่นเปียโนด้วยการยืนยันว่าพวกเขาเล่นโซนาต้าของเบโธเฟนเพราะเป็นชิ้นส่วนเปียโนที่ "เหมือนจริง" พวกเขาจะเรียนรู้โดยใช้เครื่องมือของตาชั่ง arpeggios และหนังสือเพลงเบื้องต้น – นั่งร้าน "จริง" มากที่จำเป็นสำหรับการเล่นเปียโนที่ประสบความสำเร็จ - ทำไมไม่ให้ผู้เรียนวิทยาศาสตร์คอมพิวเตอร์มีโอกาสเดียวกันในการใช้เครื่องมือที่เหมาะสมสำหรับงาน!
หากต้องการดูการนำเสนอและเรียนรู้เพิ่มเติมเกี่ยวกับงานของ Dr. Weintrop โปรดดูวิดีโอนี้จากการประชุมนักการศึกษา VEX ปี 2023 ใน PD + Video Library ต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการสอนด้วย VEXcode VR และทำไมการเริ่มต้นนักเรียนด้วยการเข้ารหัสแบบบล็อกจึงมีประสิทธิภาพมาก? ลองดู PD + มาสเตอร์คลาส ใหม่ใช้ประโยชน์สูงสุดจากการสอนด้วย VEXcodeVR และหากคุณต้องการพูดคุยกับผู้เชี่ยวชาญด้านปัญหาเกี่ยวกับสิ่งใดก็ตามในบทความนี้ให้ ลงทะเบียนเข้าร่วมเซสชันแบบตัวต่อตัว หรือ โพสต์คำถามของคุณในชุมชน PD +