แนวคิดเชิงคำนวณ

การคิดเชิงคำนวณ (COMPUTATIONAL THINKING) คืออะไร มาทำความรู้จักกัน

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

 

computational thinking
computational thinking

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

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

    สรุปคำจำกัดความของการคิดเชิงคำนวณ

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

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

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

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

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

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

ติดตามบทความดีดีของเราได้ทาง http://school.dek-d.com