สำหรับนักพัฒนาหน้าเก่า หรือ หน้าใหม่แล้ว
ปัญหาที่ยากลำบากมาก ๆ ก็คือ การเรียนรู้ ( 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 นั่นเอง
ขอให้สนุกกับการเรียนรู้ครับ