Computational Thinking


เดี๋ยวนี้ คำนี้ กลายเป็นคำฮิตของวงการศึกษาระดับโลก ที่อีกสักพัก คงได้ยินกันจนเอียนในไทย

ลองใช้วลีนี้ค้นดู จะเห็นข่าวพาดหัวบ่อยเรื่องนี้หรือจะลองไปอ่านที่นี่

ผมเดาว่า คงเกิดจากสองเหตุผลหลัก

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

ถ้ามองไปข้างหน้า เมื่อ GNR (genetic/ nanotechnology/ robotic)  เริ่มสุกงอมกว่านี้ ประเด็นนี้ก็จะเป็นเรื่องคอขวด เพราะล้วนต้องอาศัยพลังในการคำนวณมหาศาลในการช่วยคิดวางแผน ซึ่งเป็นที่รู้กันว่า เราเริ่มเข้าสู่ยุคที่ algorithm เริ่มสำคัญกว่า hardware ขึ้นเรื่อย ๆ จะใช้วิธีการคำนวณแบบ ดิบและเถื่อน (brute force) ด้วยซูเปอร์คอมพิวเตอร์ คงแก้ปัญหาได้ช้าไปแล้ว

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

ถ้าอย่างนั้น อะไรคือ computational thinking (CT)?

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

การเขียนโปรแกรม เช่น

  • ใช้โปรแกรมเพื่อทำ simulation เพื่อทำนายปรากฎการณ์อะไรสักอย่างที่สามารถคำนวณได้

การใช้วิธีจัดการเช่น

  • wikipedia หรือระบบ open source เกิดจากการจัดการเป็นหลัก โดยใช้ IT เป็นสื่อกลาง ทำให้เกิดองค์ความรู้ต่อยอดที่วิวัฒนาการได้เองราวสิ่งมีชีวิต
  • การทำ distributed computing เพื่อรีดพลังส่วนเกินของ PC ทั่วโลกมารวมกันเพื่อเกิดเป็น virtual supercomputer ก็เป็นเรื่องของการจัดการ

การมองปัญหาในมุมใหม่

  • กรณีของ distributed computing ก็นับเป็นกรณีนี้ได้ คือเปลี่ยนจาก "สร้างคอมพิวเตอร์ซิ่ง" ไปเป็น "ซิ่งคอมพิวเตอร์โดยไม่ต้องสร้าง"
  • หรือการนำวิธีการคำนวณสาขาหนึ่งไปใช้ข้ามสาขา โดยอาศัยหลักการพึ่งพิงแนวคิดเชิงนามธรรม เช่น การออกแบบแผงวงจรไฟฟ้า กับการออกแบบตำแหน่งเสาของเครือข่ายโทรศัพท์ ใช้แนวคิดคณิตศาสตร์เบื้อหลังที่เหมือนกัน คือการคำนวณหา minimized shortest path

ดังนั้น CT จึงไม่ได้หมายความเพียงว่าเขียนโปรแกรมเป็น เพราะต้องมองครบวงจรกว่านั้น เช่น data abstraction, algorithm, hardware, user interface design, usability, ระบบการจัดการที่ยั่งยืน,  ฯลฯ

หมายเลขบันทึก: 89067เขียนเมื่อ 8 เมษายน 2007 00:27 น. ()แก้ไขเมื่อ 11 กุมภาพันธ์ 2012 18:06 น. ()สัญญาอนุญาต: จำนวนที่อ่านจำนวนที่อ่าน:


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

กำลังศึกษา เรื่อง CT อยู่ค่ะ มีเเหล่งข้อมูลเเนะนำไหมคะ คืออยากทราบเรื่องทั้งหมด ตั้งเเต่หลักการ กระบวนการขั้นตอน หรือ การนำ CT มาใช้ในการเรียนการสอนอย่างไรค่ะ ขอบคุณค่ะ

พบปัญหาการใช้งานกรุณาแจ้ง LINE ID @gotoknow
ClassStart
ระบบจัดการการเรียนการสอนผ่านอินเทอร์เน็ต
ทั้งเว็บทั้งแอปใช้งานฟรี
ClassStart Books
โครงการหนังสือจากคลาสสตาร์ท