บทความล่าสุด

การคิดเชิงคำนวณ (Computational Thinking) คืออะไร

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

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

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

          4 เสาหลัก ของการคิดเชิงคำนวณ  มีดังนี้

                   4.1 Decomposition (การย่อยปัญหา) หมายถึงการย่อยปัญหาหรือระบบที่ซับซ้อนออกเป็นส่วนเล็กๆ เพื่อให้ง่ายต่อการจัดการและแก้ปัญหา เช่น การบอกว่าอาหารที่เราไม่เคยทานแล้วได้ทดลองทานดูนั้นมีรสชาติ กลิ่น มาจากส่วนประกอบอะไรบ้าง (Materials) รูปแบบเบื้องต้น คือ การแจกแจงปัญหาไปสู่ส่วนประกอบย่อยเพื่อปรับปรุงให้ดีขึ้น

                   4.2 Pattern Recognition (การจดจำรูปแบบ) คือการมองหารูปแบบของปัญหา หรือสถานการณ์ (Pattern) ที่เกิดขึ้นซ้ำ ๆ เมื่อเราย่อยปัญหาออกเป็นส่วนเล็ก ๆ ขั้นตอนต่อไปคือการหารูปแบบหรือลักษณะที่เหมือนกันของปัญหาเล็กๆ ที่ถูกย่อยออกมา เช่น หากต้องวาดซีรีย์รูปแมว แมวทั้งหลายย่อมมีลักษณะบางอย่างที่เหมือนกัน พวกมันมีตา หาง ขน และชอบกินปลา และร้องเหมียว ๆ ลักษณะที่มีร่วมกันนี้ เราเรียกว่ารูปแบบ เมื่อเราสามารถอธิบายแมวตัว หนึ่งได้ เราจะอธิบายลักษณะของแมวตัวอื่น ๆ ได้ ตามรูปแบบที่เหมือนกันนั่นเอง

                   4.3 Abstraction (ความคิดด้านนามธรรม) คือการมองภาพรวมเพื่อนิยามสิ่งที่เป็นรายละเอียดปลีกย่อย มุ่งความคิด ไปที่ข้อมูลสำคัญ และคัดกรองส่วนที่ไม่เกี่ยวข้องออกไป เพื่อให้จดจ่อเฉพาะสิ่งที่เราต้องการจะทำ เช่น แม้ว่าแมว แต่ละตัวจะมีลักษณะเหมือนกัน แต่มันก็มีลักษณะเฉพาะตัวที่ต่างกัน เช่น มีตาสีเขียว ขนสีดำ ชอบกินปลาทู ความคิดด้านนามธรรมจะคัดกรองลักษณะที่ไม่ได้ร่วมกันกับแมวตัว อื่น ๆ เหล่านี้ออกไป เพราะรายละเอียดที่ไม่เกี่ยวข้อง เหล่านี้ ไม่ได้ช่วยให้เราอธิบายลักษณะพื้นฐานของแมวในการวาดภาพมันออกมาได้ กระบวนการคัดกรองสิ่งที่ไม่ เกี่ยวข้องออกไป และมุ่งที่รูปแบบซึ่งช่วยให้เราแก้ปัญหาได้เรียกว่าแบบจำลอง (Model) เมื่อเรามีความคิดด้านนามธรรม มันจะช่วยให้เรารู้ว่าไม่จำเป็นที่แมวทุกตัวต้องหางยาวและมีขนสั้น หรือทำให้เรามีโมเดลความคิดที่ ชัดเจนขึ้นนั่นเอง

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

การออกแบบอัลกอริทึมเป็นประโยชน์ต่อการคำนวณ

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

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

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

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

          การคิดเชิงคำนวณ เป็น “วิธีคิด" ให้เข้าใจกระบวนการแก้ปัญหา สามารถวิเคราะห์และคิดอย่างมีตรรกะ เป็นระบบ และสร้างสรรค์ รวมทั้งสามารถนำวิธีคิดเชิงคำนวณไปปรับใช้แก้ไขปัญหาในสาขาวิชาต่าง ๆ ได้อย่างกว้างขวาง เป็นประโยชน์ในการต่อยอดองค์ความรู้ต่างๆ ไปตลอดชีวิต

 

ที่มา : หลักสูตรฝึกอบรมเชิงปฏิบัติการ การส่งเสริมการเรียนรู้เพื่อพัฒนาทักษะด้านโค้ดดิ้ง สู่สังคมดิจิทัลในอนาคต

หน้า 18

2020-05-26