Feb 9, 2012

การศึกษาไทย

ออกตัวก่อนว่าผมไม่ได้เรียนสายคอมฯ โดยตรง แต่ด้วยความที่ชอบคอมพิวเตอร์อยู่บ้าง ก็อยู่คลุกคลีกับมันบ่อยๆ

เรียกว่าเป็นความโชคดี (หรือโชคร้ายกันแน่) ของผมเอง ที่ไม่ได้เริ่มจากภาษา C/Java อย่างที่คนเรียนสายนี้มักจะทำกัน แต่ไปเริ่มกับภาษาชั้นสูงเลยอย่าง Python/JavaScript ทำให้ผมไม่ค่อยรู้เรื่องรู้ราวอะไรกับการศึกษาในมหาวิทยาลัยของสายนี้เท่าไหร่

แถมไอ้ตอนที่ผมเรียนรู้เอง ก็ไม่ได้ค่อยๆ เรียนค่อยๆ สร้าง tool แต่ละอย่างตามที่สอนในห้องอีก อยากได้อะไรก็ถาม Stack Overflow เอาเป็นที่แรก พวก tool ต่างๆ ก็เลยไม่ค่อยได้เขียนเอง import lib เข้ามาใช้เป็นประจำ

มันเลยทำให้ผมโคตรไม่เข้าใจว่า ถ้าจะรับค่าตัวเลข 0-6 แล้วส่งคืนเป็นวันอาทิตย์-เสาร์ ทำไมต้องเขียน if-else เพื่อตรวจเอาเองด้วย ทั้งๆ ที่เราก็มี strptime-strftime เอาไว้ให้ใช้อยู่แล้ว...

แล้วข้อสอบก็ออกให้ตรวจสอบ leap year ผมก็เขียนไปอย่างนี้ (ข้อสอบเป็นภาษาอื่น ไม่ใช่ Python)
def is_leap(year):
    if not year%400 or (year%100 and not year%4):
        return True
    else:
        return False
ปรากฏว่าอาจารย์ไม่ตรวจให้ เพราะผมไม่ได้ใช้ nested-if-else อย่างที่สอนในห้อง!!



วันนี้ซ้อมโจทย์ CodeJam เล่นๆ แล้วก็คิดว่า เอ่อ! โจทย์หยั่งงี้แหละ ที่มันควรเอาไปออกเป็นข้อสอบ

แต่พอลองมาดูๆ แล้ว โจทย์มันก็ยากพอควรอยู่เหมือนกัน แถมเวลาสอบแค่ 3 ชั่วโมง (ก็ประมาณเวลาแข่งนั่นแหละ) ถ้าอาจารย์เอาแต่สอนตามหลักสูตรอย่างนี้ นักศึกษาคงทำกันได้อย่างมากก็แค่ข้อเดียว

สรุปแล้ว ผลการสอบของการศึกษาไทยมันบอกแม่งอะไรวะ?