แนวคิดเชิงคำนวณ (Computational thinking) เป็นกระบวนการวิเคราะห์ปัญหา เพื่อให้ได้แนวทางการหาคำตอบอย่างเป็นขั้นตอนที่สามารถนำไปปฏิบัติได้อย่างถูกต้อง ซึ่งเรียกว่า “อัลกอริทึม”
(Computational Thinking) คือ การสอนที่เน้นกระบวนการแก้ปัญหาในหลากหลายลักษณะ เช่น การจัดลำดับเชิงตรรกศาสตร์ การวิเคราะห์ข้อมูล โค้ดดิ้ง และการสร้างสรรค์วิธีแก้ปัญหาไปทีละขั้นทีละตอน(อัลกอริทึ่ม) รวมทั้งการย่อยปัญหาที่ช่วยให้รับมือกับปัญหาที่ซับซ้อนหรือมีลักษณะเป็นคำถามปลายเปิดได้อย่างเหมาะสม อีกทั้งยังรวมไปถึงการบูรณาการแนวคิดหรือทักษะแนวคิดเชิงคำนวณกับสาขาวิชาต่าง ๆเพื่อให้ผู้เรียนสามารถนำไปใช้แก้ปัญหาในสถานการณ์ต่าง ๆ ในชีวิตประจำวันได้
แนวคิดเชิงคำนวณ (Computational Thinking) มีประโยชน์อย่างไร
แนวคิดเชิงคำนวณมีประโยชน์อย่างไร?
ประโยชน์ของการสอนโดยใช้แนวคิดเชิงคํานวณคือ การให้ผู้เรียนมีวิธีคิดที่เกิดกระบวนการแก้ปัญหาโดยสามารถวิเคราะห์และคิดอย่างมีตรรกะ เป็นระบบและสร้างสรรค์ รวมทั้งสามารถนำวิธีคิดเชิงคำนวณไปปรับใช้แก้ไขปัญหาในสาขาวิชาต่าง ๆ ได้อย่างกว้างขวาง เป็นประโยชน์ในการต่อยอดองค์ความรู้ต่างๆต่อไป
กระบวนแนวคิดเชิงคำนวณ (Computational Thinking)
องค์ประกอบแนวคิดเชิงคํานวณที่สำคัญมีอยู่ 4 ส่วนที่สำคัญและเป็นหลักการพื้นฐานในการเรียนรู้แนวคิดเชิงคํานวณเพื่อให้เกิดการเข้าใจปัญหาและนำไปวิเคราะห์ด้วยวิธีที่เหมาะสม ซึ่งองค์ประกอบต่าง ๆ ที่สามารถกระตุ้นให้ผู้ศึกษาเกิดแนวคิดเชิงคำนวณได้มี ดังนี้
Decomposition (การย่อยปัญหา)
การย่อยปัญหา หรือ decomposition คือ การทำให้ปัญหาที่ซับซ้อนย่อยออกเป็นส่วนเล็กๆ เพื่อให้ง่ายต่อการจัดการและแก้ปัญหา เช่น การเขียนโปรแกรมแยกเป็นส่วน ๆ แยกเป็นแพ็กเกจ แยกเป็นโมดูล หรือมองเป็น layer หรือการแบ่งปัญหาเมื่อจะแก้ไขอุปกรณ์ด้วยการแยกการทำงานแต่ละส่วนออกแล้วสังเกตและทดสอบการทำงานของแต่ละองค์ประกอบ จะทำให้เข้าใจได้ง่ายกว่าการวิเคราะห์จากระบบใหญ่ที่ซับซ้อน
ตัวอย่างเช่น ปัญหาคือ เราได้รับมอบหมายให้สร้างบ้าน 1 หลัง เมื่อฟังปัญหาแล้วมองว่า ยากมาก สร้างบ้านต้องทำยังไง จับต้นชนปลายไม่ถูก เมื่อเราวิเคราะห์ปัญหานี้แล้วว่าสามารถแยกออกเป็นส่วนย่อยได้ว่า บ้าน ประกอบด้วย ห้องนอน ห้องน้ำ ห้องนั่งเล่น ห้องครัว ฯลฯ แล้วเราแบ่งงานออกแบบและสร้างไปทีละห้อง เมื่อทำเสร็จแล้วจะเห็นว่าเราได้ทำการสร้างบ้านได้แล้วนั่นเอง การบอกให้สร้างห้องนอน (และห้องอื่น ๆ) ฟังดูแล้วเรียบง่ายและซับซ้อนน้อยกว่าสร้างบ้านอย่างมาก
Pattern Recognition (การจดจำรูปแบบ)
การจดจำรูปแบบ หรือ pattern recognition คือ เมื่อเราย่อยปัญหาออกเป็นส่วนเล็ก ๆ ขั้นตอนต่อไปคือการหารูปแบบหรือลักษณะที่เหมือนกันของปัญหาเล็ก ๆ เหล่านั้นที่ถูกย่อยออกมา หากมีรูปแบบของปัญหาที่คล้ายกันสามารถนำวิธีการแก้ปัญหานั้นมาประยุกต์ใช้ และพิจารณารูปแบบปัญหาย่อยซึ่งอยู่ภายในปัญหาเดียวกันว่ามีส่วนใดที่เหมือนกัน เพื่อใช้วิธีการแก้ปัญหาเดียวกันได้ ทำให้จัดการกับปัญหาได้ง่ายขึ้น และส่งผลให้การทำงานมีประสิทธิภาพเพิ่มขึ้น
Abstraction (ความคิดด้านนามธรรม)
การคิดเชิงนามธรรม หรือ Abstraction คือ องค์ประกอบแนวคิดเชิงคํานวณที่เป็นกระบวนการคัดแยกคุณลักษณะที่สำคัญออกจากรายละเอียดปลีกย่อย ในปัญหาหรืองานที่กำลังพิจารณา เพื่อให้ได้ข้อมูลที่จำเป็นและเพียงพอในการแก้ปัญหา กล่าวอีกอย่างก็คือการแยกรายละเอียดที่สำคัญและจำเป็นต่อการแก้ปัญหาออกจากรายละเอียดที่ไม่จำเป็น ซึ่งรวมไปถึงการแทนกลุ่มของปัญหา ขั้นตอน หรือกระบวนการที่มีรายละเอียดปลีกย่อยหลายขั้นตอนด้วยขั้นตอนใหม่เพียงขั้นตอนเดียว
Algorithm Design (การออกแบบอัลกอริทึ่ม)
การออกแบบอัลกอริทึ่ม หรือ Algorithm Design คือ การพัฒนากระบวนการหาคำตอบให้เป็นขั้นตอนที่บุคคลหรือคอมพิวเตอร์สามารถนำไปปฏิบัติตามเพื่อแก้ปัญหาได้ อีกทั้งยังเป็นการพัฒนาแนวทางแก้ปัญหาอย่างเป็นขั้นเป็นตอน และจากนั้นดำเนินตามทีละขั้นตอนในการแก้ไขปัญหาอย่างเป็นระบบตามแผนที่วางไว้
ในการแก้ปัญหาแต่ละอย่างอาจไม่จำเป็นที่จะต้องใช้องค์ประกอบแนวคิดเชิงคำนวณอย่างใดอย่างหนึ่ง หรือไม่จำเป็นที่จะต้องใช้องค์ประกอบทั้งหมด ทั้งนี้ทั้งนั้นอยู่ที่ปัญหาที่เราได้พบว่าควรจะแก้อย่างไร ควรใช้องค์ประกอบใดบ้างในการแก้ไขจึงจะเหมาะสมที่สุด เช่น หากเราประสบปัญหาว่ารถมีปัญหากลางทางขณะกำลังเดินทางไกล
เราสามารถใช้องค์ประกอบการจดจำรูปแบบ เพื่อเทียบว่ารถของเราเคยเป็นแบบนี้มั้ย ถ้าเคยเป็นแล้วแก้ปัญหาอย่างไร หรือหากไม่เคยประสบด้วยตัวเองก็ต้องหาข้อมูลว่ามีใครเคยมีปัญหาแบบนี้และหาวิธีแก้ไขด้วยตนเองเบื้องต้น
นอกจากนี้ยังสามารถใช้องค์ประกอบความคิดด้านนามธรรมได้โดยหาข้อมูลว่ารถของเรามีอาการแบบนี้เกิดจาก ส่วนไหนของรถมีปัญหา เราจึงจะได้ไม่ต้องเสียเวลาไปกับส่วนอื่นๆที่ไม่มีปัญหา
สรุปแนวคิดเชิงคำนวณ หลักการเรียนรู้รูปแบบใหม่
จากทั้งหมดที่กล่าวมาข้างต้นสามารถสรุปแนวคิดเชิงคำนวณ (Computational thinking) ได้ว่า เป็นพื้นฐานของการคิดแก้ปัญหาต่าง ๆ ที่สามารถนำไปประยุกต์ในการแก้ปัญหาในชีวิตประจำวัน โดยความท้าทายหลักของแนวคิดเชิงคำนวณอยู่ที่การออกแบบกระบวนการแก้ปัญหาที่คลุมเครือให้เป็นขั้นตอนที่ชัดเจนมากพอที่จะนำไปแก้ปัญหาได้ โดยส่วนใหญ่มักจะนำไปบูรณาการกับวิชา วิทยาศาสตร์ คณิตศาสตร์ และเทคโนโลยี
โดยแนวคิดเชิงคํานวณ มีองค์ประกอบ 4 ส่วน ได้แก่ Decomposition (การย่อยปัญหา) Pattern Recognition (การจดจำรูปแบบ) Abstraction (ความคิดด้านนามธรรม) Algorithm Design (การออกแบบอัลกอริทึ่ม) ที่เป็นองค์ประกอบหลักในการแก้ไขปัญหาตามหลักการวิทยาการคำนวณ เพื่อให้ผู้เรียนสามารถนำไปประยุกต์ใช้ได้กับปัญหาต่างๆที่เกิดขึ้นในชีวิตประจำวัน
คำถามชวนคิด การเขียนโปรแกรมใช้หลักการใดของแนวคิดเชิงคำนวณ
หากเราจะมาตั้งคำถามให้ชวนคิดกันเล่นๆว่าการเขียนโปรแกรมใช้หลักการใดของแนวคิดเชิงคำนวณบ้าง ซึ่งการเขียนโปรแกรมนั้นเป็นตัวเลือกที่คนในยุคใหม่นี้เลือกที่จะฝึกให้เป็นทักษะติดตัวเพิ่มเติม เรียกได้ว่าเป็นตัวเลือกที่มาควบคู่กับการฝึกภาษาที่สามกันเลยทีเดียว เนื่องจากโลกในปัจจุบันมีนวัตกรรมและเทคโนโลยีที่เติบโตอย่างก้าวกระโดด ผู้คนยุคใหม่จึงเลือกที่จะฝึกการเรียนเขียนโปรแกรมหรือฝึกภาษาคอมพิวเตอร์กันนั่นเอง
ในคำตอบของคำถามที่ว่า การเขียนโปรแกรมใช้หลักการใดของแนวคิดเชิงคำนวณ? นั่นก็คือ การเขียนโปรแกรมนั้นใช้หลักการทุกอย่างของแนวคิดเชิงคำนวณ อีกทั้งยังจำเป็นที่จะต้องใช้องค์ประกอบต่างๆอย่างเป็นขั้นเป็นตอนเมื่อระบุปัญหาหรือตั้งโจทย์ได้แล้วนั้น ก็จะเริ่มเข้าสู่วิธีคิดโดยใช้แนวคิดเชิงคำนวณทันที
โดยเริ่มตั้งแต่การย่อยปัญหาต่าง ๆ จากปัญหาใหญ่ออกมา จากนั้นจึงมาวิเคราะห์ลักษณะและหาความเหมือนและต่างกันของแต่ละปัญหาย่อยซึ่งอยู่ในขั้นตอนของการจดจำรูปแบบ นำมาแยกรายละเอียดที่สำคัญและจำเป็นต่อการแก้ปัญหาออกจากรายละเอียดที่ไม่จำเป็นซึ่งเป็นขั้นตอนของการคิดเชิงนามธรรม และสุดท้ายคือการออกแบบอัลกอริทึ่ม หรือ Algorithm Design คือ การหาคำตอบให้เป็นขั้นตอนที่สามารถนำไปปฏิบัติตามเพื่อแก้ปัญหาได้
รู้จักอัลกอริทึมเบื้องต้น
ขอบคุณแหล่งที่มาเนื้อหา : https://codegeniusacademy.com/computational-thinking/