Comments system

บทที่ 1 แนวคิดเชิงคำนวณ

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

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

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

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

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



1) Decomposition ชื่อไทยคือ “การแยกส่วนประกอบ และการย่อยปัญหา”


Decomposition เป็นการพิจารณาเพื่อแบ่งปัญหา หรืองานออกเป็นส่วนย่อย ทำให้สามารถจัดการกับปัญหาหรืองานได้ง่ายขึ้น
พูดง่ายๆ เอาปัญหามาแยกย่อยออกเป็นส่วนๆ

👉ตัวอย่างการนำแนวคิดนี้ไปใช้ตอนเขียนโปรแกรม

เช่น การเขียนโปรแกรมแยกเป็นส่วนๆ แยกเป็นแพ็กเกจ แยกเป็นโมดูล หรือทำระบบเป็น services ย่อยๆ หรือมองเป็น layer เป็นต้น

👉ตัวอย่างการนำไปใช้นอกจากเขียนโปรแกรม

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

2) Pattern recognition ชื่อไทยคือ “การหารูปแบบ”


Pattern recognition เป็นทักษะการหาความสัมพันธ์ที่เกี่ยวข้อง แนวโน้ม และลักษณะทั่วไปของสิ่งต่าง ๆ

👉ตัวอย่างการนำแนวคิดนี้ไปใช้ตอนเขียนโปรแกรม

เมื่อมีการทำงานของโปรแกรมที่หลากหลายแบบ แต่ทว่ามีรูปแบบที่แน่นอนซ้ำๆ กัน เราสามารถยุบโค้ดมาอยู่ในฟังก์ชั่นเดียวกันได้หรือไม่ หรือเขียนเป็นโปรแกรมวนลูป ให้อยู่ในลูปเดียวกัน เป็นต้น

👉ตัวอย่างการนำไปใช้นอกจากเขียนโปรแกรม

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


3) Algorithm ชื่อไทย “ขั้นตอนวิธี”


Algorithm คือลำดับขั้นตอนในการแก้ปัญหาหรือการทำงานที่ชัดเจน การคิดค้น อธิบายขั้นตอนวิธีในการแก้ปัญหาต่าง ๆ

👉ตัวอย่างการนำแนวคิดนี้ไปใช้ตอนเขียนโปรแกรม
สำหรับคนเขียนโปรแกรม คงรู้จักกันดีไม่ต้องอธิบายมาก เช่น
-จะคำนวณหาพื้นที่เส้นรอบวง ต้องมีสเตปคำนวณอย่างไรบ้าง
-จะค้นหาข้อมูลแบบ binary search ต้องมีขั้นตอน 1,2,3 อย่างไรบ้าง
-จะหาเส้นทางที่ใกล้สุดในกราฟ ด้วยวิธี Dijkstra จะมีขั้นตอน 1,2,3 อย่างไรบ้าง

👉ตัวอย่างการนำไปใช้นอกจากเขียนโปรแกรม
-จะเต้นเพลงคุกกี้เสี่ยงทาย ต้องมีเสตป 1, 2, 3 อย่างไร?
-จะวางแผนจีบสาว มีขั้นตอนอย่างไร?
-จะไปเที่ยวเขาใหญ่ ต้องวางแผนว่าในแต่ละวันทำอะไรบ้าง เที่ยวไหน กินข้าวที่ไหน มีลำดับตามช่วงเวลา?


4) Abstract thinking ชือไทย “การคิดเชิงนามธรรม”


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

👉ตัวอย่างการนำแนวคิดนี้ไปใช้ตอนเขียนโปรแกรม

-จากโจทย์ปัญหาเขียนโปรแกรมที่ดูยุ่งยาก สามารถทำให้ง่ายขึ้นด้วยการสกัดเอาลัษณะสำคัญออกมาวาดเป็น Object ใช้ Class diagram ลากเส้นแสดงความสัมพันธ์กัน จากนั้นก็เริ่มเขียนโปรแกรมเป็นแบบเชิงวัตถุ เป็นต้น
-ถ้าเราจะส่งข้อมูลข้าม network แล้วเขียนโปรแกรมหาระยะทางสั้นที่สุดต้องทำอย่างไร? วิธีคิดก็จะสกัดรายละเอียดสำคัญออกมา เช่น server ก็วาดเป็นโหนด แล้วมีเส้นเชื่อมระหว่างโหนด พร้อมระบุระยะทางบนเส้น พอคิดแบบเชิงนามธรรมได้แล้ว ก็จะได้ง่ายมากที่จะเอาทฤษฏีกราฟมาคำนวณหาระยะทางสั้นที่สุด เป็นต้น

👉ตัวอย่างการนำไปใช้นอกจากเขียนโปรแกรม

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

แสดงความคิดเห็น

0 ความคิดเห็น