coding-game
สำหรับนักพัฒนาหน้าเก่า หรือ หน้าใหม่แล้ว
ปัญหาที่ยากลำบากมาก ๆ ก็คือ การเรียนรู้ ( Learning problem )
ซึ่งมีแนวคิดและวิธีการต่าง ๆ ออกมา
เพื่อแก้ไขปัญหาในการเรียนรู้ เช่น

  • การเรียนรู้มันต้องไม่น่าเบื่อ
  • การเรียนรู้มันต้องน่าสนใจ
  • การเรียนรู้มันต้องไม่ยากเกินไป
  • การเรียนรู้ต้องเป็นแบบ step-by-step
  • การเรียนรู้ต้องมีความท้าทาย

ตัวอย่างเช่น Koan

โดยที่ Koan สำหรับการเขียนโปรแกรมมีมากมาย
เพื่อช่วยทำให้เรามีความรู้ ความเข้าใจ ความชำนาญขึ้นเรื่อย ๆ
ด้วยตัวอย่างและแบบฝึกหัดต่าง ๆ

ตัวอย่างเช่น

สามารถดูเพิ่มเติมได้ที่นี่ List of koans

แต่ในปัจจุบันก็มีแนวคิดใหม่ ๆ ออกมา ซึ่งคล้ายกับ Gamification

เพื่อทำให้การเรียนรู้การเขียนโปรแกรมเป็นเรื่องที่สนุกมากขึ้น
นั่นคือ การนำแนวคิดของการเล่นเกมส์มาใช้
แทนที่จะนั่งเล่นคนเดียว
แทนที่จะนั่งเขียน code นิ่ง ๆ
ให้มีการแข่งขันเกิดขึ้นน่าจะดีกว่า

โดยมี leaderboard และ ผลคะแนนออกมา
เปรียบเทียบกับคนอื่น ๆ ให้เห็นว่า การเรียนรู้ของเราเป็นอย่างไร
เพื่อช่วยกระตุ้นให้ผู้เล่นมาเล่นมายิ่งขึ้น
เนื่องจากทุกคนอยากจะชนะหรือเป็นที่หนึ่งกันทั้งนั้น !!

ตลอดจนถึงโจทย์ปัญหา หรือ อุปสรรคต่าง ๆ
ให้เราแก้ไขปัญหาผ่านเป็นด่าน ๆ ไป
ซึ่งสิ่งเหล่านี้มันทำให้ผู้เรียน หรือ ผู้เล่น
เกิดความสนุกในการเล่น หรือ เรียน
และอยากที่จะเล่น หรือ เรียนต่อไปเรื่อย ๆ
บางครั้งอาจจะคิดว่า เรากำลังเล่นเกมส์อยู่ก็เป็นได้ (Playing with Programming)

ระบบที่ขอแนะนำคือ Coding Game

ซึ่งมีเกมส์เล็ก ๆ ให้เล่น เช่น Batman และ Terminator
แทนที่จะเล่นเกมส์ผ่าน mouse หรือ keyboard
เปลี่ยนเป็นการเขียน code แทน !!
รวมทั้งมีชุดของการทดสอบแบบอัตโนมัติให้อีกด้วย

ผู้เล่นสามารถเลือกภาษาโปรแกรมที่ต้องการจะเรียนรู้ได้อีกด้วย
ซึ่งมีเยอะมาก ๆ เช่น C, C++, C#, Java, Python, Ruby, Go และ Swift เป็นต้น

ยังไม่พอนะ ยังมีส่วนอื่น ๆ อีก เช่น

  • Optimization คือการปรับปรุงวิธีการแก้ไขปัญหา ให้ทำงานได้ดีขึ้นกว่าเดิม
  • Code Golf คือ การเขียน code ที่สั้นที่สุด สำหรับการแก้ไขปัญหาหนึ่ง ๆ
  • Community Puzzles คือส่วนของปัญหาต่าง ๆ จากทาง community นั่นเอง

รวมไปถึง Leaderboard และ ranking ต่าง ๆ
และด่านต่าง ๆ รอให้เราเข้าไปจัดการ !!

แสดงดังรูป

home

ตัวอย่างของหน้าจอของเกมส์เมื่อเราผ่านด่านนั้น ๆ

game

ขอให้สนุกกับการเรียนรู้ครับ