นักวิจัยจาก MIT สร้างตัวแบบ (model) สำหรับทำนายสถานะทางการเงินของธุรกิจ ได้แม่นยำกว่านักวิเคราะห์ที่เป็นคนใน Wallstreet ยิ่งไปกว่านั้นยังใช้ข้อมูลที่นำมาใช้ทำนายน้อยกว่า โดยข้อมูลที่นักวิเคราะห์เอามาทำนายจะใช้ข้อมูลทั้งที่เป็นสาธารณะและข้อมูลเฉพาะของบริษัท และข้อมูลจากตัวแบบการเรียนรู้ของเครื่อง (machine learning) หลากหลายโมเดล แต่ตัวแบบที่นักวิจัยจาก MIT คิดขึ้นมานี้จะใช้ข้อมูลแค่รายการการใช้บัตรเครดิตในแต่ละอาทิตย์ และรายงานรายรับสามเดือนของบริษัทเท่านั้น นักวิจัยได้ใช้ตัวแบบนี้ทำนายรายรับรายไตรมาสของบริษัท 30 แห่ง ผลการประเมินพบว่าตัวแบบที่สร้างขึ้นสามารถทำนายได้ดีกว่านักวิเคราะห์ที่เป็นคน 57% ของการทำนายทั้งหมด
อ่านข่าวเต็มได้ที่: MIT News
เพิ่มเติมเสริมข่าว
นักวิเคราะห์ธรรมดาก็จะถูก disrupt ไป แต่คนที่สร้างโมเดลได้ก็จะยังอยู่ต่อไปครับ
วันจันทร์ที่ 6 มกราคม พ.ศ. 2563
วันอาทิตย์ที่ 5 มกราคม พ.ศ. 2563
ควอนตัมบิตสามารถสื่อสารกันได้ไกลขึ้นแล้ว
นักวิจัยจาก Princeton University ได้แสดงให้เห็นถึงความสามารถในการส่งซิลิกอนควอนตัมบิต (quantum bit) หรือเรียกย่อ ๆ ว่า คิวบิต (qbit) ได้ในระยะทางที่ไกลขึ้น โดยระยะห่างระหว่างคิวบิตต่อคิวบิตคือ 0.5 เซ็นติเมตร ซึ่งงานวิจัยนี้จะเป็นแนวทางในการพัฒนาซิลิกอนควอนตัมไมโครชิปต่อไป
อ่านข่าวเต็มได้ที: Princeton University
เพิ่มเติมเสริมข่าว
บางคนอาจถามว่าแหม 0.5 เซ็นติเมตรนี้ไกลแล้วหรือ คือต้องเข้าใจนะครับว่าเรากำลังพูดถึงระยะทางในการสื่อสารระหว่างชิปต่อชิปในคอมพิวเตอร์ ก็เหมือนกับเราพูดถึงเวลาในการประมวลผลของคอมพิวเตอร์ หน่วยที่เราใช้ก็ไม่ใช่วินาที แต่เป็นมิลลิวินาที่ (1/1000) วินาที นั่นเองครับ
อ่านข่าวเต็มได้ที: Princeton University
เพิ่มเติมเสริมข่าว
บางคนอาจถามว่าแหม 0.5 เซ็นติเมตรนี้ไกลแล้วหรือ คือต้องเข้าใจนะครับว่าเรากำลังพูดถึงระยะทางในการสื่อสารระหว่างชิปต่อชิปในคอมพิวเตอร์ ก็เหมือนกับเราพูดถึงเวลาในการประมวลผลของคอมพิวเตอร์ หน่วยที่เราใช้ก็ไม่ใช่วินาที แต่เป็นมิลลิวินาที่ (1/1000) วินาที นั่นเองครับ
วันเสาร์ที่ 4 มกราคม พ.ศ. 2563
เมือสถานศึกษาเปลี่ยนสมาร์ตโฟนเป็นเครื่องมือสอดแนม
ปัจจุบันสถานศึกษาหลายแห่งในอเมริกาได้ใช้เทคโนโลยีในการติดตามนักศึกษาจากสมาร์ตโฟนที่พวกเขาใช้ โดยเชื่อมต่อสมาร์ตโฟนของพวกเขาเข้ากับไวไฟ (WiFi) หรือบลูทูช (Bluetooth) ของมหาวิทยาลัย หรือภายในชั้นเรียน ซึ่งประโยชน์ที่ได้จากการทำแบบนี้ก็คือสามารถติดตามว่านักเรียน นักศึกษาเข้าเรียนหรือไม่ สามารถประเมินสุขภาพจิตของนักศึกษา สถานศึกษาบางแห่งยังมีการคำนวณคะแนนความเสี่ยงว่านักศึกษาอาจมีผลการเรียนตก โดยดูจากจำนวนครั้งที่นักศึกษาเข้าห้องสมุด อย่างไรก็ตามมีนักวิชาการหลายคนกังวลว่าการติดตามในลักษณะดังกล่าว จะทำให้นักศึกษาเติบโตมาโดยยอมรับการสอดแนมว่าเป็นเรื่องปกติในชีวิต แต่เมื่อไปสอบถามนักศึกษาหลายคนก็บอกว่าไม่ได้รู้สึกกังวลอะไรกับเรื่องการละเมิดความเป็นส่วนตัวดังกล่าว แต่นักศึกษาและอาจารย์หลายคนก็บอกว่า จะให้ทำยังไงล่ะก็ต้องยอมรับมันไป เพราะเทคโนโลยีนี้มันก็มีอยูแทบจะทุกที่แล้ว
อาจารย์ท่านหนึ่งให้ความเห็นทิ้งท้ายกับเรื่องนี้ไว้อย่างน่าฟังว่า "สิ่งที่เรากำลังทำอยู่เป็นการเสริมความสร้างความรู้สึกของการไร้อำนาจที่จะขัดขืน (ให้กับนักเรียนนักศึกษา).... แต่คำถามที่ควรจะคิดกันจริงจังก็คือ ทำไมเราถึงสร้างสถาบันการศึกษาที่นักเรียนนักศึกษาไม่รู้สึกอยากจะมาเรียนขึ้นมาล่ะ"
“We’re reinforcing this sense of powerlessness … when we could be asking harder questions, like: Why are we creating institutions where students don’t want to show up?”
อ่านข่าวเต็มได้ที่: The Washington Post
เพิ่มเติมเสริมข่าว
ในตอนนี้ยังไม่ได้ยินว่ามหาวิทยาลัยในไทยนำเทคโนโลยีแบบนี้มาใช้ แต่เอาจริง ๆ ตอนนี้เราก็เริ่มยอมรับมันเป็นส่วนหนึ่งของชีวิตกันแล้วนะครับ อย่างกรณีแสดงความสนใจอะไร Facebook ก็ส่งโฆษณามาเลย นี่ก็แสดงถึงการสอดแนมแบบหนึ่ง และต่อไปการสอดแนมแบบนี้สักวันก็คงมาในระดับประชาชน ด้วย โดยเหตุผลก็คงเป็นเรื่องของการยกระดับคุณภาพชีวิต และความมั่นคงของประเทศ ก็ได้แต่หวังว่าเราจะได้คนออกฎหมายที่เข้าใจ และออกกฎหมายมาเพื่อนำข้อมูลไปใช้ประโยชน์ และป้องกันคนไม่ดีเอาข้อมูลไปใช้เพื่อหาประโยชน์หรือคุคามฝ่ายตรงข้ามกับตัวเองก็แล้วกัน
อาจารย์ท่านหนึ่งให้ความเห็นทิ้งท้ายกับเรื่องนี้ไว้อย่างน่าฟังว่า "สิ่งที่เรากำลังทำอยู่เป็นการเสริมความสร้างความรู้สึกของการไร้อำนาจที่จะขัดขืน (ให้กับนักเรียนนักศึกษา).... แต่คำถามที่ควรจะคิดกันจริงจังก็คือ ทำไมเราถึงสร้างสถาบันการศึกษาที่นักเรียนนักศึกษาไม่รู้สึกอยากจะมาเรียนขึ้นมาล่ะ"
“We’re reinforcing this sense of powerlessness … when we could be asking harder questions, like: Why are we creating institutions where students don’t want to show up?”
อ่านข่าวเต็มได้ที่: The Washington Post
เพิ่มเติมเสริมข่าว
ในตอนนี้ยังไม่ได้ยินว่ามหาวิทยาลัยในไทยนำเทคโนโลยีแบบนี้มาใช้ แต่เอาจริง ๆ ตอนนี้เราก็เริ่มยอมรับมันเป็นส่วนหนึ่งของชีวิตกันแล้วนะครับ อย่างกรณีแสดงความสนใจอะไร Facebook ก็ส่งโฆษณามาเลย นี่ก็แสดงถึงการสอดแนมแบบหนึ่ง และต่อไปการสอดแนมแบบนี้สักวันก็คงมาในระดับประชาชน ด้วย โดยเหตุผลก็คงเป็นเรื่องของการยกระดับคุณภาพชีวิต และความมั่นคงของประเทศ ก็ได้แต่หวังว่าเราจะได้คนออกฎหมายที่เข้าใจ และออกกฎหมายมาเพื่อนำข้อมูลไปใช้ประโยชน์ และป้องกันคนไม่ดีเอาข้อมูลไปใช้เพื่อหาประโยชน์หรือคุคามฝ่ายตรงข้ามกับตัวเองก็แล้วกัน
วันศุกร์ที่ 3 มกราคม พ.ศ. 2563
ขั้นตอนวิธีทำนายว่าเรามีโอกาสเป็นอัลไซเมอร์หรือเปล่า
นักวิจัยจาก Harvard-affiliated Massachusetts General Hospital (MGH) ได้พัฒนาโปรแกรมเพื่ออ่านประวัติสุขภาพของผู้ป่วย และนำมาประเมินว่าผู้ป่วยจะมีโอกาสป่วยเป็นโรคสมองเสื่อมหรือไม่ ซึ่งสิ่งที่น่าสนใจคือ ขั้นตอนวิธีนี้สามารถทำนายโอกาสการเกิดโรคนี้จากคนที่มีสุขภาพดี และสามารถทำนายได้แปดปีล่วงหน้า ซึ่งงานวิจัยนี้ทำในโรงพยาบาลสองแห่งคือ MGH’s Center for Quantitative Health, the Harvard T.H. Chan School of Public Health และ Harvard Brain Tissue Resource Center. การทดลองนี้ทำกับข้อมูลของผู้ป่วย 267,855 คน และพบว่า 2.4% ของผู้ป่วยมีอาการของโรคสมองเสื่อมหลังจากการติดตามผลมาแปดปี นักวิจัยบอกว่าการวิจัยแบบนี้สามารถทำซ้ำได้ทั่วโลกเพื่อให้ได้ข้อมูลมากขึ้น และประโยชน์จากงานวิจัยนี้จะช่วยทำให้การวางแผนการรักษาทำได้ง่ายขึ้น
ที่มา: The Harvard Gazette
ที่มา: The Harvard Gazette
วันอาทิตย์ที่ 28 กรกฎาคม พ.ศ. 2562
ขอพูดถึงเรื่องวิชา Coding กับเขาบ้าง
หลังจากไม่ได้เขียนบล็อกมาซะนานวันนี้รู้สึกอยากเขียน เพราะเป็นเรื่องใกล้ตัว และกำลังเป็นกระแสอยู่ในตอนนี้ เรื่องนี้เป็นผลที่เกิดขึ้นจากการแถลงนโนบายของรัฐบาลครับ ไม่ใช่เรื่องตัดพี่ตัดน้อง สส.สมุนโจร หรือสว.เลียท้อปบู๊ตทหารนะครับ แต่เป็นเรื่องการที่รัฐบาลจะให้เด็กเรียนโค้ดดิง (coding) โดยรมต.ออกมาพูดว่าเรียนโค้ดดิงไม่ต้องใช้คอมพิวเตอร์ก็ได้ แล้วก็เกิดข้อถกเถียงวิพากษ์วิจารณ์กันมากมาย
ก่อนอื่นต้องบอกว่าถ้าเราได้ติดตามข่าวด้านการศึกษาในช่วงสองสามปีมานี้ จะพบว่าทางกระทรวงศึกษาธิการได้มีการปรับปรุงหลักสูตรที่เริ่มใช้ในปีการศึกษา 2561โดยเปลี่ยนวิชาเทคโนโลยีสารสนเทศจากหมวดการงาน มาเป็นวิชาวิทยาการคำนวณในหมวดวิทยาศาสตร์ ซึ่งโค้ดดิงเป็นส่วนหนึ่งของวิทยาการคำนวณ ดังนั้นเรื่องการโค้ดดิงนี้จึงไม่ใช่เรื่องใหม่ที่จะมาคิดริเริ่มจากกระทรวงศึกษาในรัฐบาลนี้ ซึ่งจุดประสงค์ของวิทยาการคำนวณนั้นเท่าที่ติดตามดู ไม่ได้ตั้งใจจะสร้างเด็กออกไปเป็นนักพัฒนาโปรแกรม แต่ต้องการสร้างกระบวนการคิดอย่างเป็นระบบ สามารถใช้งานเทคโนโลยีดิจิทัล และรู้เท่าทันสื่อสมัยใหม่ เพื่อให้มันติดตัวเขาไปไม่ว่าในอนาคตเขาจะไปประกอบอาชีพใด เข้าใจว่าเด็กที่เรียนในปี 2561 จะเป็นเด็ก ป.1 ป.4 ม.1 และ ม.4
ในแง่ที่เกี่ยวข้องกับโค้ดดิง ในเด็กเล็กประถมต้น เขาจะไม่ได้ให้เรียนเขียนโปรแกรมกับคอมพิวเตอร์ แต่จะสร้างการคิดอย่างเป็นระบบผ่านทางเครื่องมืออย่างการ์ดคำสั่ง หรือเกมกระดาน (board game) เป็นต้น เด็กป.4 จะได้เรียนการเขียนโปรแกรมผ่านทางภาษาโปรแกรมประเภท Block Programming คือลักษณะการเขียนโปรแกรมที่นำเอา Block คำสั่งมาเรียงต่อกัน ซึ่งภาษาที่เขาจะให้เรียนคือ Scratch ซึ่งจะให้เรียนในชั้น ป.4 ส่วนเด็กมัธยมก็จะได้เรียนเขียนโปรแกรมด้วยภาษา Python ซึ่งเป็นภาษาที่เรียนรู้ได้ง่าย เท่าที่ตามข่าวมาและพยายามทำความเข้าใจก็คือเขาน่าจะไม่ได้ให้เด็กไปเน้นที่ตัวไวยากรณ์ของภาษา ดังนั้นภาษาเขียนโปรแกรมที่เลือกใช้จึงเป็นภาษาที่เข้าใจง่าย เพื่อให้ผู้เรียนได้เน้นที่กระบวนการคิดแก้ปัญหาอย่างมีตรรกะ และเป็นระบบมากกว่า
ในส่วนของคำว่าโค้ดดิงผมขออ้างอิงจาก Facebook ของ อ.ยืน ภู่วรวรรณ ปรมาจารย์ด้านวิทยาการคอมพิวเตอร์ของประเทศไทยคนหนึ่งที่บอกว่า
"โค้ดดิ้ง (Coding) เป็น Broader term ส่วน คอมพิวเตอร์ โค้ดดิ้ง (Computer coding) หรือ โปรแกรมมิ่ง (Programming) เป็น Narrow term คือมีความหมายที่แคบกว่า หรือเป็น Subset
โค้ด คือรหัส หรือการทำสัญลักษณ์ การโค้ดดิ้งคือ การเขียนสัญลักษณ์ เพื่อการบอกลำดับขั้นตอน ลำดับความคิด เพื่อสื่อสารให้เข้าใจกัน"
ดังนั้นการโค้ดดิงคืออะไรก็ได้ที่เกี่ยวข้องอยู่ในชีวิตประจำวันของเรา เราเขียนอธิบายเส้นทางเพื่อให้คนส่งของมาส่งของที่บ้านเราถูกมันก็คือการโค้ดดิงแบบหนึ่ง การเขียนหนังสือการเขียนบทความให้อ่านรู้เรื่องก็เป็นการโค้ดดิงแบบหนึ่ง ดังนั้นจะเห็นว่าถ้าเราสามารถคิดและสื่อสารได้อย่างเป็นระบบแล้ว มันก็จะเป็นประโยชน์กับเราไม่ว่าเราจะทำอาชีพอะไร พูดถึงตรงนี้แล้วผมก็อยากบอกอีกครั้งว่า (เข้าใจว่าน่าจะเคยเขียนไปในบล็อกก่อน ๆ บ้างแล้ว) สิ่งที่อยากให้นำกลับมาในระบบการศึกษาระดับประถมมัธยมของเราก็คือวิชาเขียนเรียงความ เพราะจากประสบการณ์ดูแลปริญญานิพนธ์ของนักศึกษาตั้งแต่ป.ตรีถึงป.เอก พบว่าหลายคนเขียนกันไม่ค่อยจะเป็น คือบางครั้งไม่มีที่มาที่ไป ไม่มีความเชื่อมโยงสัมพันธ์กัน เขียนแล้วจับใจความไม่ได้ว่าจะสื่อถึงอะไร
กลับมาที่โค้ดดิงที่เกี่ยวกับการเขียนโปรแกรม ที่น่าจะเป็นประเด็นที่ถกเถียงกันอยู่ตอนนี้ รมต.ช่วยศึกษาธิการจากพรรคประชาธิปัตย์ ชูประเด็นเรื่องโค้ดดิง และพูดถึงคำว่าภาษาที่สาม และบอกว่าโค้ดดิงไม่ต้องใช้คอมพิวเตอร์ก็ได้ ในความเห็นส่วนตัวคงต้องจับประเด็นก่อนว่ารมต.จะพูดถึงอะไรกันแน่ ถ้าพูดถึงโค้ดดิงในแบบภาพกว้าง ตามที่อ.ยืนบอก อันนี้ก็ใช่อาจไม่ต้องใช้คอมพิวเตอร์ก็ได้ เพราะการแสดงแนวคิดของโปรแกรมนั้นสามารถทำได้โดยไม่ต้องใช้คอมพิวเตอร์ อย่างเช่นการเขียนโฟลว์ชาร์ต (flowchart) หรือรหัสเทียม (pseudo code) ซึ่งอันนี้จะหมายถึงภาษาที่สามของรมต.หรือเปล่า?
แต่ถ้าภาษาที่สามหมายถึงภาษาเขียนโปรแกรม ส่วนตัวเห็นว่าการเรียนเขียนโปรแกรมด้วยภาษาสมัยใหม่ที่เข้าใจง่าย มีไวยากรณ์ไม่ซับซ้อนอย่างภาษา Python หรือ Block Programming แบบ Scratch การนั่งเขียนอยู่หน้าจอคอมพิวเตอร์จะเข้าใจได้ง่ายกว่า ไม่ต้องไปเขียนลงกระดาษก่อนให้เสียเวลา เพราะผู้เรียนสามารถมองเห็นผลการทำงานของตัวโปรแกรมได้ทันที ในโปรแกรมที่ไม่มีความซับซ้อน และใช้ภาษาโปรแกรมสมัยใหม่ (จริง ๆ ถ้าคล่องแล้วแม้แต่ภาษาสมัยเก่าก็ใช้ได้นะ) ผมว่าไม่มีความจำเป็นที่จะต้องไปเขียนโฟลว์ชาร์ต หรือรหัสเทียม ก่อนด้วยซ้ำ เพราะตัวภาษาเองก็เข้าใจง่ายพอ ๆ กับเขียนรหัสเทียมอยู่แล้ว อันนี้ไม่ได้บอกว่าไม่จำเป็นต้องรู้จักการเขียนโฟลว์ชาร์ต หรือการเขียนรหัสเทียมนะครับ เพราะมันยังเป็นประโยชน์อยู่ในการสื่อสารอะไรที่มันซับซ้อน หรือต้องการสื่อสารแนวคิดที่ไม่ผูกติดกับภาษาเขียนโปรแกรมภาษาใดภาษาหนึ่ง อีกประการหนึ่งก็คือ ภาษาเขียนโปรแกรมมีมากมายหลายภาษา แต่ละภาษาก็มีจุดดีจุดด้อย มีความเหมาะสมกับงานต่าง ๆ ไม่เหมือนกัน ถ้าจะให้เด็กรู้จักภาษาเขียนโปรแกรมเป็นภาษาที่สามควรใช้ภาษาอะไรดี
ดังนั้นการโค้ดดิงและภาษาที่สามน่าจะหมายถึงการทำให้เด็กคิดแก้ปัญหาได้อย่างมีตรรกะ และสื่อสารได้อย่างเป็นระบบหรือเปล่า? ซึ่งตรงนี้เท่าที่อ่านจากหลาย ๆ สื่อ มีคนบอกว่าถ้าจะหมายถึงอย่างนี้เปลี่ยนจากคำว่าโค้ดดิงเป็นอย่างอื่นดีไหม เช่นความสามารถในการแก้ปัญหา (problem solving) อย่างเป็นระบบอะไรแบบนี้ ซึ่งตรงนี้ผมว่ามีความสำคัญนะครับ เพราะถ้าไม่สื่อสารชี้แจงกันให้ดี ผมว่าเดี่ยวมันก็จะกลายเป็นเหมือนการสอนภาษาอังกฤษในบ้านเราที่เน้นกันแต่ไวยากรณ์ แต่เอาไปพูดกับฝรั่งไม่ได้ การเรียนโค้ดดิงนี่ก็อาจจะกลายเป็นเน้นอะไรแบบนี้ เธอเขียนสัญญลักษณ์ของโฟลว์ชาร์ตตัวนี้ผิดนะ หรือคำสั่ง "Print()" ของเธอผิดนะ เพราะเธอใช้ P จริง ๆ ต้องใช้ p อะไรแบบนี้
สุดท้ายผมขอจบบล็อกนี้ด้วยการยกตัวอย่างให้เห็นว่าการคิดอย่างเป็นระบบนั้นมันอยู่รอบ ๆ ตัวเรา บางครั้งมันก็เป็นเรื่องง่าย ๆ ที่เรามองข้ามไป
(หมายเหตุเรื่องที่จะเล่าต่อไปนี้ มาจากเรื่องจริง แต่อาจมีการดัดแปลงคำพูดบางอย่าง และตัวละครเพื่อให้มีความเหมาะสม :))
หลายปีก่อนนักศึกษาป.ตรีที่เป็นนักศึกษาในที่ปรึกษาผม นำเล่มที่จะต้องใช้ขึ้นสอบหัวข้อมาให้ดูเป็นครั้งแรก นักศึกษาเขียนมาครบสามบทที่ต้องมีในการสอบ แต่นักศึกษาใช้วิธีรันเลขรูปแบบนี้สมมติบทที่ 1 มี 10 รูป ก็รันไปรูปที่ 1 ไปถึงรูปที่ 10 พอขึ้นบทที่ 2 ก็เริ่มตั้งแต่รูปที่ 11
ผม: คุณได้เคยเปิดเล่มของรุ่นพี่ดูบ้างไหมว่าเขารันเลขรูปยังไง
นศ.: ไม่เคยครับ
ผม: (เอาเล่มรุ่นพี่ให้ดู) เขารันยังไง
นศ.: เขารันแบบบทที่ 1 ก็ใช้รูป 1.1 1.2 ไปเรื่อย ๆ พอบทที่ 2 ก็เริ่มรันจาก 2.1 2.2 โอเค ผมเข้าใจแล้วครับ เดี๋ยวกลับไปแก้เลยครับ สวัสดีครับ
ผม: เดี๋ยว รู้ไหมทำไมเขาทำแบบนี้
นศ.: (ทำหน้าครุ่นคิดอยู่พักหนึ่ง) เอ้อ เพื่อความเป็นระเบียบหรือครับ
ผม: อืม มองไม่ออกจริง ๆ หรือ คุณลองคิดสิว่าถ้ารันเลขรูปแบบคุณ สมมติว่าถ้าผมบอกว่าให้คุณไปเพิ่มรูปในบทที่ 1 ไปรูปหนึ่งมันจะเกิดอะไรขึ้น
นศ.: (ทำหน้าแบบเกิดความรู้แจ้งสุดขีด) โอ้วเข้าใจแล้วครับ ผมก็ต้องไปรันเลขรูปใหม่ทั้งหมดในบทที่ 2 และบทที่ 3 ด้วย แต่ถ้าทำแบบพี่การเพิ่มหรือลดรูปในบทที่ 1 ก็จะไม่กระทบส่วนที่เหลือของเล่มครับ ขอบคุณครับ สวัสดีครับ
ผม: เดี๋ยว
นศ.: (ทำหน้าแบบจะเอายังไงกับตูอีกวะ)
ผม: แล้วรู้ตัวไหมว่ามันน่าอายที่เราซึ่งเป็นนักศึกษาวิทยาการคอมพิวเตอร์ แต่เราไม่สามารถประยุกต์ความรู้ที่เราเรียนและใช้มาตลอดเวลาที่เราทำโปรแกรมมาใช้กับสิ่งที่อยู่ในชีวิตประจำวันของเราได้ ไหนลองตอบหน่อยสิว่าสิ่งที่รุ่นพี่ทำนี่มันน่าจะตรงกับอะไรในสิ่งที่เราเรียนและใช้ทำโปรแกรมมา
นศ.: (ทำหน้าแบบ จัดเล่มมันเกี่ยวอะไรกับทำโปรแกรมวะ ผ่านไปสักครู่ ทำหน้าแบบเกิดความรู้แจ้งสุดขีด) ได้แล้วครับ Modular Design ครับอาจารย์ ถ้าเราออกแบบและพัฒนาเป็นโมดูล การแก้ไขใด ๆ ก็จะกระทบเฉพาะในโมดูลนั้น
ผม: เออ ดีแล้ว เข้าใจแล้วนะ ไปได้ อาจารย์จะได้ดู Netflix ต่อ เอ๊ยไม่ใช่ทำงานต่อ
ก่อนอื่นต้องบอกว่าถ้าเราได้ติดตามข่าวด้านการศึกษาในช่วงสองสามปีมานี้ จะพบว่าทางกระทรวงศึกษาธิการได้มีการปรับปรุงหลักสูตรที่เริ่มใช้ในปีการศึกษา 2561โดยเปลี่ยนวิชาเทคโนโลยีสารสนเทศจากหมวดการงาน มาเป็นวิชาวิทยาการคำนวณในหมวดวิทยาศาสตร์ ซึ่งโค้ดดิงเป็นส่วนหนึ่งของวิทยาการคำนวณ ดังนั้นเรื่องการโค้ดดิงนี้จึงไม่ใช่เรื่องใหม่ที่จะมาคิดริเริ่มจากกระทรวงศึกษาในรัฐบาลนี้ ซึ่งจุดประสงค์ของวิทยาการคำนวณนั้นเท่าที่ติดตามดู ไม่ได้ตั้งใจจะสร้างเด็กออกไปเป็นนักพัฒนาโปรแกรม แต่ต้องการสร้างกระบวนการคิดอย่างเป็นระบบ สามารถใช้งานเทคโนโลยีดิจิทัล และรู้เท่าทันสื่อสมัยใหม่ เพื่อให้มันติดตัวเขาไปไม่ว่าในอนาคตเขาจะไปประกอบอาชีพใด เข้าใจว่าเด็กที่เรียนในปี 2561 จะเป็นเด็ก ป.1 ป.4 ม.1 และ ม.4
ในแง่ที่เกี่ยวข้องกับโค้ดดิง ในเด็กเล็กประถมต้น เขาจะไม่ได้ให้เรียนเขียนโปรแกรมกับคอมพิวเตอร์ แต่จะสร้างการคิดอย่างเป็นระบบผ่านทางเครื่องมืออย่างการ์ดคำสั่ง หรือเกมกระดาน (board game) เป็นต้น เด็กป.4 จะได้เรียนการเขียนโปรแกรมผ่านทางภาษาโปรแกรมประเภท Block Programming คือลักษณะการเขียนโปรแกรมที่นำเอา Block คำสั่งมาเรียงต่อกัน ซึ่งภาษาที่เขาจะให้เรียนคือ Scratch ซึ่งจะให้เรียนในชั้น ป.4 ส่วนเด็กมัธยมก็จะได้เรียนเขียนโปรแกรมด้วยภาษา Python ซึ่งเป็นภาษาที่เรียนรู้ได้ง่าย เท่าที่ตามข่าวมาและพยายามทำความเข้าใจก็คือเขาน่าจะไม่ได้ให้เด็กไปเน้นที่ตัวไวยากรณ์ของภาษา ดังนั้นภาษาเขียนโปรแกรมที่เลือกใช้จึงเป็นภาษาที่เข้าใจง่าย เพื่อให้ผู้เรียนได้เน้นที่กระบวนการคิดแก้ปัญหาอย่างมีตรรกะ และเป็นระบบมากกว่า
ในส่วนของคำว่าโค้ดดิงผมขออ้างอิงจาก Facebook ของ อ.ยืน ภู่วรวรรณ ปรมาจารย์ด้านวิทยาการคอมพิวเตอร์ของประเทศไทยคนหนึ่งที่บอกว่า
"โค้ดดิ้ง (Coding) เป็น Broader term ส่วน คอมพิวเตอร์ โค้ดดิ้ง (Computer coding) หรือ โปรแกรมมิ่ง (Programming) เป็น Narrow term คือมีความหมายที่แคบกว่า หรือเป็น Subset
โค้ด คือรหัส หรือการทำสัญลักษณ์ การโค้ดดิ้งคือ การเขียนสัญลักษณ์ เพื่อการบอกลำดับขั้นตอน ลำดับความคิด เพื่อสื่อสารให้เข้าใจกัน"
ดังนั้นการโค้ดดิงคืออะไรก็ได้ที่เกี่ยวข้องอยู่ในชีวิตประจำวันของเรา เราเขียนอธิบายเส้นทางเพื่อให้คนส่งของมาส่งของที่บ้านเราถูกมันก็คือการโค้ดดิงแบบหนึ่ง การเขียนหนังสือการเขียนบทความให้อ่านรู้เรื่องก็เป็นการโค้ดดิงแบบหนึ่ง ดังนั้นจะเห็นว่าถ้าเราสามารถคิดและสื่อสารได้อย่างเป็นระบบแล้ว มันก็จะเป็นประโยชน์กับเราไม่ว่าเราจะทำอาชีพอะไร พูดถึงตรงนี้แล้วผมก็อยากบอกอีกครั้งว่า (เข้าใจว่าน่าจะเคยเขียนไปในบล็อกก่อน ๆ บ้างแล้ว) สิ่งที่อยากให้นำกลับมาในระบบการศึกษาระดับประถมมัธยมของเราก็คือวิชาเขียนเรียงความ เพราะจากประสบการณ์ดูแลปริญญานิพนธ์ของนักศึกษาตั้งแต่ป.ตรีถึงป.เอก พบว่าหลายคนเขียนกันไม่ค่อยจะเป็น คือบางครั้งไม่มีที่มาที่ไป ไม่มีความเชื่อมโยงสัมพันธ์กัน เขียนแล้วจับใจความไม่ได้ว่าจะสื่อถึงอะไร
กลับมาที่โค้ดดิงที่เกี่ยวกับการเขียนโปรแกรม ที่น่าจะเป็นประเด็นที่ถกเถียงกันอยู่ตอนนี้ รมต.ช่วยศึกษาธิการจากพรรคประชาธิปัตย์ ชูประเด็นเรื่องโค้ดดิง และพูดถึงคำว่าภาษาที่สาม และบอกว่าโค้ดดิงไม่ต้องใช้คอมพิวเตอร์ก็ได้ ในความเห็นส่วนตัวคงต้องจับประเด็นก่อนว่ารมต.จะพูดถึงอะไรกันแน่ ถ้าพูดถึงโค้ดดิงในแบบภาพกว้าง ตามที่อ.ยืนบอก อันนี้ก็ใช่อาจไม่ต้องใช้คอมพิวเตอร์ก็ได้ เพราะการแสดงแนวคิดของโปรแกรมนั้นสามารถทำได้โดยไม่ต้องใช้คอมพิวเตอร์ อย่างเช่นการเขียนโฟลว์ชาร์ต (flowchart) หรือรหัสเทียม (pseudo code) ซึ่งอันนี้จะหมายถึงภาษาที่สามของรมต.หรือเปล่า?
แต่ถ้าภาษาที่สามหมายถึงภาษาเขียนโปรแกรม ส่วนตัวเห็นว่าการเรียนเขียนโปรแกรมด้วยภาษาสมัยใหม่ที่เข้าใจง่าย มีไวยากรณ์ไม่ซับซ้อนอย่างภาษา Python หรือ Block Programming แบบ Scratch การนั่งเขียนอยู่หน้าจอคอมพิวเตอร์จะเข้าใจได้ง่ายกว่า ไม่ต้องไปเขียนลงกระดาษก่อนให้เสียเวลา เพราะผู้เรียนสามารถมองเห็นผลการทำงานของตัวโปรแกรมได้ทันที ในโปรแกรมที่ไม่มีความซับซ้อน และใช้ภาษาโปรแกรมสมัยใหม่ (จริง ๆ ถ้าคล่องแล้วแม้แต่ภาษาสมัยเก่าก็ใช้ได้นะ) ผมว่าไม่มีความจำเป็นที่จะต้องไปเขียนโฟลว์ชาร์ต หรือรหัสเทียม ก่อนด้วยซ้ำ เพราะตัวภาษาเองก็เข้าใจง่ายพอ ๆ กับเขียนรหัสเทียมอยู่แล้ว อันนี้ไม่ได้บอกว่าไม่จำเป็นต้องรู้จักการเขียนโฟลว์ชาร์ต หรือการเขียนรหัสเทียมนะครับ เพราะมันยังเป็นประโยชน์อยู่ในการสื่อสารอะไรที่มันซับซ้อน หรือต้องการสื่อสารแนวคิดที่ไม่ผูกติดกับภาษาเขียนโปรแกรมภาษาใดภาษาหนึ่ง อีกประการหนึ่งก็คือ ภาษาเขียนโปรแกรมมีมากมายหลายภาษา แต่ละภาษาก็มีจุดดีจุดด้อย มีความเหมาะสมกับงานต่าง ๆ ไม่เหมือนกัน ถ้าจะให้เด็กรู้จักภาษาเขียนโปรแกรมเป็นภาษาที่สามควรใช้ภาษาอะไรดี
ดังนั้นการโค้ดดิงและภาษาที่สามน่าจะหมายถึงการทำให้เด็กคิดแก้ปัญหาได้อย่างมีตรรกะ และสื่อสารได้อย่างเป็นระบบหรือเปล่า? ซึ่งตรงนี้เท่าที่อ่านจากหลาย ๆ สื่อ มีคนบอกว่าถ้าจะหมายถึงอย่างนี้เปลี่ยนจากคำว่าโค้ดดิงเป็นอย่างอื่นดีไหม เช่นความสามารถในการแก้ปัญหา (problem solving) อย่างเป็นระบบอะไรแบบนี้ ซึ่งตรงนี้ผมว่ามีความสำคัญนะครับ เพราะถ้าไม่สื่อสารชี้แจงกันให้ดี ผมว่าเดี่ยวมันก็จะกลายเป็นเหมือนการสอนภาษาอังกฤษในบ้านเราที่เน้นกันแต่ไวยากรณ์ แต่เอาไปพูดกับฝรั่งไม่ได้ การเรียนโค้ดดิงนี่ก็อาจจะกลายเป็นเน้นอะไรแบบนี้ เธอเขียนสัญญลักษณ์ของโฟลว์ชาร์ตตัวนี้ผิดนะ หรือคำสั่ง "Print()" ของเธอผิดนะ เพราะเธอใช้ P จริง ๆ ต้องใช้ p อะไรแบบนี้
สุดท้ายผมขอจบบล็อกนี้ด้วยการยกตัวอย่างให้เห็นว่าการคิดอย่างเป็นระบบนั้นมันอยู่รอบ ๆ ตัวเรา บางครั้งมันก็เป็นเรื่องง่าย ๆ ที่เรามองข้ามไป
(หมายเหตุเรื่องที่จะเล่าต่อไปนี้ มาจากเรื่องจริง แต่อาจมีการดัดแปลงคำพูดบางอย่าง และตัวละครเพื่อให้มีความเหมาะสม :))
หลายปีก่อนนักศึกษาป.ตรีที่เป็นนักศึกษาในที่ปรึกษาผม นำเล่มที่จะต้องใช้ขึ้นสอบหัวข้อมาให้ดูเป็นครั้งแรก นักศึกษาเขียนมาครบสามบทที่ต้องมีในการสอบ แต่นักศึกษาใช้วิธีรันเลขรูปแบบนี้สมมติบทที่ 1 มี 10 รูป ก็รันไปรูปที่ 1 ไปถึงรูปที่ 10 พอขึ้นบทที่ 2 ก็เริ่มตั้งแต่รูปที่ 11
ผม: คุณได้เคยเปิดเล่มของรุ่นพี่ดูบ้างไหมว่าเขารันเลขรูปยังไง
นศ.: ไม่เคยครับ
ผม: (เอาเล่มรุ่นพี่ให้ดู) เขารันยังไง
นศ.: เขารันแบบบทที่ 1 ก็ใช้รูป 1.1 1.2 ไปเรื่อย ๆ พอบทที่ 2 ก็เริ่มรันจาก 2.1 2.2 โอเค ผมเข้าใจแล้วครับ เดี๋ยวกลับไปแก้เลยครับ สวัสดีครับ
ผม: เดี๋ยว รู้ไหมทำไมเขาทำแบบนี้
นศ.: (ทำหน้าครุ่นคิดอยู่พักหนึ่ง) เอ้อ เพื่อความเป็นระเบียบหรือครับ
ผม: อืม มองไม่ออกจริง ๆ หรือ คุณลองคิดสิว่าถ้ารันเลขรูปแบบคุณ สมมติว่าถ้าผมบอกว่าให้คุณไปเพิ่มรูปในบทที่ 1 ไปรูปหนึ่งมันจะเกิดอะไรขึ้น
นศ.: (ทำหน้าแบบเกิดความรู้แจ้งสุดขีด) โอ้วเข้าใจแล้วครับ ผมก็ต้องไปรันเลขรูปใหม่ทั้งหมดในบทที่ 2 และบทที่ 3 ด้วย แต่ถ้าทำแบบพี่การเพิ่มหรือลดรูปในบทที่ 1 ก็จะไม่กระทบส่วนที่เหลือของเล่มครับ ขอบคุณครับ สวัสดีครับ
ผม: เดี๋ยว
นศ.: (ทำหน้าแบบจะเอายังไงกับตูอีกวะ)
ผม: แล้วรู้ตัวไหมว่ามันน่าอายที่เราซึ่งเป็นนักศึกษาวิทยาการคอมพิวเตอร์ แต่เราไม่สามารถประยุกต์ความรู้ที่เราเรียนและใช้มาตลอดเวลาที่เราทำโปรแกรมมาใช้กับสิ่งที่อยู่ในชีวิตประจำวันของเราได้ ไหนลองตอบหน่อยสิว่าสิ่งที่รุ่นพี่ทำนี่มันน่าจะตรงกับอะไรในสิ่งที่เราเรียนและใช้ทำโปรแกรมมา
นศ.: (ทำหน้าแบบ จัดเล่มมันเกี่ยวอะไรกับทำโปรแกรมวะ ผ่านไปสักครู่ ทำหน้าแบบเกิดความรู้แจ้งสุดขีด) ได้แล้วครับ Modular Design ครับอาจารย์ ถ้าเราออกแบบและพัฒนาเป็นโมดูล การแก้ไขใด ๆ ก็จะกระทบเฉพาะในโมดูลนั้น
ผม: เออ ดีแล้ว เข้าใจแล้วนะ ไปได้ อาจารย์จะได้ดู Netflix ต่อ เอ๊ยไม่ใช่ทำงานต่อ
สมัครสมาชิก:
บทความ (Atom)