เมื่อวานนี้อ่านข่าวบน /.jp แล้วเจอบทสัมภาษณ์ประธานบริษัท NTT Data ซึ่งเป็นบริษัท IT ในกลุ่ม NTT
若い時にプログラムを書こう、必ず人生の豊かさにつながる
– 山下徹 NTTデータ社長
แปลเป็นไทยได้ความว่า
เขียนโปรแกรมกันไปเถอะในช่วงที่อายุยังน้อย, สิ่งเหล่านี้จะเชื่อมโยงกับความรุ่มรวยในชีวิตอย่างแน่นอน
– โทรุ ยะมะชิตะ ประธานบริษัทเอ็นทีทีดาต้า
ถ้าอ่านบทสัมภาษณ์ฉบับเต็มแล้ว จะมีประเด็นต่างๆ อยู่หลายประเด็น แต่ในฐานะคนสอนหนังสือเด็กปริญญาตรี ผมสนใจประเด็นการเขียนโปรแกรมเป็นหลัก เพราะปัจจุบันผมรู้สึกว่าตัวเองยังไม่สามารถทำให้เด็กๆ ที่สอนอยู่ หันมาชอบ สนใจและตั้งใจที่จะเขียนโปรแกรมคอมพิวเตอร์ได้ แม้ว่าเด็กๆ เหล่านั้นจะเรียนในสาขาที่โลกภายนอกคาดหวังว่า เมื่อจบแล้วจะต้องมีทักษะในการเขียนโปรแกรมที่เพียงพอ
จริงอยู่ว่าเด็กส่วนใหญ่จะพอเขียนโปรแกรมได้ อาจจะใช้วิธีตัดแปะเอาบ้าง หาทางเอาตัวรอดกันไปได้ แต่ส่วนใหญ่มักจะรู้สึกว่าการเขียนโปรแกรมเป็นเรื่องยาก เป็นเรื่องน่าเบื่อ เป็นงานคนชั้นล่าง (เหมือนผู้ใช้แรงงานในสังคมไอที) โดยเฉพาะค่านิยมอันหลังนี้ เป็นสิ่งที่ผมไม่เห็นด้วยที่สุด เพราะผมเชื่อว่าเราไม่สามารถเป็น system analyst เป็น project manager ที่ดี หรือเป็นตำแหน่งต่างๆ ที่บางบริษัทบอกว่าเป็นเหมือนยอดปิระมิดได้ โดยไม่มีพื้นฐาน ทักษะการเขียนโปรแกรม หรือไม่รู้ว่าถ้าออกแบบไปอย่างนี้แล้วคนที่เอาไป implement เขาจะทำยังไง
ผมตั้งใจว่าต่อไปนี้ผมพยายามลบค่านิยมนี้ออกจากเด็กๆ ที่เข้ามาเรียนในภาค แม้ว่ามันจะเป็นเรื่องยาก เพราะแนวความคิดว่างานบริหารจัดการเป็นงานสบายเป็นเรื่องที่ฝังรากลึกไปแล้ว รวมถึงการเสนอทางเลือกที่ดูเหมือนดีกว่า ว่าการเรียนวิธีการบริหารจัดการโดยตรงก็สามารถเข้าใจวิธีการ และเทคนิคต่างๆ ได้ สามารถเริ่มงานโดยเป็นผู้บริหารได้เลย ไม่จำเป็นต้องทำงานต๊อกต๋อยเหมือนพวกที่เรียนเขียนโปรแกรม เขาทำแค่ออกแบบ เสนอแนวความคิด ที่เหลือก็ปล่อยให้ใครก็ไม่รู้ทำก็หมดเรื่อง
จริงอยู่ ที่เด็กที่จบจากภาคผมทุกคนไม่จำเป็นต้องไปทำงานเขียนโปรแกรม มีงานที่น่าสนใจอีกเยอะ แต่ผมก็เชื่ออย่างประโยคข้างบนว่า ทักษะการเขียนโปรแกรมจะชักนำไปสู่ความรุ่มรวยในชีวิตการทำงาน ทำให้เรามีทักษะที่เพียงพอในการทำสิ่งต่างๆ สำเร็จไปด้วยดี
ปัญหาอย่างหนึ่งสำหรับตัวผมเอง ก็คือ ผมรู้สึกว่าผมยังไม่รู้ ไม่มีวิธีดีๆ ที่จะสอนให้เด็กๆ เข้าใจความสนุกสนาน แล้วความน่าสนใจของการเขียนโปรแกรมได้ คงต้องพยายามกันต่อไป
อ้างอิง: http://slashdot.jp/developers/09/06/05/066228.shtml
thought
programming, teaching
ด้วยความที่อยากให้นักศึกษามีส่วนร่วมในการเรียนมากขึ้น เทอมนี้เลยพยายามเรียกนักศึกษาให้ช่วยตอบคำถาม หรือออกมาทำอะไรเล่นหน้าห้อง อย่างน้อยจะได้หลับกันน้อยลง หรือพยายามทำแบบฝึกหัดที่ให้ในห้องเรียนบ้าง แต่จะให้เลือกชื่อก็จำชื่อนักศึกษาทั้งหมดไม่ได้ แถมอาจจะเรียกบางคนซ้ำ หรือไม่ได้เรียกบางคนเลย เมื่อวานพอมีเวลาว่างอยู่บ้าง เลยนั่งเขียนโปรแกรม Java เล็กๆ ขึ้นมาหนึ่งตัว เอาไว้สำหรับสุ่มชื่อนักศึกษาในชั้นเรียน ตอนแรกก็กะจะทำเป็นโปรแกรมง่ายๆ คือแค่เปิดไฟล์อ่านชื่อนักศึกษามา แล้วก็แค่สุ่ม แต่ถ้าทำอย่างนั้นก็มีโอกาสที่บางคนจะโดนซ้ำ หรือสุ่มไม่ทั่วถึง
เพื่อเผื่อแผ่ให้ทุกคนถูกเรียกกันอย่างทั่วถึง เลยปรับการสุ่มนิดหน่อย โดยเก็บจำนวนครั้งที่นักศึกษาแต่ละคนถูกเรียกไว้ ถ้าโดนเรียกแล้วหนึ่งครั้ง ก็จะกำหนดโอกาสที่จะถูกสุ่มขึ้นมาอีกให้เป็น 1/2 ของเพื่อนที่ยังไม่เคยโดนเรียก ถ้าโดนสองครั้งก็จะลดไปอีกให้เหลือ 1/4 ของเพื่อนๆ คือให้เป็น 1/(2^n) เมื่อ n เป็นจำนวนครั้งที่ถูกเรียก เสร็จแล้วก็มานึกอีกว่าบางคนอาจจะโดนเรียกแล้วไม่อยู่ อย่ากระนั้นเลยจะต้องเก็บข้อมูลไว้หน่อยว่าคนนี้โดดเรียน เลยทำปุ่มให้กดได้ด้วยว่าโดดไปแล้วกี่ครั้ง (ไม่รู้เก็บไว้ทำไมเหมือนกัน)
สุดท้ายได้โปรแกรมออกมาหน้าตาแบบนี้

ถ้าใครสนใจลองโหลดไปเล่นได้ที่นี่ วิธีใช้ก็คือเตรียม text file ใส่ชื่อนักศึกษาบรรทัดละคน เขียน ID ก่อน แล้วค่อยตามด้วยชื่อ คั่นด้วย TAB อาจจะใส่จำนวนครั้งที่เรียกนักศึกษาไปแล้วด้วยก็ได้ คั่นด้วย TAB เหมือนกัน
ส่วนโค้ด ถ้าใครอยากได้ก็ขอมาล่ะกันครับ มันค่อนข้างเละเทะ ไม่อยากเผย อายครับ
ถ้ามีเวลาบ้าอีก ก็อาจจะเพิ่มฟีเจอร์อื่นๆ ไปด้วย
programming, teaching
programming, teaching
วันนี้ดูละครเรื่อง Nodame Cantabile อีกรอบ เรื่องนี้กล่าวถึงอาจารย์สอนดนตรีอยู่ 3 คน คือ อาจารย์ทะนิโอะกะ (ที่ปรึกษาของโนะดะเมะ ซึ่งตามใจโนะดะเมะเสมอ แม้ว่าจะทำอะไรแปลกๆ อย่างเช่นง่วนอยู่กับการแต่งเพลงออกกำลังกาย แทนที่จะฝึกดนตรีคลาสิก) อาจารย์เอะโต (ที่ปรึกษาเปียโนของจิอะกิ ซึ่งเลื่องชื่อในการฝึกฝนนักเรียนให้เป็นสุดยอดฝีมือ) และสเตเซอร์มัน (สุดยอดวาทยากรระดับโลก ซึ่งมีวิธีการสอนไม่เหมือนใคร)
พอถึงตอนอาจารย์ทะนิโอะกะพูดถึงเหตุผลที่ยอมให้โนะดะเมะ ย้ายไปอยู่กับอ.เอะโต แล้วก็สะท้อนถึงตัวเอง ผมรู้สึกว่าคิดอะไรคล้ายๆ อ.ทะนิโอะกะในเรื่อง (แม้ว่าผมจะยังไม่มีความสามารถเท่าอ.ทะนิโอะกะก็เถอะ) หลักๆ ก็คือผมไม่มีความสามารถ และยังไม่มีแรงจูงใจพอ ที่จะชักจูง หรือบังคับให้นักเรียนเปลี่ยนแปลงตน เพื่อมุ่งไปยังเป้าหมายที่สูงกว่าที่เป็นอยู่ แถมบางทียังไม่รู้ด้วยซ้ำว่าควรจะชักจูงไปทางไหน ส่วนใหญ่ก็จะปล่อยให้แต่ละคน ล่องลอยกันไปตามแต่ใจจะใฝ่หา ผมอาจจะช่วยได้แค่ค่อยเสริมนิดหน่อย (ส่วนใหญ่ในแง่เทคนิค)
ตอนนี้ผมหวังว่า ต่อไปผมจะมุ่งมั่นมากขึ้น เข้าใกล้ความพยายามของอ.เอะโต ใส่ความมุ่งมั่นลงไปในนักเรียนได้มากกว่านี้ และหวังว่าสักวันหนึ่ง ผมจะมีความสามารถในการสอนได้ใกล้เคียงสเตเซอร์มัน
เฮ้อ…ดูละครแล้วรู้สึกว่าจะอินมากไปหน่อย
teacher
drama, japanese, teacher, teaching
เวลาผมให้นักศึกษาทำการบ้านเขียนโปรแกรม ผมมักจะให้ส่งการบ้านทางเมล เพราะคิดว่าสะดวกที่จะตรวจทางเมลมากกว่า จะทดสอบด้วยการรันโปรแกรมที่ส่งมาก็ได้ รวมทั้งยังสามารถใช้เครื่องมือต่างๆ ในการตรวจจับความคล้ายของโปรแกรมในกรณีที่ลอกกันมาได้อีกด้วย แต่ประสบการณ์ที่ผ่านมา จะพบปัญหาต่างๆ ที่ทำให้ผมไม่อยากตรวจการบ้าน ก็คือ เมลที่แต่ละคนส่งมา จะมีรูปแบบหลากหลาย ไม่ค่อยตรงกับที่กำหนดให้ เช่น ไม่ตั้งชื่อไฟล์ตามที่กำหนด บางคนก็ใช้โปรแกรมบีบอัดแบบแปลกๆ มาให้ บางทีบอกให้ส่งเป็น plain text ก็จะมีคนเขียนใน MS Word แล้วเปลี่ยน extension เป็น .txt จนอ่านไม่ออก หรือกำหนดให้ส่งเป็น .jar แต่ไม่รู้ยังไงใช้ WinRAR ทำเป็น .rar แล้วเปลี่ยน extension เป็น .jar เฉยเลย สุดท้ายผมจะต้องมานั่งไล่เช็คไล่เก็บไฟล์ทีละฉบับ บางคนยังส่งมาหลายที แถมยังมีการใช้แอดเดรสเดียวกัน ส่งการบ้านหลายชุดแทนเพื่อนอีก ทำให้สับสนได้ง่ายมาก และเนื่องจากผมจะต้องสอนนักศึกษาไม่น้อยกว่า 70-80 คน จึงเสียเวลาไปกับเรื่องนี้เยอะมาก จนพาลไม่ค่อยจะอยากตรวจสักเท่าไหร่
เมื่อวานเลยนั่งคิดว่าจะทำยังไงกับการบ้านในเทอมที่จะถึงนี้ดี จะทำเป็นเว็บให้อัพโหลดไฟล์ ก็ขี้เกียจเขียนเว็บ สุดท้ายจึงตัดสินใจจะใช้เมลเหมือนเดิม แล้วไปเขียนสคริปต์ด้วย fetchmail กับ procmail หรือไม่ก็ maildrop เพื่อคัดแยกเมลที่ส่งมา ไปไว้ในไดเรคทอรีที่กำหนด แยก attachment ออกจากเมล โดยอาจจะใช้ Perl หรือไม่ก็โปรแกรม ripMime พร้อมทั้งตอบเมลกลับแบบอัตโนมัติว่าได้รับการบ้านแล้ว (ในกรณีที่ส่งมาถูกตามที่กำหนด) สุดท้ายหวังว่าจะช่วยให้จัดการกับการบ้านทางเมลได้สบายขึ้น แต่วิธีการทั้งหมดก็จะยังไม่สามารถจัดการกับกรณีที่ส่งไฟล์มาผิดประเภทได้ แต่ไม่เป็นไรเพราะมีคนแนะนำวิธีจัดการมาให้แล้ว ก็คือไม่ต้องตรวจให้ 0 ไปเลย คนแนะนำรับรองว่าแค่ทำเพียงครั้งเดียวก็จะส่งถูกต้องทุกคน จริงๆ แล้วยังไม่ได้เขียนสคริปต์ทั้งหมดหรอก แต่จะเอามาเล่าเรื่อยๆ วันนี้เล่าถึง fetchmail ก่อนล่ะกัน
โปรแกรม fetchmail เป็นโปรแกรมสำหรับดึงเมลจากเซิร์ฟเวอร์ (จะเป็นแบบ POP3 หรือ IMAP ก็ได้) มาไว้ที่เครื่องของเรา การทำงานของมัน ก็จะคล้ายๆ โปรแกรมอ่านเมลทั่วไป เพียงแต่ว่าเป็นแบบ command line ที่ให้โหลดเป็นครั้งๆ ไป และอาจจะกำหนดให้ทำงานเป็น daemon คอยเช็คและโหลดอยู่ตลอดเวลาได้ด้วย การใช้งานก็ง่ายมาก แค่กำหนดข้อมูลเซิร์ฟเวอร์ที่จะไปโหลดไว้ในไฟล์ .fetchmailrc เช่น
set daemon 300
poll mail.mydomain.com protocol pop3 user "myname" password "mypassword"
mimedecode
mda "/usr/bin/maildrop"
no keep
fetchall
จะเป็นกำหนดให้อ่านเมลทั้งหมดจากเซิร์ฟเวอร์ด้วยโปรโตคอล pop3 ตามที่กำหนด จากนั้นส่งเมลที่ได้ทีละฉบับไปยังโปรแกรม maildrop ซึ่งเราจะสามารถกำหนด regular expression สำหรับคัดแยกเมลได้ ทีนี้จะเขียนวิธีการคัดแยกทำยังไงเอาไว้ต่อคราวหน้าล่ะกัน
teaching
assignment, fetchmail, linux, teaching, unix
วันนี้คิดถึงอะไรหลายๆ อย่างวนไปวนมา แล้วก็นึกถึงเพลง 世界に一つだけの花 (ดอกไม้ชนิดเดียวในโลก) ของ SMAP ที่มีเนื้อหาดี เปรียบเทียบมนุษย์แต่ละคนเป็นเหมือนดอกไม้
それなのに僕ら人間は どうしてこうも比べたがる?
ทำไมพวกเรามนุษย์ทั้งหลายจึงอยากเปรียบเทียบกัน?
一人一人違うのにその中で 一番になりたがる?
อยากจะเป็นที่หนึ่งในบรรดาผู้คนที่แตกต่างกันหรือ?
そうさ僕らは
ที่จริงแล้ว เราแต่ละคนก็เป็นเหมือน
世界に一つだけの花
ดอกไม้ชนิดเดียวในโลกนี้
一人一人違う種を持つ
แต่ละคนมีเมล็ดพันธุ์ที่แตกต่างกันอยู่
その花を咲かせることだけに
การจะทำให้เมล็ดนั้นกลายเป็นดอกไม้ที่เบ่งบานได้
一生懸命になればいい
ด้วยพยายามของตัวเองอย่างเต็มที่ก็พอแล้ว
หลังจากสอนหนังสือมาสามปี ผมรู้สึกว่านักเรียนส่วนใหญ่ (ไม่ทั้งหมดหรอก แต่ว่าเยอะ) สนใจแค่คะแนนและเกรด ทำให้อาจารย์หลายๆ คน (รวมทั้งตัวผมด้วย) พยายามล่อนักเรียนด้วยการให้คะแนนไปซะทุกอย่าง มีนักเรียนไม่เยอะที่ผมรู้สึกว่าสนใจจริงๆ ในเนื้อหาที่กำลังเรียนอยู่ หรือพยายามเรียนรู้สิ่งต่างๆ เพิ่มเติมด้วยตัวเอง จริงๆ แล้วเกรดหรือคะแนน มันไม่ได้มีผลมากนักหรอกในโลกภายนอกมหาวิทยาลัย อาจจะจริงอยู่ที่เขาจะดูเกรดเวลารับเข้าทำงานหรือเรียนต่อ แต่หลังจากนั้นเมล็ดพันธุ์หรือต้นกล้าในแต่ละคนต่างหาก ที่จะเป็นส่วนสำคัญทำให้แต่ละคนกลายเป็นดอกไม้ที่สวยงาม และประสบความสำเร็จ จึงอยากให้ทุกคนสนใจที่จะบ่มเพาะตัวเองให้พร้อมที่จะออกไปเป็นดอกไม้ในโลกภายนอก
รู้สึกว่าวันนี้จะเขียนจริงจังไปแฮะ จริงๆ ก็แค่อยากแนะนำเพลงเท่านั้นแหละ อ้อ…ถ้าอยากอ่านคำแปลแบบเพราะๆ ก็ไปดูได้ที่ http://www.iknow.co.jp/user/delphine_bell/journal/2008/3/8/25745 อ่านแล้วกินใจกว่าที่ผมแปลข้างบนเยอะ ความสามารถในการแต่งประโยคของผมมีแค่นี้แหละ
thought
japanese, smap, song, teaching, thought
Recent Comments