อาจจะไม่ตรงประเด็นเท่าไร (เพราะไม่ใช่สายดาต้าเบส) กูดูแลโครงการโอลิมปิกวิชาการ (เป็นผู้สอนและจัดเนื้อหา) ที่โรงเรียนแห่งหนึ่งมา 5 ปีแล้ว และกูเรียนมาทางสายคอมพิวเตอร์ด้วย โดยเนื้อหาในโครงการนี้จะสอนตั้งแต่เริ่มเขียนโปรแกรมภาษา C จนถึงโครงสร้างข้อมูลขั้นสูงอย่าง Fenwick tree, Link-cut tree และอัลกอริทึมอย่างพวก maximum flow, dynamic programming เป็นต้น ซึ่งกูจะพูดถึงนักเรียนในความหมายของเด็กมัธยมนะ ไม่ใช่นักศึกษา เพราะไม่มีประสบการณ์ตรงนั้น
สิ่งที่สังเกตมากหลายอย่างคือ นักเรียนหลายคนไม่มีความสามารถในการแก้ปัญหาเลย เวลาให้โจทย์ที่ไม่ยากมากไป (ระดับเดียวกับวิชา 101 ในมหาลัย) บางทีทำไม่ได้ แต่พออธิบายขั้นตอนให้ฟังก็เขียนได้ พอลองให้โจทย์ที่ปรับปรุงจากข้อเก่าไปนิดหน่อย กลับทำไม่ได้อีกแล้ว แต่เด็กบางคนที่ไปไว เค้าก็ไปเองได้โดยแค่ชี้ทางหลักๆ (แค่หัวข้อ เนื้อหาไปหาอ่านเอง) ก็ทำได้เต็มไปหมด (ซึ่งจริงๆ ก็ไม่ได้ต่างจากวิชาอื่นเท่าไร) แต่พอดีว่าเป็นโครงการโอลิมปิก เด็กตัดใจออกจากโครงการง่ายเมื่อรู้ว่าไปต่อไม่ไหว (แต่ก็ยังมานั่งเล่นเกมตากแอร์ในห้องคอม - -) บางทีเจอคำถามแบบ "ใช้ตัวแปรกี่ตัวดีอ่ะ" ก็อึ้งไปเหมือนกัน (โน้ต: นี่ไม่ใช่โปรแกรมใหญ่ๆ ไม่ต้องห่วงเรื่องจำนวนตัวแปร)
จำได้ว่าเคยมีกระทู้นึงในพันทิบ ออกมาบ่นว่าเหตุผลที่นักเรียนไทยไปสายคอมพิวเตอร์ไม่ค่อยรุ่งเพราะเป็นสายที่ต้องสังเคราะห์อะไรใหม่ๆ ออกมาตลอดเวลา ขณะที่ระบบการศึกษาไทยไม่เคยสนับสนุนการสังเคราะห์เลย ซึ่งคิดว่ามาจากประเด็นนี้แหละ ทำให้สกิลการแก้ปัญหาต่ำ เวลาสอบเข้ามหาลัย/ในมหาลัยก็ใช้วิธีจำแนวโจทย์ให้ได้เยอะๆ แทนที่จะเข้าใจเนื้อหาให้ปรับใช้ได้ สังเกตว่าส่วนใหญ่ในระดับมัธยม/มหาวิทยาลัย เด็กจากโครงการโอลิมปิก หรือเด็กที่เคยเขียนโปรแกรมมักจะเรียนเก่งกว่าเด็กทั่วๆ ไป (หรืออย่างๆ น้อยๆ ที่ๆ ผมเรียนก็เป็นงี้นะ)