วันศุกร์ที่ 28 กันยายน พ.ศ. 2555

การเขียนบททฤษฎีและงานวิจัยที่เกี่ยวข้อง (เน้นที่ปริญญานิพนธ์ด้านวิทยาการคอมพิวเตอร์)

จริง ๆ ว่าจะเขียนเรื่องนี้มานานแล้ว เพราะในฐานะที่ตัวเองเป็นอาจารย์ด้านวิทยาการคอมพิวเตอร์จะต้องตอบคำถามว่าบทที่สองในรูปเล่มรายงานปริญญานิพนธ์ (ทฤษฎีและงานวิจัยที่เกี่ยวข้อง) ต้องเขียนอะไรบ้าง วันนี้ก็โดนถามอีกก็เลยคิดว่ามาเขียนบล็อกให้แนวทางในการเขียนสักหน่อยก็น่าจะดี นอกจากจะเป็นประโยชน์กับลูกศิษย์ตัวเองแล้ว ก็หวังว่าจะเป็นประโยชน์กับนักศึกษาที่ต้องเขียนปริญญานิพนธ์ และที่สำคัญก็คือตัวเองจะได้ไม่ต้องปากเปียกปากแฉะซ้ำ ๆ หลายรอบ :)

บทที่สองจุดประสงค์จริง ๆ ก็คือให้คุณได้เขียนอธิบายถึงหลักการและทฤษฎีที่คุณจะนำมาใช้เป็นหลักในการทำวิจัย และวิเคราะห์และสรุปการศึกษางานวิจัยที่เกี่ยวข้องกับงานของคุณ ส่วนที่เป็นปัญหาที่เจอมากที่สุดก็คือทฤษฎีจะเขียนอะไร บางคนก็เข้าใจว่าอะไรที่ตัวเองใช้ก็คือทฤษฎี ดังนั้นในสมัยก่อนที่เจอบ่อยก็คือจะเริ่มต้นด้วยว่าฐานข้อมูลคืออะไร อธิบายการออกแบบ การเขียน ER ไปจนถึง primary key, candidate key เป็นต้น ซึ่งพอถามว่าจะเขียนมาทำไม ก็ได้รับคำตอบว่านี่คือทฤษฎีที่ต้องใช้ในการออกแบบฐานข้อมูล พอเจอคำตอบอย่างนี้ผมก็เลยถามกลับว่าถ้าอย่างนั้นทำไมถึงไม่เขียนมาด้วยล่ะว่าการเขียนโปรแกรมคืออะไร การคอมไพล์โปรแกรมทำยังไง หรือการวิเคราะห์หรือออกแบบระบบคืออะไร เพราะก็ต้องใช้ในการพัฒนาโปรแกรมเหมือนกันไม่ใช่หรือ พอเจอคำถามนี้เข้าไปก็เงียบกันไปหมด   รุ่นหลัง ๆ นี้ก็เลยไม่เขียนกันแล้วว่าฐานข้อมูลคืออะไร แต่ไปเขียนว่าแอนดรอยด์คืออะไร จะเขียนโปรแกรมบนแอนดรอย์ต้องทำยังไงแทน เฮ้อ....  แต่ที่เจอแล้วมึนที่สุดก็คือเขียนอธิบายมาว่าเว็บเบราซ์เซอร์คืออะไร เหตุผลที่เขียนมาก็คือเพราะตัวเองทำเว็บแอพพลิเคชัน เว็บเบราซ์เซอร์ก็เลยเป็นทฤษฎีที่ใช้ส่วนหนึ่ง เวรกรรมจริง ๆ

ผมมานั่งวิเคราะห์ปัญหาดูว่าทำไมเราถึงเขียนอะไรกันอย่างนี้ ก็เลยคิดว่าปัญหาอาจมาจากคำว่าอย่าเขียนอะไรโดยคิดว่าคนอ่านรู้อยู่แล้ว แต่จริง ๆ มันมีสิ่งที่ซ่อนอยู่ในนั้นนะครับคือเราต้องคิดว่าคนอ่านอย่างน้อยก็น่าจะอยู่ในฟิลด์ของเรา (คอมพิวเตอร์) ดังนั้นเขาควรจะต้องมีความรู้พื้นฐานเรื่องพวกฐานข้อมูล หรือการพัฒนาโปรแกรมอยู่แล้ว หรือถ้าเขาเป็นนักคอมพิวเตอร์แต่ไม่รู้วิธีการเขียนโปรแกรมแอนดรอยด์ เขาก็ควรไปหาอ่านจากหนังสือทางด้านนี้โดยตรง งานวิจัยของเราคงไม่ได้มีจุดประสงค์จะมาสอนใครให้เขียนโปรแกรมแอนดรอยด์เป็นใช่ไหมครับ ดังนั้นอันแรกครับพวกความรู้พื้นฐานที่เกี่ยวข้องกับการพัฒนาโปรแกรมไม่ว่าแพล็ตฟอร์มไหนนี่ตัดทิ้งไปได้เลยครับ เวลาเขียนบทที่สองให้คิดไว้ครับว่าคนอ่านเขาคงไม่ได้เข้ามาอ่านงานของเราเพื่ออ่านทฤษฎีพื้นฐานที่หาอ่านได้ทั่ว ๆ ไป หรือมีการเรียนการสอนกันอยู่แล้วนะครับ

แล้วจะเขียนอะไรดีล่ะในส่วนทฤษฎีนี้ คำตอบที่ผมมักจะให้นักศึกษาใช้เป็นแนวทางคือ มีทฤษฎีหรือความรู้อะไรที่คนที่อ่านงานของคุณในบทที่สาม (การดำเนินการวิจัย/การวิเคราะห์และออกแบบระบบ) จำเป็นต้องรู้บ้างไหม ถ้ามีก็ให้เขียนไว้เพื่อที่เขาจะได้กลับมาอ่านเป็นแนวทางได้ แต่ก็เอาเฉพาะที่จำเป็น ส่วนที่เป็นรายละเอียดมาก ๆ ก็ให้เป็นเอกสารอ้างอิงไป ตัวอย่างเช่นสมมติว่าคุณต้องทำโปรแกรมที่เกี่ยวข้องกับ GPS และต้องเก็บข้อมูลเกี่ยวกับ GPS ลงฐานข้อมูล ก็ไม่แปลกอะไรที่คุณจะมีทฤษฎีเบื้องต้นเกี่ยวกับข้อมูลที่ GPS ต้องใช้  จะเห็นนะครับว่าอย่างเรื่อง GPS นี่ไม่ใช่เรื่องที่เป็นพื้นฐานใช้กันทั่วไป และการที่คุณให้ข้อมูลตรงนี้ไว้ มันก็จะช่วยให้คนอ่านในบทที่สามของคุณเข้าใจว่าทำไมคุณต้องมีฟิลด์ที่ใช้เก็บข้อมูลนี้ในตารางในฐานข้อมูลของคุณ หรืออีกสักตัวอย่างหนึ่ง ถ้างานเราต้องใช้การติดต่อกับ Social Network อย่าง Twitter หรือ Facebook ก็ถือว่าโอเคนะถ้าจะมีส่วนที่แสดงให้เห็นว่าการติดต่อกับ Social Network เหล่านี้ทำได้โดยผ่าน API และมันมีข้อมูลหรือบริการอะไรที่เราใช้ได้บ้าง เพราะตรงนี้มันก็อาจอธิบายถึงการออกแบบในบทที่สามของเราเมื่อต้องทำงานกับส่วนนี้ ส่วนถ้างานของเราเน้นที่การพัฒนาโปรแกรม ไม่ได้ใช้อะไรจริง ๆ นอกจากทักษะด้านออกแบบและการพัฒนาโปรแกรม ผมว่าจะไม่มีทฤษฎีที่เกี่ยวข้องเลยก็ไม่แปลกนะ เพราะบทนี้ยังมีอีกส่วนหนึ่งก็คืองานวิจัยที่เกี่ยวข้อง ซึ่งจะให้คุณได้แสดงทักษะความสามารถในการคิดวิเคราะห์

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

คิดว่าจากที่เขียนมาทั้งหมด ก็คงจะพอทำให้เห็นแนวทางการเขียนบทที่สองของงานปริญญานิพนธ์ได้มากขึ้นนะครับ ซึ่งถึงแม้ผมจะเน้นและยกตัวอย่างด้านวิทยาการคอมพิวเตอร์เป็นหลัก แต่คิดว่าก็อาจนำไปปรับใช้กับงานวิจัยด้านอื่นได้เช่นกัน

สุดท้ายก็ขอนำบล็อกที่เคยเขียนเกี่ยวกับการเขียนงานวิจัยมาใส่ลิงก์ไว้ให้ตรงนี้ เพื่อความสะดวกในการค้นหาครับ

การเขียนคำภาษาต่างประเทศในบทความวิชาการ

การเขียนบทคัดย่อ

วันศุกร์ที่ 21 กันยายน พ.ศ. 2555

เครื่องโยนข้าวโพดคั่วเข้าปาก???

หลังจากไม่ได้อั๊พบล็อกนี้มาซะนาน วันศุกร์รถติด ๆ แบบนี้กลับถึงบ้านแล้วมาอ่านเรื่องเบา ๆ คลายเครียดกันดีกว่าครับ พอดีอ่านเจอในข่าวจาก C|NET พวกเราคงเคยกินข้าวโพดคั่ว (popcorn) กันใช่ไหมครับ ส่วนใหญ่เวลากินก็ใช้มือหยิบขึ้นมาเอาเข้าปาก  หรือบางคนอาจพิสดารกว่านั้นเล็กน้อยคือโยนขึ้นไปแล้วอ้าปากรับ แต่ยังไงเราก็ต้องใช้มือหยิบมันขึ้นมาใช่ไหมครับ คราวนี้ถ้ามือเราไม่ว่างล่ะ หรือถ้ามือเราสกปรกอยู่ล่ะ

มีบริษัทหนึ่งเล็งเห็นปัญหานี้ครับและคิดวิธีแก้ด้วยการสร้างเครื่องโยนข้าวโพดคั่วเข้าปากอัตโนมัติ เขาเรียกเครื่องนี้ว่า "Popinator" หลักการทำงานของมันก็คือที่เครื่องจะมีไมโครโฟนและเซ็นเซอร์อยู่ พอผู้ใช้พูดคำว่า "pop" มันก็จะคำนวณทิศทางและระยะทางระหว่างปากเราและตัวเครื่องเพื่อโยนข้าวโพดคั่วมาลงในปากเรา ลองดูวิีดีโอการทำงานของมันกันครับ



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

พวกเราดูแล้วเป็นไงบ้างครับอยากได้มาใช้สักเครื่องไหม ผมลองไล่ดูในคอมเมนต์จาก YouTube หลายคนก็ชอบบอกว่าคงทำให้การกินข้าวโพดคั่วสนุกสนานมากขึ้น บางคนก็ไม่แน่ใจว่านี่เป็นเรื่องจริงหรือเปล่า บางคนก็บอกว่าไร้สาระ และยังบอกว่ามีแต่พวกอเมริกันเท่านั้นแหละที่จะผลาญทรัพยากรไปทำอะไรแบบนี้ แต่ผมชอบแนวคิดของคนที่เขียนข่าวนี้นะครับ เขาบอกว่าถ้าเปลี่ยนให้มันรับคำสั่งจากเสียงเห่าแทน ไอ้เจ้าเครื่องนี้น่าจะเป็นของเล่นชิ้นโปรดของน้องหมาแน่ ๆ หรือเราคิดว่าควรจะปรับมันให้ไปใช้กับอะไรได้อีกดีครับ...

ที่มา:  C|NET





วันพฤหัสบดีที่ 13 กันยายน พ.ศ. 2555

iPhone 5 ไม่ว้าว แต่ iPod touch รุ่น 5 นี่โดนใจจริง ๆ

ผมไม่ได้เขียนบล็อกนี้มาเสียนานครับ จริง ๆ มีเรื่องอยากเขียนเยอะแต่ไม่ว่าง และพอว่างจะเขียนเรื่องมันก็ตกจากความสนใจไปแล้ว แต่วันนี้พอจะว่างและเรื่องที่จะเขียนนี้ก็คิดว่าไม่ตกกระแสแน่เพราะ Apple เพิ่งเปิดตัว iPhone 5 ไปเมื่อวาน และจากกระแสที่ผมอ่าน ๆ มาและความรู้สึกของตัวเองสรุปว่ามันไม่ว้าวแฮะ แต่ที่เขียนอย่างนี้ไม่ได้หมายความว่ามันจะขายไม่ออกนะครับ ผมว่าถึงเวลามันวางขายจริงก็คงจะมีผู้คนมากมายไปต่อแถวรอซื้อมันเหมือนเดิมนั่นแหละ

คราวนี้ทำไมมันถึงไม่ว้าว ที่ไม่ว้าวเพราะว่าคุณสมบัติของมันที่แทบจะไม่แตกต่างจาก iPhone 4s สักเท่าไร ที่เปลี่ยนไปก็คือ ใช้ซีพียูที่รุ่นใหม่ที่ทาง Apple บอกว่าเร็วขึ้นสองเท่า (มั้ง) มีความยาวมากขึ้นจาก 4.5 นิ้วใน iPhone 4s เป็น 4.87 นิ้ว ที่เป็นอย่างนี้เพราะจอภาพใหญ่ขึ้นจากเดิม 3.5 นิ้วเป็น 4 นิ้ว และจอภาพมีความละเอียดมากขึ้น ใช้ซิมเป็น nano-sim กล้องหน้าดีขึ้นเพิ่มเป็น 1.2 ล้านพิกเซล ส่วนที่เหลือก็แทบเหมือนเดิม นอกจากนี้ยังไม่มีเทคโนโลยีอย่าง NFC ซึ่งคู่แข่งอย่างซัมซุงมีมานานแล้ว ถ้าใครอยากเปรียบเทียบคุณสมบัติของ iPhone 5 กับ iPhone 4s ลองดูได้จาก เว็บของ Apple ครับ ส่วนเหตุผลที่ Apple ไม่ใส่เทคโนโลยีใหม่ ๆ เข้าไปดูได้จาก ARIP ครับ

แต่ที่ผมว่าน่าสนใจและโดนมาก ๆ คือเจ้า iPod Touch รุ่น 5 นี่แหละครับ หลังจากที่ Apple ดูเหมือนจะทิ้งเจ้า iPod Touch ไปแล้วหลังจากที่ออกรุ่น 4 มาแล้วก็ไม่ได้ปรับปรุงมาแล้วสักปีหนึ่งเห็นจะได้ แต่มาคราวนี้เหมือนจะให้มาเต็มเลย คุณสมบัติของจอภาพและกล้องหน้ามาเท่ากับ iPhone 5 เลย นอกจากนี้ยังบางกว่า iPhone 5 มีสีให้เลือกห้าสี และราคาที่ถูกกว่า iPhone 5 มาก ที่ด้อยกว่าคือกล้องหลังที่ให้มา 5 ล้านพิกเซล และ CPU ซึ่งเท่ากับ iPhone 4S ผมว่าแทบอาจพูดได้เต็มปากว่า iPod Touch ตัวนี้คือ iPhone 5 ที่โทรไม่ได้ แต่เสียดายที่ไม่มีรุ่นที่ใส่ซิมเพือใช้เข้าอินเทอร์เน็ตได้ คงกลัวว่ามันจะใกล้เคียงกับ iPhone มากเกินไป สำหรับคุณสมบัติของ iPod Touch รุ่น 5 ดูได้จาก เว็บของ Apple ครับ

สุดท้ายขอให้ความเห็นส่วนตัวหน่อยว่าควรจะซื้อเจ้า iPhone 5 ไหม อันแรกถ้าใครอยากได้และไม่เดือดร้อนเรื่องเงินทองก็เชิญครับ ส่วนคนที่มี iPhone 4 และใช้มาคุ้มค่าแล้วอยากอัพเกรดแต่ลังเล ผมว่าอัพเกรดได้ครับเพราะซีพียูของ iPhone 5 นี่ดีกว่า iPhone 4 พอสมควร และยังมีคุณสมบัติอย่าง Siri ซึ่งใช้ไม่ได้ใน iPhone 4 ถึงตอนนี้ Siri จะยังพูดไทยไม่ได้แต่อนาคตผมว่ามันน่าจะใช้ได้ ดังนั้นอัพเกรดรอไว้ก็ไม่น่าเสียหาย ส่วนคนที่มี iPhone 4S และรู้สึกว่าจอมันเล็กไปอยากใช้จอใหญ่และละเอียดขึ้นจะอัพเกรดก็ได้ แต่ผมว่าถ้าเป็นแค่เหตุผลนี้ก็ซื้อ iPod Touch มาใช้คู่กับเจ้า 4S ดีกว่า ประหยัดเงินได้เป็นหมื่น และไม่ต้องถูกกดราคาขายต่อเจ้า 4S ด้วย เพราะผมว่าหลายคนก็ยังซื้อมาได้ไม่ถึงปี แต่ประเด็นคืออาจต้องพกสองเครื่องซึ่งผมว่าไม่น่าเป็นปัญหาเพราะ iPod Touch บางมาก เวลาโทรศัพท์ก็ใช้เจ้า 4S ไป อยากดูหนังฟังเพลงจอใหญ่ก็ดูจาก iPod Touch ถ้าอยากท่องเว็บผ่าน iPod Touch ก็แชร์เน็ตจาก iPhone ส่วนคนที่ใช้ระบบปฏิบัติการอื่นอยู่แต่อยากลอง iOS ผมว่า iPod Touch เป็นทางเลือกที่ดีครับ

วันศุกร์ที่ 7 กันยายน พ.ศ. 2555

ข่าวไอทีน่าสนใจประจำวันที่ 7/9/2555

หลังจากไม่ได้ทวีตข่าวมาเสียหลายวันวันนี้ก็เลยทวีตหลายข่าวหน่อยนะครับ สำหรับใครที่พลาดไปก็มาอ่านฉบับรวมที่นี่ได้ครับ