การเตรียมความพร้อมสำหรับแข่งขัน

หน้านี้มีข้อมูลสำหรับฝึกเขียนโปรแกรมและแก้ปัญหาโจทย์

ขั้นตอนการฝึกเขียนโปรแกรม

ณ ที่นี้จะแบ่งขั้นตอนการเตรียมความพร้อมออกเป็น 3 ระดับดังนี้

  1. ขั้นพื้นฐาน
    นักเรียนควรจะเริ่มจากศึกษาคณิตศาสตร์ เรื่อง การให้เหตุผล คอมบินาทอริกส์ ทฤษฎีจำนวน และพีชคณิต เพราะเป็นส่วนสำคัญในการพัฒนาทางด้านการเขียนโปรแกรมต่อไป หลังจากนั้นนักเรียนจะต้องเริ่มฝึกใช้งานภาษาระดับต่ำถึงปานกลาง โดยภาษาที่มีให้เลือกได้แก่ C, C++ และ Pascal เราขอแนะนำให้ท่านเริ่มที่ภาษา C ก่อนแล้วจึงเปลี่ยนมาใช้ C++ เมื่อท่านใช้งานภาษา C จนคล่องแล้ว ส่วนภาษา Pascal มักไม่นิยมใช้ในการแข่งขันคอมพิวเตอร์โอลิมปิกของประเทศไทย

    นักเรียนสามารถเริ่มต้นฝึกเขียนโปรแกรมจากหนทางดังต่อไปนี้

    1. การเข้าค่าย สอวน. จะมีการสอนเขียนโปรแกรมตั้งแต่เริ่มต้น รวมทั้งโครงสร้างข้อมูลและขั้นตอนวิธีเบื้องต้น
    2. วิชาบังคับหรือวิชาเพิ่มเติมของแต่ละโรงเรียน (บางโรงเรียนอาจไม่มีวิชาเขียนโปรแกรม)
    3. เริ่มต้นฝึกด้วยตนเอง เช่น ผ่านเว็บไซต์ Programming.in.th หรือเว็บไซต์อื่น ๆ หรือแม้แต่ซื้อหนังสือมาฝึกด้วยตนเอง
      การฝึกฝนเขียนโปรแกรมควรจะค่อยเป็นค่อยไปควบคู่กับการศึกษาคณิตศาสตร์ ไม่ควรรีบเร่งหรือเริ่มต้นด้วยการเขียนโปรแกรมที่มีลักษณะเป็นอ็อบเจกท์ เพราะจะทำให้ยุ่งยากในการเรียนรู้เขียนโปรแกรมต่อไป
  2. ขั้นกลาง
    นักเรียนควรหาโจทย์ปัญหาระดับง่ายถึงปานกลางมาฝึกเขียนโปรแกรมจนมีความชำนาญ ก่อนจะหาหนังสือเพื่อศึกษาโครงสร้างข้อมูลและขั้นตอนวิธีเบื้องต้นต่อไป ส่วนมากในค่าย สอวน. และ สสวท. มักจะมีสอนอยู่แล้ว
  3. ขั้นสูง
    สำหรับนักเรียนที่ได้เข้าค่าย สสวท. ค่ายที่ 2 (เดือนมีนาคม) แล้ว ควรจะศึกษาโครงสร้างข้อมูลและขั้นตอนวิธีที่มีความซับซ้อนมากขึ้น นักเรียนจำเป็นต้องมีพื้นฐานคณิตศาสตร์อยู่ในระดับดี ข้อมูลเกี่ยวกับเนื้อหาที่เกี่ยวข้องกับคอมพิวเตอร์โอลิมปิกที่นี่

    สำหรับเทคนิคการเขียนโปรแกรมเพิ่มเติมเล็ก ๆ น้อย ๆ สามารถหาอ่านได้จาก Blog ของนักเขียนต่าง ๆ ในเว็บนี้

เว็บไซต์ฝึกเขียนโปรแกรม

เว็บไซต์ที่มีโจทย์ปัญหาการเขียนโปรแกรมมากมาย มีดังต่อไปนี้ (หากผู้ใดมีเพิ่มเติมสามารถส่งอีเมลมาบอกเพิ่มเติมได้)

เว็บไซต์ภายในประเทศ

เว็บไซต์ต่างประเทศ