ห้องเรียนออนไลน์ครูปารณี
แนวคิดเชิงค ำนวณ (Computational Thinking) เป็นกระบวนการวิเคราะห์ปัญหา เพื่อให้ได้แนวทางหาคำตอบอย่างเป็นขั้นตอนที่สามารถนำไปปฏิบัติได้โดยบุคคลหรือคอมพิวเตอร์อย่างถูกต้อง การคิดเชิงคำนวณ เป็นกระบวนการแก้ปัญหาในหลากหลายลักษณะ เช่น การจัดลำดับเชิงตรรกศาสตร์ การวิเคราะห์ข้อมูล และการสร้างสรรค์วิธีแก้ปัญหาไปทีละขั้น รวมทั้งการย่อยปัญหาที่ช่วยให้รับมือกับปัญหาที่ซับซ้อนหรือมีลักษณะเป็นคำถามปลายเปิดได้วิธีคิดเชิงคำนวณ จะช่วยทำให้ปัญหาที่ซับซ้อนเข้าใจได้ง่ายขึ้น เป็นทักษะที่เป็นประโยชน์อย่างยิ่งต่อทุก ๆ สาขาวิชา และทุกเรื่องในชีวิตประจำวันซึ่งไม่ได้จำกัดอยู่เพียงการคิดให้เหมือนคอมพิวเตอร์แต่เป็นกระบวนการคิดแก้ปัญหาของมนุษย์ เพื่อสั่งให้คอมพิวเตอร์ทำงานและช่วยแก้ปัญหาตามที่เราต้องการได้อย่างมีประสิทธิภาพ
แนวคิดเชิงคำนวณมีองค์ประกอบที่สำคัญ 4 ส่วน ได้แก่
การแบ่งปัญหาใหญ่เป็นปัญหาย่อย (Decomposition)
การพิจารณารูปแบบ (Pattern Recognition)
การคิดเชิงนามธรรม (Abstraction) การออกแบบอัลกอริทึม (Algorithm)
ในบทเรียนนี้จะกล่าวเพียง การแบ่งปัญหาใหญ่เป็นปัญหาย่อย (Decomposition) เท่านั้น โดยมีรายละเอียดดังนี้
การแยกส่วนประกอบ และการย่อยปัญหา (Decomposition)
เป็นการแยกส่วนประกอบเป็นวิธีคิดรูปแบบหนึ่งของแนวคิดเชิงคำนวณ เป็นการพิจารณาเพื่อ แบ่งปัญหาหรืองานออกเป็นส่วนย่อย ทำให้สามารถ จัดการกับปัญหาหรืองานได้ง่ายขึ้น การแตกปัญหาที่ซับซ้อนให้เป็นปัญหาย่อยที่มีขนาดเล็กลงและซับซ้อนน้อยลง เพื่อช่วยให้การวิเคราะห์และออกแบบวิธีการแก้ปัญหาทำได้ง่ายขึ้น ในการเขียนโปรแกรมคอมพิวเตอร์ เช่น การเขียนโปรแกรมแยกเป็นส่วน ๆ แยกเป็นแพ็กเกจ แยกเป็นโมดูล หรือมองเป็น layer หรือการแบ่งปัญหาเมื่อจะแก้ไขอุปกรณ์ เช่น การแยกส่วนประกอบของพัดลม แบ่งเป็นใบพัด มอเตอร์ ตะแกรงหน้า ขอบตะแกรง ฝำครอบ ฐานพัดลม เป็นต้น หรือ การแยกส่วนประกอบของรถจักรยาน แบ่งเป็น ล้อหน้า ล้อหลัง หลังอาน โซ่ โช๊ค แฮนด์ มือเบรก เป็นต้น ถ้ามองในรายละเอียดของล้อจักรยานจะเห็นว่าประกอบด้วย ยางล้อ วงล้อ และซี่ลวด หรือถ้าพิจารณาชุด ขับเคลื่อนก็จะพบว่าประกอบด้วยเฟือง โซ่ และบันได เป็นต้น
การแก้ปัญหำที่มีความซับซ้อนทำได้ยาก การแบ่งปัญหาใหญ่ให้เป็นปัญหาย่อย ๆ ทำให้มีความซับซ้อนของปัญหาลดลง ช่วยให้การวิเคราะห์และพิจารณารายยละเอียดขอปัญหาทำได้อย่างถี่ถ้วน ส่งผลให้สามารถออกแบบขั้นตอนกำรแก้ปัญหาย่อยแต่ละปัญหาได้ง่ายขึ้น
กรณีตัวอย่างการแบ่งปัญหาใหญ่เป็นปัญหาย่อย (Decomposition)
1. รถของกวิน
กวิน เป็นคุณครูที่เด็ก ๆ รัก และกำลังจะเดินทางไปโรงเรียนในเช้าของวันนี้ แต่ด้วยกวินไม่สามารถสตาร์ทรถยนต์คู่ใจที่ใช้ทุกวันให้ติดได้ เนื่องจากเกิดปัญหา 3 ประการ ได้แก่ เมื่อคืนเปิดไฟในรถทิ้งไว้ทั้งคืนอาจจะทำให้แบตเตอรี่หมด หรือ ก่อนเข้าบ้านเขาไม่ได้เติมน้ำมันให้เต็มถัง อาจจะเป็นไปได้ว่าน้ำมันในถังเชิงเพลิงหมด หรืออาจจะเป็นปัญหาเครื่องยนต์ เมื่อกวินต้องการใช้แนวคิดเชิงคำนวณแก้ปัญหาที่เกิดขึ้น กวินจะสามารถแก้ปัญหาด้วยการแบ่งปัญหาใหญ่เป็นปัญหาย่อย ได้ดังนี้
การแบ่งปัญหาใหญ่เป็นปัญหาย่อย (Decomposition)
1. แบตเตอรี่หมด
2. น้ำมันเชื้อเพลิงหมด
3. เครื่องยนต์มีปัญหา
2. การพาจรวดไปดาวอังคาร
จากเว็บไซต์ https://csunplugged.org/en/topics/kidbots/unit-plan/sending-arocket-to-mars/ เป็นกิจกรรมที่จะให้จรวดเดินทางไปดาวอังคาร โดยใช้ลูกศรในการเดิน การหมุนเพื่อทำภาระกิจพิชิตดาวอังคารให้สำเร็จ เพื่อฝึกกระบวนการคิดเป็นขั้นตอนของผู้เรียน และกระบวนการแก้ปัญหา
ในชีวิตประจำวันของเรา เราไม่ได้ให้คำแนะนำตามที่กล่าวไว้ว่า "เลี้ยวขวา ก้าวไปข้างหน้าก้าวไปข้างหน้าอีก แล้วก้าวเลี้ยวขวา" คนส่วนใหญ่จะบอกว่าตรงไปที่ดาวอังคาร แต่เมื่อเขียนโปรแกรมจะต้องเจาะจงรายละเอียดการเดินทางไปดาวอังคารมากกว่าปกติ เพราะต้องบอกคอมพิวเตอร์ว่าจะทำอย่างไรในแต่ละขั้นตอน นอกจากนี้การสั่งให้โปรแกรมทำงานตามที่เราต้องการโดยระบุรายละเอียดแล้ว แทนที่จะพยายามแก้ไขปัญหาทั้งหมด จะเห็นได้ว่าเกมส่งจรวดไปดาวอังคาร ยังมีการแบ่งการเขียนโปรแกรมออกเป็นส่วนย่อย ๆ ทำให้งานมีน้อยลง ก็จะสามารถทำให้ถึงจุดหมายได้อย่างรวดเร็วขึ้น เช่นการแบ่งปัญหาใหญ่เป็นปัญหาย่อย (Decomposition)
1. เดินตรงไป 2 ช่อง
2. เลี้ยวขวา
3. เดินตรงไป 3 ช่อง
3. พัดลม
นอกจากการเขียนโปรแกรมสิ่งของในชีวิตประจำวันเช่น จะเรียนรู้ว่าพัดลมทำงานอย่างไร ก็ให้พิจารณาแยกชิ้นส่วนของพัดลมว่ามีอะไรบ้างและศึกษาทีละชิ้น การแบ่งปัญหาใหญ่เป็นปัญหาย่อย (Decomposition) ของพัดลม
1. มอเตอร์พร้อมกะโหลกหลังและฐำนพัดลม
2. ตะแกรงหลัง
3. ใบพัด
4. ตะแกรงหน้า
4. การเดินทาง
หากจะเดินทางไปเที่ยวหัวหิน จะมีการวางแผนเดินทางอย่างไร ซึ่งอาจแยกย่อยวิธีเดินทางเป็น 4 รูปแบบ เช่น ขับรถไปเอง นั่งรถทัวร์ นั่งรถตู้ หรือนั่งรถไฟ จากนั้นก็มาวิเคราะห์ถึงข้อดีข้อเสียแต่ละวิธีการ
การแบ่งปัญหาใหญ่เป็นปัญหาย่อย (Decomposition) การเดินทาง
1. ขับรถไปเอง
2. นั่งรถทัวร์
3. นั่งรถตู้
4. นั่งรถไฟ
วิเคราะห์ถึงข้อดีข้อเสียแต่ละวิธีการรวมถึงการคำนวณค่าใช้จ่ายของแต่ละวิธีการเดินทางเพื่อเลือกการเดินทางที่ดีที่สุด แนวคิดเชิงคำนวณ ที่เกี่ยวข้องกับการแบ่งปัญหาใหญ่เป็นปัญหาย่อย(Decomposition) นั้นเป็นการแตกปัญหาที่ซับซ้อนให้เป็นปัญหาย่อยที่มีขนาดเล็กลงและซับซ้อน น้อยลง เพื่อช่วยให้การวิเคราะห์และออกแบบวิธีการแก้ปัญหาทำได้ง่ายขึ้นทำให้คิดอย่างเป็นระบบมากยิ่งขึ้น โดยผ่านการแยกย่อยปัญหาต่าง ๆ เนื่องด้วยกระบวนงานบางกระบวนงาน มีวิธีการที่ทำงานอย่างเป็นขั้นตอน และมีระบบย่อย จึงมีความจำเป็นที่ต้องแยกปัญหานั้นออกมาเป็นส่วนย่อยๆ เพื่อสามารถศึกษาปัญหาของกระบวนการได้ชัดเจนยิ่งขึ้น
บรรณานุกรม
แหล่งที่มา
ชาญวิทย์ ศรีอุดม. (2562, 12 สิงหาคม). แนวคิดเชิงค ำนวณ. สืบค้นเมื่อ 12 สิงหำคม 2562. จากhttp://charnwit.in.th/?p=1302#.XX8Q4dUzbIU.
สถาบันส่งเสริมการสอนวิทยาศาสตร์และเทคโนโลยี. (2562). เทคโนโลยี (วิทยาการค ำนวณ). ส ำนักพิมพ์จุฬาลงกรณ์ : กรุงเทพมหานคร.
csunplugged.org. (2562, 12 สิงหาคม). กิจกรรมส่งจรวดไปดาวอังคาร สืบค้นเมื่อ 12 สิงหาคม 2562, จาก https://csunplugged.org/en/topics/kidbots/unit-plan/sending-a-rocket-tomars.
Tim Bell, Ian H. Witten and Mike Fellows. (2562). ซีเอส อันปลั๊กโปรแกรมเสริมสมรรถนะและขยายความสามารถของเด็กระดับประถมศึกษา. สถาบันเทคโนโลยีนานาชาติสิรินธร มหาวิทยาลัยธรรมศาสตร์ : ปทุมธานี