Computational thinking กระบวนการคิดยุคดิจิทัล

Computational Thinking หรือ CT หมายถึง ทักษะการคิดเชิงคำนวณ เป็นกระบวนการคิดที่ช่วยให้เราสามารถแก้ปัญหา วิเคราะห์ข้อมูล ตัดสินใจ และสร้างสรรค์สิ่งใหม่ๆ โดยใช้หลักการของวิทยาการคอมพิวเตอร์
Avatar photo how | May 16, 2024
Computational thinking กระบวนการคิดยุคดิจิทัล

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

ติดตามเนื้อหาที่น่าสนใจอื่นๆ ได้ที่ SPARK EDUCATION


Computational Thinking คืออะไร

Computational Thinking หรือ CT หมายถึง ทักษะการคิดเชิงคำนวณ เป็นกระบวนการคิดที่ช่วยให้เราสามารถแก้ปัญหา วิเคราะห์ข้อมูล ตัดสินใจ และสร้างสรรค์สิ่งใหม่ๆ โดยใช้หลักการของวิทยาการคอมพิวเตอร์ ประกอบไปด้วยกระบวนการคิด 4 รูปแบบได้แก่ การย่อยปัญหา (Decomposition), การจดจำรูปแบบ (Pattern Recognition), การออกแบบอัลกอริทึม (Algorithm Design) และ การสรุปผล (Abstraction)

หลักการของ Computational Thinking

CT   ประกอบด้วย 4   องค์ประกอบหลัก   ดังนี้

1. การย่อยปัญหา (Decomposition)

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

  • รับค่าตัวเลข
  • บวกค่าตัวเลขทั้งหมด
  • หารค่าผลรวมด้วยจำนวนตัวเลข
  • แสดงผลลัพธ์

ประโยชน์ของการการย่อยปัญหา

  • ช่วยให้เข้าใจปัญหาได้ง่ายขึ้น
  • ช่วยให้นักพัฒนาเขียนโปรแกรมได้อย่างมีลำดับ
  • ช่วยให้แก้ไขข้อผิดพลาดได้ง่ายขึ้น

2. การจำแนกรูปแบบ (Pattern Recognition)

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

  • การวิเคราะห์และเห็นรูปแบบของ สินค้าประเภทใดขายดี
  • การวิเคราะห์และเห็นรูปแบบของ สินค้าขายดีในช่วงเวลาใด เช้า เที่ยง เย็น ค่ำ
  • การวิเคราะห์และเห็นรูปแบบของ สินค้าขายดีในพื้นที่ใด สาขากลางเมือง สาขาชานเมือง

ประโยชน์ของการจดจำรูปแบบ

  • ช่วยให้เข้าใจข้อมูลได้ดีขึ้น
  • ช่วยให้คาดการณ์สิ่งที่จะเกิดขึ้นในอนาคต
  • ช่วยให้ตัดสินใจได้อย่างมีประสิทธิภาพ

3. การออกแบบอัลกอริทึม (Algorithm Design)

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

  • วนซ้ำแต่ละตัวอักษรในข้อความ
  • เปรียบเทียบตัวอักษรกับคำที่ต้องการค้นหา
  • ถ้าตรงกัน แสดงว่าพบคำที่ต้องการค้นหา

ประโยชน์ของการออกแบบอัลกอริทึม(Algorithm Design)

  • ช่วยให้แก้ปัญหาได้อย่างมีประสิทธิภาพ
  • ช่วยให้เขียนโปรแกรมได้อย่างมีประสิทธิภาพ
  • ช่วยให้แก้ไขข้อผิดพลาดได้ง่ายขึ้น

4. การสกัดส่วนสำคัญ (Abstraction)

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

ตัวอย่างเช่น สมมติว่ามีข้อมูลเกี่ยวกับผลการเรียนของนักเรียน เราสามารถสรุปผลดังนี้

  • นักเรียนส่วนใหญ่สอบผ่าน
  • นักเรียนบางคนสอบตก
  • นักเรียนที่มีคะแนนสูงเรียนพิเศษ

ประโยชน์ของการสกัดส่วนสำคัญ (Abstraction)

  • ช่วยให้เข้าใจประเด็นสำคัญได้ง่ายขึ้น
  • ช่วยให้ตัดสินใจได้อย่างมีประสิทธิภาพ
  • ช่วยให้สื่อสารข้อมูลได้อย่างมีประสิทธิภาพ

Computational thinking กับการโค้ดดิ้ง

  1. การย่อยปัญหา(Decomposition การแตกปัญหาเป็นการแบ่งปัญหาที่ใหญ่และซับซ้อนออกเป็นส่วนย่อยๆ ที่เล็กลงและจัดการได้ง่ายกว่า โดยแต่ละส่วนย่อยจะเป็นองค์ประกอบของปัญหาใหญ่นั้น การแตกปัญหาช่วยให้เราสามารถมองเห็นภาพรวมของปัญหาได้ชัดเจนขึ้น และสามารถเขียนโค้ดแก้ไขปัญหาแต่ละส่วนย่อยไปทีละขั้นตอน ซึ่งจะง่ายกว่าการพยายามแก้ปัญหาทั้งหมดในคราวเดียว
  2. การจำแนกรูปแบบ (Pattern Recognition)) ในการเขียนโค้ด การมองเห็นรูปแบบที่ซ้ำซ้อนกันมีความสำคัญมาก เพราะจะทำให้สามารถนำโครงสร้างโค้ดที่คล้ายกันมาใช้ซ้ำได้ เช่น การสร้างฟังก์ชันสำเร็จรูปเพื่อใช้งานซ้ำๆ หรือการใช้วงรอบ (loop) แทนการเขียนคำสั่งซ้ำๆ เป็นต้น การจำแนกรูปแบบช่วยลดความซ้ำซ้อนของโค้ด ทำให้โค้ดมีความกระชับและง่ายต่อการอ่านและบำรุงรักษามากขึ้น
  3. การสกัดส่วนสำคัญ(Pattern Recognition) เป็นการมองเห็นสาระสำคัญของปัญหาและแยกรายละเอียดปลีกย่อยที่ไม่จำเป็นออกไป ในการเขียนโปรแกรมการสกัดรูปแบบจะช่วยให้สามารถสร้างฟังก์ชัน คลาส หรือโมดูลที่เป็นตัวแทนของแนวคิดหรือองค์ประกอบสำคัญของระบบนั้นๆ ได้ ทำให้โค้ดมีความกระชับ ง่ายต่อการเข้าใจ และสามารถนำกลับมาใช้งานได้อีกในภายหลัง
  4. การออกแบบอัลกอริทึม(Algorithm Design) เป็นการกำหนดขั้นตอนวิธีในการแก้ปัญหาอย่างเป็นระบบและตรงประเด็น การออกแบบอัลกอริทึมที่ดีจะทำให้การเขียนโค้ดมีประสิทธิภาพมากขึ้น ลดความซ้ำซ้อนและข้ามขั้นตอนที่สำคัญ ช่วยให้โค้ดทำงานได้ตรงตามความต้องการและแก้ปัญหาได้อย่างครบถ้วนสมบูรณ์ นอกจากนี้ยังสามารถประเมินความซับซ้อนและประสิทธิภาพของอัลกอริทึมได้ด้วย เพื่อเลือกใช้อัลกอริทึมที่เหมาะสมกับงานนั้นๆ
Brain with digital circuit and programmer with laptop. Machine learning, artificial intelligence, digital brain and artificial thinking process concept. Vector isolated illustration.

ตัวอย่างการประยุกต์ใช้ Computational Thinking

  • การวางแผนการเดินทาง
    • Decomposition: แบ่งการเดินทางออกเป็นช่วงๆ เช่น จากบ้านไปสถานีรถไฟ จากสถานีไปสำนักงาน เป็นต้น
    • Pattern Recognition: สังเกตรูปแบบการจราจรในแต่ละเส้นทาง เพื่อเลือกเส้นทางที่เหมาะสม
    • Abstraction: มองการเดินทางในภาพรวม โดยไม่ต้องคำนึงถึงรายละเอียดปลีกย่อย
    • Algorithm Design: วางแผนเส้นทางและจัดลำดับการเดินทางอย่างเป็นขั้นตอน เพื่อให้ทันเวลาและประหยัดเวลามากที่สุด
  • การทำอาหาร
    • Decomposition: แบ่งขั้นตอนการทำอาหารออกเป็นส่วนๆ เช่น เตรียมวัตถุดิบ ปรุงรส ตุ๋นหรือผัด ตกแต่ง เป็นต้น
    • Pattern Recognition: สังเกตุรูปแบบการปรุงอาหารประเภทเดียวกัน เพื่อนำมาประยุกต์ใช้
    • Abstraction: สกัดสูตรอาหารออกมาเป็นแนวคิดหลัก โดยละทิ้งรายละเอียดที่ไม่จำเป็น
    • Algorithm Design: วางขั้นตอนการทำอาหารอย่างเป็นระบบ เพื่อให้ได้ผลลัพธ์ที่ต้องการ
  • การเลือกซื้อสินค้า
    • Decomposition: แบ่งปัจจัยในการเลือกซื้อสินค้า เช่น ราคา คุณภาพ ความจำเป็น รูปแบบ ฯลฯ
    • Pattern Recognition: สังเกตรูปแบบความต้องการและพฤติกรรมการซื้อของตนเอง
    • Abstraction: มองหาสาระสำคัญของสินค้า โดยไม่หลงใหลในรายละเอียดรอง
    • Algorithm Design: วางแผนกระบวนการตัดสินใจซื้อหรือไม่ซื้ออย่างเป็นขั้นตอน
  • การบริหารเวลา
    • Decomposition: แบ่งภาระงานออกเป็นงานย่อยๆ ตามลำดับความสำคัญและระยะเวลา
    • Pattern Recognition: สังเกตรูปแบบกิจกรรมประจำวันหรือรอบการทำงาน
    • Abstraction: มองงานในภาพรวม โดยแยกรายละเอียดที่ไม่จำเป็นออกไป
    • Algorithm Design: จัดลำดับและวางแผนการทำงานเป็นขั้นตอน เพื่อให้เสร็จทันเวลาและมีประสิทธิภาพ
  • ทักษะการคิดเชิงคำนวณจึงมีประโยชน์ในการดำเนินชีวิตและการทำงานต่างๆ ช่วยให้สามารถแก้ปัญหาและจัดการกิจกรรมต่างๆ ได้อย่างเป็นระบบและมีประสิทธิภาพมากขึ้น
Team of people putting puzzle pieces of huge head together. Man and woman creating personality flat vector illustration. Mental health, psychological help, support, partnership, leadership concept

การพัฒนาทักษะComputational thinking

  1. การเล่นเกมกระดาน เกมกระดานหลายประเภท เช่น หมากรุก เกมตะลุยด่าน เกมผจญภัย สามารถฝึกทักษะการคิดเชิงคำนวณได้ เนื่องจากต้องใช้การคิดวิเคราะห์ การวางแผนกลยุทธ์ การแก้ปัญหา และการตัดสินใจอย่างเป็นขั้นตอน
  2. การเล่นเกมบนแอพหรือคอมพิวเตอร์ เกมบางประเภทจำเป็นต้องคิดแก้ปัญหาอย่างเป็นระบบ สังเกตรูปแบบ และวางแผนอัลกอริทึมในการผ่านด่าน ซึ่งจะช่วยฝึกทักษะการคิดเชิงคำนวณโดยไม่รู้ตัว เช่น เกมแบบตะลุยภารกิจ เกมแนวกลยุทธ์ เกมแพลตฟอร์ม
  3. การเขียนโปรแกรม การเรียนรู้การเขียนโปรแกรมคอมพิวเตอร์เป็นวิธีตรงในการฝึกฝนทักษะการคิดเชิงคำนวณ เนื่องจากต้องใช้ทักษะเหล่านี้ในการแก้ปัญหา ออกแบบอัลกอริทึม และพัฒนาโปรแกรมอยู่แล้ว
  4. การทำงานเป็นทีม การทำงานเป็นทีมในโครงการหรือกิจกรรมต่างๆ สามารถฝึกทักษะการคิดเชิงคำนวณได้ โดยการแบ่งงานเป็นส่วนย่อย การมอบหมายงาน การวางแผนขั้นตอนการทำงาน และการประสานงานร่วมกัน
  5. การเล่นเกมตัดสินใจ เกมตัดสินใจบางประเภท เช่น เกมนิทานหรือนวนิยายแนวผจญภัย ที่ผู้เล่นจะต้องเลือกทางเดินเรื่องและผลลัพธ์ต่างๆ จะช่วยฝึกการคิดวิเคราะห์ การแตกปัญหา และการตัดสินใจตามเงื่อนไข
  6. การศึกษากรณีศึกษา การศึกษากรณีศึกษาหรือสถานการณ์จำลองต่างๆ สามารถฝึกทักษะการสกัดประเด็นหลัก การแยกแยะสาเหตุ และการวางแผนแก้ปัญหาอย่างเป็นระบบ
  7. การฝึกฝนทักษะการคิดเชิงคำนวณอย่างต่อเนื่องผ่านกิจกรรมต่างๆ ข้างต้น จะช่วยให้คุณสามารถคิดแก้ปัญหา วางแผนงาน และจัดการกับสถานการณ์ต่างๆ ได้อย่างมีประสิทธิภาพมากขึ้น

สรุป

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

ติดตามเนื้อหาที่น่าสนใจอื่นๆ ได้ที่

อ้างอิง