ความหมาย
แนวคิดเชิงคำนวณ (Computational Thinking) หมายถึง แนวคิดในการแก้ปัญหา ที่มีกระบวนการแก้ปัญหาเป็นลำดับขั้นตอนอย่างเป็นระบบ ทั้งมนุษย์และคอมพิวเตอร์สามารถเข้าใจและนำไปปฏิบัติได้อย่างถูกต้อง แม่นยำ เป็นทักษะสำคัญในการแก้ปัญหา
แนวคิดเชิงคำนวณเป็นแนวคิดสำคัญสำหรับนักพัฒนาซอฟแวร์ แต่สามารถนำมาประยุกต์ในการแก้ปัญหาในชีวิตประจำวันได้
องค์ประกอบของแนวคิดเชิงคำนวณ
การแยกส่วนประกอบและย่อยปัญหา (Decomposition)
เป็นการแตกปัญหาใหญ่ ให้เป็นปัญหาย่อยที่ซับซ้อนน้อยลง เพื่อให้สามารถจัดการปัญหาได้ง่าย เช่น หากต้องการเข้าใจว่าระบบของคอมพิวเตอร์ว่าทำงานอย่างไร ทำได้โดยการแยกคอมพิวเตอร์ออกเป็นส่วนๆ ได้แก่ หน่วยรับข้อมูล หน่วยประมวลผล และหน่วยแสดงผล แล้วสังเกตและทดสอบการทำงานของแต่ละองค์ประกอบ จะเข้าใจได้ง่ายกว่าวิเคราะห์จากระบบใหญ่ที่ซับซ้อนกว่า
การหารูปแบบ (Pattern Recognition)
เป็นการหารูปแบบ ความเหมือนหรือความคล้ายคลึงกันจากปัญหาย่อยแต่ละส่วน ซึ่งรูปแบบที่เหมือนหรือคล้ายคลึงกันเราอาจใช้วิธีแก้ปัญหาที่คล้ายกันได้ เช่น หากต้องวาดรูปสุนัข สุนัขทั้งหลายย่อมมีลักษณะบางอย่างที่เหมือนกัน พวกมันมีตา หาง ขน และเห่า ลักษณะที่มีร่วมกันนี้ เราเรียกว่ารูปแบบ เมื่อเราสามารถอธิบายสุนัขตัวหนึ่งได้ เราจะอธิบายลักษณะของสุนัขตัวอื่นๆ ได้ ตามรูปแบบที่เหมือนกันนั่นเอง
การออกแบบขั้นตอนวิธี (Algorithm)
เป็นการออกแบบพัฒนากระบวนการแก้ปัญหาให้เป็นขั้นตอนที่สามารถเข้าใจได้ และสามารถนำไปแก้ปัญหาที่มีลักษณะเดียวกันได้ เช่น เมื่อเราต้องการสั่งคอมพิวเตอร์ให้ทำงานบางอย่าง เราต้องเขียนโปรแกรมคำสั่งเพื่อให้มันทำงานไปตามขั้นตอน การวางแผนเพื่อให้คอมพิวเตอร์ทำงานตอบสนองความต้องการของเรา เรียกว่าวิธีคิดแบบอัลกอริทึ่ม คอมพิวเตอร์จะทำงานได้ดีเพียงใด ขึ้นอยู่กับชุดคำสั่งอัลกอริทึ่มที่เราสั่งให้มันทำงานนั่นเอง การออกแบบอัลกอริทึ่มยังเป็นประโยชน์ต่อการคำนวณ การประมวลผลข้อมูลและการวางระบบอัตโนมัติต่างๆ
การคิดเชิงนามธรรม (Abstraction)
เป็นการกำหนดหลักการ แยกรายละเอียดที่จำเป็นในการแก้ปัญหาออกจากรายละเอียดที่ไม่จำเป็น เช่น แม้ว่าสุนัขแต่ละตัวจะมีลักษณะเหมือนกัน แต่มันก็มีลักษณะเฉพาะตัวที่ต่างกัน เช่น สีตา สีขน ขนาดตัว ต่างกัน ความคิดด้านนามธรรมจะคัดกรองลักษณะที่ไม่ได้ร่วมกันกับสุนัขตัวอื่นๆ เหล่านี้ ออกไป เพราะรายละเอียดที่ไม่เกี่ยวข้องเหล่านี้ ไม่ได้ช่วยให้เราอธิบายลักษณะพื้นฐานของสุนัขในการวาดภาพมันออกมาได้ กระบวนการคัดกรองสิ่งที่ไม่เกี่ยวข้องออกไป และมุ่งที่รูปแบบซึ่งช่วยให้เราแก้ปัญหาได้เรียกว่าแบบจำลอง (model) เมื่อเรามีความคิดด้านนามธรรม จะช่วยให้เรารู้ว่าไม่จำเป็นที่สุนัขทุกตัวต้องหางยาวและมีขนสั้น หรือทำให้เรามีโมเดลความคิดที่ชัดเจนขึ้นนั่นเอง
💡 ตัวอย่างสถานการณ์: "ภารกิจจัดห้องนอนสุดรก ให้สะอาดใน 30 นาที"
สมมติว่าคุณแม่เดินมาบอกว่า “ถ้าอีก 30 นาทีห้องนอนยังไม่สะอาด อดไปเที่ยววันเสาร์นี้นะ!” เมื่อเราเปิดประตูห้องเข้าไปเจอ เสื้อผ้ากองเต็มเตียง หนังสือวางเกลื่อนพื้น และขยะบนโต๊ะเขียนหนังสือ... ถ้าเรายืนงงทำอะไรไม่ถูก เวลาหมดแน่ๆ!
เรามาใช้ แนวคิดเชิงคำนวณ กู้ชีพสถานการณ์นี้กัน
จากปัญหาใหญ่คือ "ห้องนอนรกมาก" เราจับแยกมันออกมาเป็นปัญหาย่อยๆ ที่จัดการง่ายขึ้น ดังนี้:
ปัญหาย่อยที่ 1: เสื้อผ้ากองอยู่บนเตียง
ปัญหาย่อยที่ 2: หนังสือและสมุดกระจายอยู่บนพื้น
ปัญหาย่อยที่ 3: ขยะและเศษกระดาษบนโต๊ะเรียน
มาสังเกตสิ่งที่มีลักษณะคล้ายกัน เพื่อจะได้จัดกลุ่มจัดการทีเดียว:
รูปแบบเสื้อผ้า: มีทั้งผ้าที่ใส่แล้ว (ต้องลงตะกร้า) และผ้าที่สะอาด (ต้องแขวนเข้าตู้)
รูปแบบของใช้/หนังสือ: ต้องเรียงเก็บไว้ที่ชั้นวางหนังสือเหมือนกัน
รูปแบบขยะ: ทุกอย่างที่เป็นขยะ ต้องกวาดลงถังขยะทั้งหมด
มุ่งเน้นไปที่เป้าหมายหลักคือ "ห้องสะอาดและเป็นระเบียบ" ส่วนรายละเอียดที่ไม่สำคัญต่อภารกิจนี้ให้ตัดออกไปก่อน เช่น:
ตัดออก: ลวดลายของเสื้อผ้าเป็นลายอะไร, หนังสือเล่มนี้สนุกไหม (ถ้ามัวแต่นั่งอ่านหนังสือการ์ตูนที่เจอ ทัน 30 นาทีแน่นอนล่ะสิ!), ขยะชิ้นนี้ซื้อมาจากไหน
นำทุกอย่างมาร้อยเรียงเป็นขั้นตอนวิธี (Algorithm) ที่เราสามารถทำตามได้ทันที:
ขั้นตอนการจัดห้องนอนกู้ชีพ:
หยิบถุงขยะเดินเคลียร์ก่อน: เดินไปที่โต๊ะและพื้น หยิบขยะทั้งหมดใส่ถุง (ใช้เวลา 3 นาที)
จัดการกองเสื้อผ้า: แยกผ้าสกปรกลงตะกร้า ส่วนผ้าสะอาดพับเก็บเข้าตู้ (ใช้เวลา 7 นาที)
เก็บหนังสือและของเล่น: รวบรวมจากพื้นไปจัดเรียงบนชั้นวางให้เรียบร้อย (ใช้เวลา 10 นาที)
ทำความสะอาดขั้นสุดท้าย: จัดหมอนบนเตียงให้ตรง กวาดพื้นสั้นๆ เป็นอันเสร็จพิธี! (ใช้เวลา 5 นาที)