8 Coding Games ที่ช่วยพัฒนาทักษะด้าน Programming

18-ก.ย.-19

คัมภีร์เทพ IT

สายอาชีพ Programming ถือเป็นที่ต้องการสูงมากที่สุดอาชีพหนึ่งในโลก แต่จำนวน Developer ก็ยังไม่เพียงพอต่อความต้องการ อีกทั้งเทคโนโลยีที่เกิดใหม่แทบทุกวัน ทำให้มีการแข่งขันกันอย่างสูงและต้องเรียนรู้และเพิ่มเติมความรู้ใหม่ ๆ อยู่ตลอดเวลา มีวิธีมากมายในการเรียนรู้วิธีเขียน Code ทั้งหนังสือ วีดีโอ และ Tutorials ต่าง ๆ แต่การเรียนรู้อีกรูปแบบหนึ่งก็คือ เรียนรู้ผ่าน Coding Game วันนี้ทีมงานมี 8 Coding Games ที่ช่วยพัฒนาทักษะด้าน Programming มาแนะนำให้ฝึกฝนฝีมือกัน

1. Robocode (Java, .NET)

ที่ Robocode คุณจะได้เรียนรู้การเขียน Program ด้วยการควบคุมรถถังต่อสู้กับรถถัง(Robot Tank) คันอื่น ๆ และฝึกฝนการเขียน Code ไปด้วยพร้อม ๆ กัน

ข้อดี

  • เรียนรู้งายและรวดเร็ว – Robocode เป็นเกมที่ค่อนข้างเก่า (เปิดตัวในปี 2000) พร้อม Tutorials ที่มีรายละเอียดมากมายซึ่งจะอธิบายคุณทุกแง่มุมของ Game ด้วยความที่เป็น Game ไม่ซับซ้อนจึงใช้เวลาไม่นานในการศึกษาวิธีเล่น
  • Game มีความสนุกสนาน – การต่อสู้ด้วย Robot Tank สร้างความสนุกอยู่เสมอ Robocode มีฐานแฟน ๆ อยู่เป็นจำนวนมากที่มีส่วนร่วมกับ Game ลองคิดดูว่าแม้ Game จะเปิดตัวตั้งแต่ปี 2000 แต่ปัจจุบันก็ยังคงมีการ Updateและ Maintain โดยแฟน ๆ อยู่
  • คุณจะได้เขียน Code จริง – ใน Robocode คุณต้องเขียน AI สำหรับ Robot Tank ของคุณโดยใช้ภาษา Programming ยอดนิยมไม่ว่าจะเป็น Java และ C# ดังนั้น คุณจะได้ฝึกฝนทักษะ Coding จริง ๆ และลองใช้งานพวกมันทุกครั้งที่คุณได้เล่น
  • มันเป็น Open-Source Game – Robocode เป็น Open-Source Project ซึ่งหมายความว่า คุณสามารถนำมันกลับมา Reuse ได้ทุกสิ่งตามที่คุณต้องการ แฟน ๆ ได้สร้าง Mode และเพิ่มเติมสิ่งต่าง ๆ ให้กับ Robocode อย่างต่อเนื่องมาหลายปี
  • คุณสามารถใช้ภาษา Programming ต่าง ๆ ขณะเล่น Game ได้ – ใน Robocode คุณสามารถเพิ่มทักษะและเรียนรู้ภาษา Programming ต่าง ๆ ได้หลากหลายภาษา

ข้อด้อย

  • มีการออกแบบที่ไม่ค่อยทันสมัย – อย่างที่กล่าวไปแล้วว่า Robocode เป็น Game ที่ค่อนข้างเก่า และมี Graphic Design และ Interface ที่ค่อนข้างธรรมดา
  • Uninstall ค่อนข้างยาก – หากคุณต้องการที่จะลบ Robocode ออกจาก Computer ของคุณ อาจจะไม่ใช่เรื่องง่ายนัก เพราะ Robocode ไม่มี Uninstall File แต่คุณต้องค้นหา Directory ของ Game ด้วยตนเอง (ซึ่งอาจเป็นเรื่องยากสักหน่อย) และลบ File ทั้งหมดที่อยู่ในนั้น

2. CodeGym (Java)

CodeGym เป็น Gamified Programming Course ซึ่งถูกออกแบบมาสำหรับ User ที่ต้องการเรียนรู้และฝึกการเขียน Program ในภาษา Java

ข้อดี

  • คุณสามารถเรียนรู้ Java Programming ได้ตั้งแต่เริ่มต้น – Player ไม่จำเป็นต้องมีความรู้อะไรเกี่ยวกับการเขียน Code ใน Java ในการเริ่ม Game ดังนั้นจึงเหมาะสำหรับผู้เริ่มต้นเป็นอย่างยิ่ง
  • ใน Platform มีตัวอย่างมากมายและคำอธิบายเพื่อความสะดวกในกระบวนการเรียนรู้ – หากคุณไม่สามารถหาวิธีการเพื่อให้งานของคุณเสร็จ CodeGym จะมีตัวอย่างหลาย ๆ แบบเพื่อช่วยให้คุณหา Solution ที่เหมาะสมได้
  • CodeGym จะสอนให้คุณใช้ Java ในวัตถุประสงค์และ Platform รูปแบบต่าง ๆ – ใน Course ของ CodeGym มี Puzzle ให้คุณแก้ปัญหากว่า 1,200 รายการ มันช่วยสอนวิธีเขียน Solution สำหรับงานในรูปแบบต่าง ๆ แก้ไขหรือปรับเปลี่ยน Code เดิมที่มีอยู่ให้เข้ากับ Requirement ต่าง ๆ และการประยุกต์ใช้ในงานอื่น ๆ
  • มันเป็นมากกว่า Course ที่เรียนรู้เกี่ยวกับเรื่อง Game – CodeGym เป็น Online Game ที่น่าตื่นเต้นซึ่งมี Plot เกี่ยวกับนิยายวิทยาศาสตร์ มีตัวละครที่น่าสนใจ และเติมอารมณ์ขันเข้าไปด้วย ซึ่งทั้งหมดนี้จะทำให้การเรียน Java เป็นเรื่องสนุกและเพิ่มการมีส่วนร่วม
  • เปรียบเสมือนมี Mentor คอยให้คำปรึกษา – Solution ของคุณจะถูกตรวจสอบโดย Virtual Teacher และคุณจะได้รับทราบผลลัพธ์ทันที โดย Virtual Teacher จะให้คำแนะนำเกี่ยวกับ Solution ของคุณ ช่วยคุณแก้ไขข้อผิดพลาด และให้ Requirement ที่ชัดเจนในสิ่งที่คุณต้องทำ
  • คุณสามารถใช้ CodeGym ได้แบบฟรี ๆ

ข้อด้อย

  • คุณอาจต้องเรียนรู้บางอย่างเพิ่มเติม เพื่อทำความเข้าใจกับบางแง่มุมของ Java – บางครั้ง Puzzle ที่คุณต้องแก้ไข ก็อาจยังไม่เพียงพอ คุณอาจหาข้อมูลและ Tutorials ต่าง ๆ เพิ่มเติม สิ่งที่ดีคือ คุณไม่จำเป็นต้องมองไปไกลเลย เพราะมีเนื้อหาของ Java มากมายบนสื่อ Online และบน Platform ต่าง ๆ
  • Game ไม่ได้ถูกปรับให้เหมาะกับ Mobile Platforms อย่างเต็มรูปแบบนัก – CodeGym สามารถใช้การปรับแต่งบางอย่างเพื่อให้เหมาะกับ Mobile Platforms ให้มากยิ่งขึ้น

3. Codewars (Clojure, C, C++, C#, Crystal, Dart, Elixir, F#, Go, Haskell, Java, JavaScript, PHP, Python, Ruby, Rust, Shell, SQL, Swift, TypeScript)

Codewars เป็น Gamified Online Platform ที่มี Coding Challenges ซึ่ง User สามารถแก้ปริศนาและเปรียบเทียบ Solution ของพวกเขาได้

ข้อดี

  • คุณสามารถเปรียบเทียบ Solution ของคุณกับ Player คนอื่น ๆ ได้ – Codewars จะช่วยให้คุณสามารถเปรียบเทียบ Solution ในการแก้ปริศนากับ User รายอื่น ๆ ซึ่งวิธีการนี้ช่วยให้คุณค้นหา Bug ใน Code ของคุณได้อย่างรวดเร็ว รวมทั้งช่วยให้สามารถเรียนรู้วิธีแก้ไขปัญหาเดียวกันจากมุมมองที่แตกต่างไป
  • คุณสามารถฝึก Coding ผ่านการทำ Challenge ต่าง ๆ – การแก้ปริศนาต่าง ๆ และการแก้ปัญหาเกี่ยวกับ Algorithm เป็นอีกหนึ่งวิธีที่มีประสิทธิภาพที่สุดในการเรียนรู้ภาษา Programming ได้อย่างรวดเร็ว
  • คุณสามารถใช้ Codewars ได้แบบฟรี ๆ

ข้อด้อย

  • ต้องมีความรู้พื้นฐานในการเขียน Code มาบ้าง – Codewars อาจจะไม่ค่อยเป็นมิตรกับมือใหม่เหมือนอย่าง CodeGym สักเท่าไรนัก คุณต้องเรียนรู้พื้นฐานการเขียน Code มาก่อนที่จะเริ่มใช้งานมัน
  • มีหัวข้อให้คุณฝึกฝนที่ไม่มากและหลากหลายนัก – หลังจากใช้ Codewars ไปสักพัก คุณจะพบว่า Platform ไม่ค่อยมี Puzzle ที่หลากหลายเหมือนอย่างที่ Platform อื่น ๆ มี

4. Shenzhen I/O

Shenzhen I/O เป็น Puzzle Game ที่ช่วยสอนให้ผู้ที่จะเป็น Engineer ได้เรียนรู้เกี่ยวกับวิธีสร้าง Circuits และเขียน Assembly Code ตาม Requirement ตามที่กำหนดไว้

ข้อดี

  • Shenzhen I/O เป็นแบบจำลองของงาน IT ทั่วไป – Game นี้ไม่ได้ Focus ไปที่ภาษา Programming เหมือนอย่างที่ผ่านมา แต่ทักษะที่คุณกำลังฝึกฝนอยู่ จะสามารถนำไปประยุกต์ใช้ในงานและวัตถุประสงค์ต่าง ๆ ใน Field นี้
  • เป็นทางเลือกที่ดีสำหรับผู้ที่สนใจ Programming ในแบบดั้งเดิม – หากมองย้อนกลับไปในวันที่เราไม่มี IDEs และ Frameworks ที่น่าสนใจและทันสมัย แน่นอนว่า Code ของเราคงจะมีรายละเอียดที่มากขึ้น ซึ่งนั่นคือ สิ่งที่ Game นี้จะให้คุณได้ฝึกฝน

ข้อด้อย

  • Shenzhen I/O ค่อนข้างยาก – Game นี้ไม่มี User Manual ที่สมบูรณ์นัก และ Puzzle โดยรวมก็ค่อนข้างจะยาก ทำให้คนจำนวนมากรู้สึกว่า มันยากเกินไป
  • มี Learning Curve ที่ค่อนข้างชัน – Shenzhen I/O  ค่อนข้างยากที่จะเรียนรู้ มันเริ่มต้นด้วยงานง่าย ๆ ให้คุณได้ลองทำ 2 – 3 อย่าง แต่ Puzzle ก็จะซับซ้อนขึ้นอย่างมากในทันที ซึ่ง Game ไม่ได้ให้เวลาคุณในการปรับตัวมากนัก

5. Vim Adventures (Vim)

Vim Adventures เป็น Game สำหรับการเรียนรู้หรือพัฒนา/เพิ่มเติมความรู้ของ Vim ให้มากยิ่งขึ้น ซึ่ง Vim ถือเป็น Unix Text Editor ที่ได้รับความนิยมอีกตัวหนึ่ง

ข้อดี

  • เป็นวิธีง่าย ๆ ในการเรียนรู้ Concept หลักทั้งหมดของ Vim – เมื่อเล่น Game นี้ คุณจะได้เรียนรู้ทั้ง Keyboard Shortcuts, Concept หลัก และ Function ทั้งหมดของ Vim อย่างรวดเร็ว
  • มีประโยชน์ในการเรียนรู้ Programming Logic – ถ้าจะพูดกันตรง ๆ แล้ว แม้ว่า Vim จะไม่ใช่ภาษา Coding แต่การรู้วิธีใช้งานมัน จะช่วยให้คุณได้อย่างมากในการเป็น Programmer
  • Vim Adventurers เป็น Game ที่ให้ความสนุกสนาน

ข้อด้อย

  • User บางคนอาจรู้สึกเบื่อ Game นี้ได้ง่าย ๆ – Vim Adventurers นั้นเป็น Game ที่ค่อนข้างจะง่ายไปสักหน่อย ซึ่งอาจทำให้ผู้ที่เล่น Game รู้สึกเบื่ออย่างรวดเร็ว

6. CodeMonkey (CoffeeScript)

CodeMonkey เป็น Online Coding Game ที่ออกแบบมาสำหรับนักเรียนระดับประถมศึกษา และมัธยมต้นที่มีความรู้ในการ Coding ไม่มากนักซึ่งถือเป็นตัวเลือกที่ดีสำหรับผู้ที่เพิ่งเริ่มต้น

ข้อดี

  • มันดีต่อนักเรียนที่ไม่มีความรู้ในการ Coding – CodeMonkey ถือเป็นจุดเริ่มต้นที่ดีสำหรับการสอนเด็ก ๆ และวัยรุ่นเกี่ยวกับวิธีการเขรยน Code และถ้ามันดีสำหรับเด็ก ๆ แล้ว แต่นอนว่า มันก็ดีสำหรับคนทุกวัยด้วยเช่นกัน
  • ช่วยปรับปรุงด้าน Logic และทักษะการแก้ไขปัญหา – ทักษะที่คุณกำลังฝึกฝนในขณะเล่น Game นี้ (ไม่ว่าจะเป็น Logic หรือการแก้ไขปัญหา) สามารถนำไปใช้ได้ในชีวิตไม่ใช่แค่เฉพาะการเขียน Code เพียงอย่างเดียว นั่นทำให้ CodeMonkey ดีสำหรับผู้ที่สนใจในการพัฒนาทักษะเหล่านี้ ในขณะเดียวกันก็ได้เรียนรู้วิธีเขียน Code ไปด้วยในตัว
  • มีภาษา Coding ที่คล้ายกับ JavaScript – การใช้ภาษานี้ใน CodeMonkey จะช่วยให้เรียนรู้ JavaScript ได้ง่ายขึ้นหลังจากที่ได้เล่น Game

ข้อด้อย

  • Game นี้ไม่ได้ถูกปรับให้เหมาะกับนักเรียนที่ศึกษาเองที่บ้าน – บ่อยครั้งที่อาจต้องการด้าน Technical Support และความช่วยเหลือต่าง ๆ ซึ่ง CodeMonkey เหมาะกับการเรียนในชั้นเรียนมากกว่า

7. Flexbox Froggy (CSS)

Flexbox Froggy เป็น Game ง่าย ๆ ที่ถูกออกแบบมาเพื่อช่วย User ในการเรียนรู้ CSS Code ซึ่ง Player จะต้องนำ Froggy กลับบ้านโดยการควบคุม Layout Module CSS Flexbox

ข้อดี

  • สร้างขึ้นสำหรับ User ที่ไม่มีความรู้เกี่ยวกับ CSS – สร้างขึ้นเป็นพิเศษสำหรับผู้ที่เพิ่งเริ่มต้นใช้ CSS Flexbox เพื่อให้คุณสามารถเรียนรู้พื้นฐานของ CSS ด้วย Froggy

ข้อด้อย

  • Game นี้ง่ายมาก จึงอาจเหมาะกับผู้ที่เพิ่งเริ่มต้นเท่านั้น – ความเรียบง่าย ถือเป็นข้อด้อยที่ใหญ่ที่สุดของ Flexbox Froggy มันเหมาะสำหรับผู้ที่เพิ่งเริ่มต้นอย่างแท้จริง และไม่มีส่วนที่จะสามารถเรียนรู้เพิ่มเติมมากนักสำหรับ User ที่ต้องการเรียนรู้ให้มากกว่านี้

8. CodeCombat (JS, Python, HTML, CSS, jQuery)

CodeCombat เป็น Online Game ซึ่งประกอบด้วย Puzzle และ Challenge ต่าง ๆ ที่ Player ต้องแก้และผ่านไปให้ได้ด้วยการเขียน JavaScript Code

ข้อดี

  • เป็นเหมือนตัว Introduction เกี่ยวกับ JavaScript Syntax และ Logic สำหรับผู้ที่เพิ่งเริ่มต้น  – คุณสามารถเริ่มต้นด้วย Puzzle ที่ง่าย ๆ และก้าวหน้าไปอย่างช้า ๆ ซึ่งเป็นการเรียนรู้ JavaScript Syntax แบบ Step by Step
  • มันมีความสนุกและสร้างการมีส่วนร่วม – CodeCombat มี Puzzle และ Challenge ต่าง ๆ มากมายให้ Player ได้ฝึกฝนฝีมือ ซึ่งมันทำให้ Player รู้สึกสนุก แล้วคุณจะไม่เบื่อที่จะเล่น Game นี้

ข้อด้อย

  • สอนเฉพาะ Concept พื้นฐานของ JavaScript เท่านั้น – CodeCombat จะครอบคลุมเฉพาะ Concept พื้นฐานของ JavaScript เท่านั้น แต่หากคุณมีความรู้และเชี่ยวชาญแล้ว คุณอาจต้องหา Tool อื่น ๆ เพื่อเรียนรู้เพิ่มเติม

การเรียนรู้พร้อม ๆ กับการเล่น ไม่ได้เป็นแนวคิดใหม่ และ Game ก็เป็นวิธีหนึ่ง ที่ใช้เพื่อการเรียนรู้หรือพัฒนาทักษะได้ ไม่ว่าคุณจะเรียนรู้ภาษาใด หรืออยู่ในระดับไหน คุณก็สามารถหา Game ที่ช่วยเพิ่มทักษะ Programming พร้อมกับได้ความสนุกไปด้วยได้

ที่มา:  https://dev.to/

 

 

รับตำแหน่งงานไอทีใหม่ๆ ด้วยบริการ IT Job Alert

 

อัพเดทบทความจากคนวงในสายไอทีทาง LINE ก่อนใคร
อย่าลืมแอดไลน์ @techstarth เป็นเพื่อนนะคะ

เพิ่มเพื่อน

 

บทความล่าสุด