บทความทั้งหมด

เกมหุ่นยนต์คน: เขียนโค้ดแบบไม่ใช้หน้าจอด้วยกฎ "ถ้า… ก็…"

การ์ดกฎที่มีรูปเบาะ ลูกศรชี้ไปยังการ์ดที่มีลูกศรเลี้ยวขวา ผู้ใหญ่ยืนท่าหุ่นยนต์พร้อมโบกมืออยู่ด้านบน และเบาะสองใบซ้อนกันเป็นกำแพง

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

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

วิธีเล่น

  • หุ่นยนต์ เดินช้า ๆ ไปรอบห้อง และทำได้เฉพาะตามกฎที่อยู่บนกระดาษ ไม่เดา และไม่ช่วย
  • โปรแกรมเมอร์ (ลูกของคุณ หรือทั้งครอบครัว) เขียนกฎก่อนที่หุ่นยนต์จะเริ่มเดิน พอหุ่นยนต์เริ่มเคลื่อนที่แล้ว ทำได้แค่ดู
  • กฎ มีรูปแบบเดียวกันทั้งหมด คือ "ถ้า… ก็…" เช่น "ถ้ามีกำแพงอยู่ข้างหน้า ก็เลี้ยวขวา"

พ่อแม่เป็นหุ่นยนต์คนแรกได้ดี เพราะเด็กชอบสั่งผู้ใหญ่ ไว้ทีหลังค่อยสลับบทบาทกัน เพื่อให้ลูกได้รู้สึกว่าการทำตามกฎตัวต่อตัวอักษรเป็นอย่างไร

จัดห้อง

  • กำแพง: วางเบาะ หมอน หรือผ้าห่มที่พับไว้เรียงเป็นแถวบนพื้น เก้าอี้และโซฟานับเป็นกำแพงได้เหมือนกัน
  • กระดาษกฎ: หนึ่งแผ่น เขียนกฎบรรทัดละหนึ่งข้อ เด็กที่ยังอ่านไม่ได้วาดรูปแทนได้ เช่น รูปเบาะ แล้วตามด้วยลูกศรที่โค้งไปทางขวา
  • ความปลอดภัย: หุ่นยนต์เดินช้า ๆ ไม่วิ่ง และอยู่ห่างจากบันไดและมุมแหลม

พูดว่า "หุ่นยนต์ เริ่ม!" แล้วหุ่นยนต์ก็ก้าวไปข้างหน้าทีละก้าว จนกว่าจะมีกฎที่สั่งให้ทำอย่างอื่น

กฎแรกที่ลองได้

เริ่มด้วยกฎหนึ่งหรือสองข้อ แล้วค่อยเพิ่มเมื่อทุกคนเข้าใจแล้ว

ถ้า… ก็…
มีกำแพงอยู่ข้างหน้า เลี้ยวขวา
มีคนอยู่ข้างหน้า โบกมือ
ยืนอยู่บนผ้าเช็ดตัว กระโดดหนึ่งครั้ง
นอกนั้น เดินหน้าหนึ่งก้าว

บรรทัดสุดท้ายคือกฎ "นอกนั้น" คือสิ่งที่หุ่นยนต์ทำเมื่อไม่มีกฎอื่นข้อไหนตรงเลย ถ้าไม่มีกฎนี้ หุ่นยนต์จะไม่รู้ว่าต้องทำอะไรและยืนนิ่งอยู่เฉย ๆ เด็กหลายคนค้นพบเรื่องนี้ด้วยตัวเอง ซึ่งเป็นจังหวะที่ดีมากที่จะคุยกันว่าทำไมโปรแกรมจึงต้องมีกฎสำหรับ "ทุกกรณีที่เหลือ"

ทำไมลำดับของกฎจึงสำคัญ

ตอนนี้ลองให้คนหนึ่งยืนอยู่หน้ากำแพงเบาะพอดี ข้างหน้ามีกำแพง และข้างหน้ามีคน หุ่นยนต์จะทำตามกฎข้อไหน

ตกลงกันเป็นข้อกำหนดง่าย ๆ ข้อหนึ่ง: หุ่นยนต์อ่านกฎจากบนลงล่าง และทำตามข้อแรกที่ตรง แล้วลองสลับสองบรรทัดดู

  • ถ้า "กำแพง → เลี้ยวขวา" มาก่อน หุ่นยนต์จะเลี้ยวหนีไปโดยไม่โบกมือ
  • ถ้า "คน → โบกมือ" มาก่อน หุ่นยนต์จะโบกมือ แล้วยืนโบกมืออยู่อย่างนั้นตลอดไป เพราะคนยังอยู่ข้างหน้า

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

เมื่อหุ่นยนต์ติดขัด

ไม่ช้าก็เร็ว หุ่นยนต์จะเดินเข้ามุมแล้วหมุนวนไปเรื่อย ๆ หรือเดินตรงเข้าหาโซฟาเพราะไม่มีกฎข้อไหนพูดถึง อย่าแก้ให้ลูก ให้ถามแทนว่า

  • "เมื่อกี้หุ่นยนต์กำลังทำตามกฎข้อไหน"
  • "หุ่นยนต์ทำผิด หรือกฎยังขาดอะไรไป"
  • "หนูจะเพิ่มหรือเปลี่ยนอะไรเพื่อให้มันออกมาได้"

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

ปรับให้เหมาะกับแต่ละวัย

อายุด้านล่างเป็นเพียงแนวทางคร่าว ๆ เด็กแต่ละคนไม่เหมือนกัน

  • 4 ถึง 6 ขวบ: กฎหนึ่งหรือสองข้อที่วาดเป็นรูป ผู้ใหญ่เล่นเป็นหุ่นยนต์และทำให้ความผิดพลาดดูตลก
  • 7 ถึง 9 ขวบ: กฎสามหรือสี่ข้อ บวกกฎ "นอกนั้น" ตั้งเป้าหมายให้หุ่นยนต์ เช่น เดินไปถึงประตูครัว แล้วให้ลูกเป็นคนจัดกำแพง
  • 10 ถึง 12 ขวบ: หุ่นยนต์สองตัวพร้อมกัน กฎที่พูดถึงกันและกัน ("ถ้ามีหุ่นยนต์อยู่ข้างหน้า ก็รอ") หรือท้าทายให้ไปถึงเป้าหมายด้วยกฎให้น้อยที่สุด

ใน Dologi "ห้องหุ่นยนต์" ในมุมสร้างสรรค์ก็ทำงานแบบเดียวกัน ลูกของคุณเขียนกฎ "ถ้า…" ให้หุ่นยนต์ตัวเล็กในห้อง เรียงลำดับกฎ เพิ่มกฎ "นอกนั้น" แล้วกดเล่นเพื่อดูว่าเกิดอะไรขึ้น เด็กที่เคยเล่นเกมหุ่นยนต์คนที่บ้านมักจำแนวคิดนี้ได้ทันที

สรุป

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

อ่านเพิ่มเติม: เรียนโค้ดดิ้งโดยไม่ใช้คอมพิวเตอร์: เกมฝึกคิดแบบอัลกอริทึมสำหรับเด็ก 5–10 ขวบ