“แนวคิดเชิงคำนวณ” ชื่ออังกฤษ “Computational Thinking (CT)” คำๆ นี้ ต่อไปเด็กไทยจะได้เรียนรู้กันแล้ว เพื่อปูทางสู่การเขียนโปรแกรม Show
สำหรับแนวคิดเชิงคำนวณ มีไว้เพื่อใช้แก้ปัญหาในแวดวง “วิทยาศาสตร์คอมพิวเตอร์” ยิ่งถ้าคนเขียนโปรแกรมด้วยแล้ว ก็ต้องมีเลยทีเดียว
จริงๆ แล้วมันไม่ใช่เรื่องแปลกใหม่แต่อย่างใด ถ้าเราได้นั่งเรียนในระดับมหาวิทยาลัย หรือได้ฝึกเขียนโปรแกรมไปเรื่อยๆ ก็จะใช้แนวคิดนี้โดยธรรมชาติ อย่างไม่รู้ตัวอยู่แล้วครับ ไม่ต้องไปเรียนที่ไหน นิยามของ Computational Thinking หรือแนวคิดเชิงคำนวณ มันมีหลายนิยามนะ แต่ทั้งนี้ทั้งนั้น แนวคิดนี้จะประกอบด้วยแนวคิดย่อย 4 อย่างดังต่อนี้
1) Decomposition ชื่อไทยคือ “การแยกส่วนประกอบ และการย่อยปัญหา”
?ตัวอย่างการนำแนวคิดนี้ไปใช้ตอนเขียนโปรแกรม เช่น การเขียนโปรแกรมแยกเป็นส่วนๆ แยกเป็นแพ็กเกจ แยกเป็นโมดูล หรือทำระบบเป็น services ย่อยๆ หรือมองเป็น layer เป็นต้น ?ตัวอย่างการนำไปใช้นอกจากเขียนโปรแกรม -เราจะเรียนรู้ว่าจักรยานทำงานอย่างไร? ก็ให้พิจารณาแยกชิ้นส่วนจักรยานว่ามีอะไรบ้าง แล้วก็ไปศึกษาทีละชิ้น -เราจะเดินทางไปเที่ยวหาดใหญ่ จะวางแผนเดินทางอย่างไร? ซึ่งเราอาจแยกย่อยวิธีเดินทางเป็น 4 รูปแบบ เช่น ขับรถไปเอง หรือนั่งรถทัวร์ หรือนั่งเครื่องบิน หรือนั่งรถไฟ จากนั้นก็มาวิเคราะห์ถึงข้อดีข้อเสียแต่ละวิธีการ – จักรยานคันหนึ่ง ถ้าเราจะศึกษามันก็จะมองได้ว่า ประกอบไปด้วย ล้อ แฮนด์ โครงจักรยาน ระบบขับเคลื่อน หรืออื่นๆ ถ้ามองในรายละเอียดของล้อจักรยานจะเห็นว่าประกอบด้วย ยางล้อ วงล้อ และซี่ลวด เป็นต้น -รัฐบาลจะปฏิรูปประเทศไทย ก็จะนำปัญหาประเทศมาแยกย่อยออกเป็นปฏิรูป 11 ด้าน จากนั้นจึงไปปฏิรูปปัญหาย่อยทีละด้าน 2) Pattern recognition ชื่อไทยคือ “การหารูปแบบ”
?ตัวอย่างการนำแนวคิดนี้ไปใช้ตอนเขียนโปรแกรม เมื่อมีการทำงานของโปรแกรมที่หลากหลายแบบ แต่ทว่ามีรูปแบบที่แน่นอนซ้ำๆ กัน เราสามารถยุบโค้ดมาอยู่ในฟังก์ชั่นเดียวกันได้หรือไม่ หรือเขียนเป็นโปรแกรมวนลูป ให้อยู่ในลูปเดียวกัน เป็นต้น ?ตัวอย่างการนำไปใช้นอกจากเขียนโปรแกรม – จัดหมวดหมู่สัตว์ที่คล้ายคลึงกัน ให้อยู่ในสปีชีส์เดียวกัน เพื่อให้ง่ายต่อการศึกษา 3) Algorithm ชื่อไทย “ขั้นตอนวิธี”
?ตัวอย่างการนำแนวคิดนี้ไปใช้ตอนเขียนโปรแกรม สำหรับคนเขียนโปรแกรม คงรู้จักกันดีไม่ต้องอธิบายมาก เช่น -จะคำนวณหาพื้นที่เส้นรอบวง ต้องมีสเตปคำนวณอย่างไรบ้าง ?ตัวอย่างการนำไปใช้นอกจากเขียนโปรแกรม -จะวางแผนจีบสาว มีขั้นตอนอย่างไร? -จะไปเที่ยวเขาใหญ่ ต้องวางแผนว่าในแต่ละวันทำอะไรบ้าง เที่ยวไหน กินข้าวที่ไหน มีลำดับตามช่วงเวลา? -จะเต้นเพลงคุกกี้เสี่ยงทาย ต้องมีเสตป 1, 2, 3 อย่างไร? คลิปวีดีโอข้างบนเป็นของช่อง?Active Dance?สอนเต้นเพลง “คุกกี้เสี่ยงทาย” ซึ่งจะมีสเตปยกมือ ยกเท้า เคลื่อนไหวร่างกาย …พอเพลงเริ่มบรรเลงเราก็เต้นตามขั้นตอน ซึ่งก็คือ?Algorithm?แต่ใช้ในโลกร้องเพลง 4) Abstract thinking ชือไทย “การคิดเชิงนามธรรม”
?ตัวอย่างการนำแนวคิดนี้ไปใช้ตอนเขียนโปรแกรม -จากโจทย์ปัญหาเขียนโปรแกรมที่ดูยุ่งยาก สามารถทำให้ง่ายขึ้นด้วยการสกัดเอาลัษณะสำคัญออกมาวาดเป็น Object ใช้ Class diagram ลากเส้นแสดงความสัมพันธ์กัน จากนั้นก็เริ่มเขียนโปรแกรมเป็นแบบเชิงวัตถุ เป็นต้น -ถ้าเราจะส่งข้อมูลข้าม network แล้วเขียนโปรแกรมหาระยะทางสั้นที่สุดต้องทำอย่างไร? วิธีคิดก็จะสกัดรายละเอียดสำคัญออกมา เช่น server ก็วาดเป็นโหนด แล้วมีเส้นเชื่อมระหว่างโหนด พร้อมระบุระยะทางบนเส้น พอคิดแบบเชิงนามธรรมได้แล้ว ก็จะได้ง่ายมากที่จะเอาทฤษฏีกราฟมาคำนวณหาระยะทางสั้นที่สุด เป็นต้น ?ตัวอย่างการนำไปใช้นอกจากเขียนโปรแกรม – เราจะดูแผนที่ประเทศไทย เพื่อเที่ยวภาคเหนือ ถ้าดูเต็มรูปแบบ จะยุ่งยาก งงตาลาย มีหลายเส้นทางเยอะไปหมด แต่เราสามารถแก้ปัญหา โดยตัดรายละเอียดส่วนเกินทิ้ง เอาสถานที่และเส้นทางที่สำคัญที่จะใช้เดินทาง มาวาดใส่กระดาษก็พอ ลองนึกถึงตัวอย่าง เวลาเราดูภาพเส้นทางรถไฟฟ้า BTS จาก Google map?ข้างล่าง เพื่อใช้เดินทาง ก็อาจตาลายเพราะมีรายละเอียดที่ไม่จำเป็นเกินมา รกสายตาย เช่น เส้นทางถนน อาคาร สถานที่ วัดวาอาราม ฯลฯ ภาพจาก Google Mapด้วยวิธีคิดแบบ?Abstract thinking เราตัดรายละเอียดที่ไม่จำเป็นทิ้ง เลือกเอาสิ่งที่สนใจคือเส้นทางเดินรถ BTS เท่านั้น แล้วนำมาวาดรูปใหม่ได้ดังรูปข้างล่าง ภาพจาก http://www.bts.co.th/customer/th/images/Master_RouteMap.jpgหรือตัวอย่างวงจรไฟฟ้าในรูปข้างล่าง ถ้าคิดแบบ?Abstract thinking เราก็จะตัดรายละเอียดที่ไม่จำเป็นทิ้ง แล้ววาดใหม่เป็นสัญลักษณ์วงจรไฟฟ้า ก็จะทำให้การคำนวณทางไฟฟ้าง่ายขึ้น จากหนังสือเรียน ?วิทยการคำนวณ? บทที่ 1 ชั้น ม.4วิทยาการคำนวณถึงตรงนี้จะเห็นว่าแนวคิดเชิงคำนวณ ไม่ใช่แค่แก้ปัญหาเวลาเจอโจทย์ด้านโปรแกรมมิ่งอย่างเดียว ยังสามารถนำไปใช้แก้ปัญหาอย่างอื่นในชีวิตประจำได้อีกด้วย เพราะเหตุผลนี้เอง ในระดับชั้นประถม มัธยม เขาจะได้ปูพื้นฐานแนวคิดนี้ในวิชา “วิทยาการคำนวณ”ซี่งในหนังเรียนไม่ได้ยกตัวอย่างแค่การเขียนโปรแกรมเท่านั้น แต่จะสอนให้นำไปใช้แก้ปัญหาอื่นนอกจากการเขียนโปรแกรมอีกด้วย ขณะเดียวกัน “แนวคิดเชิงคำนวณ” ผู้ใหญ่รู้ไว้ก็ไม่เสียหายอะไร นอกจากจะคุยกับเด็กรู้เรื่องแล้ว ยังเอาไปใช้ในชีวิตประจำวันได้ด้วยครับ จากหนังสือเรียน “วิทยการคำนวณ” บทที่ 1 ชั้น ม.4ขออธิบายเพิ่มเกี่ยวกับวิทยาการคำนวณ มันเป็นวิชาที่ปรับหลักสูตรมาจากวิชาเทคโนโลยีสารสนเทศ??เนื้อหาจะครอบคลุมวิชาเหล่านี้ในระดับพื้นฐาน ได้แก่
ซึ่งหัวใจของวิชานี้คือ พื้นฐานการคิดเชิงคำนวณ (computational thinking) ที่มี 4 องค์ประกอบสำคัญดังที่กล่าวมาแล้วข้างต้น
เขียนโดย แอดมินโฮ โอน้อยออก แนวคิดเชิงคำนวณมีองค์ประกอบอะไรบ้าง *แนวคิดเชิงคำนวณมีองค์ประกอบที่สำคัญ 4 ส่วน ได้แก่ การแบ่งปัญหาใหญ่เป็นปัญหาย่อย (Decomposition) การพิจารณารูปแบบ (Pattern Recognition) การคิดเชิงนามธรรม (Abstraction) การออกแบบอัลกอริทึม (Algorithm) ในบทเรียนนี้จะกล่าวเพียง การแบ่งปัญหาใหญ่เป็นปัญหาย่อย (Decomposition) เท่านั้น โดยมีรายละเอียดดังนี้
แนวคิดเชิงคำนวณเกี่ยวข้องกับวิชาอะไรแนวคิดเชิงคำนวณ (Computational Thinking) คือ กระบวนการวิเคราะห์ปัญหา เพื่อให้ได้วิธีแก้ไขปัญหาอย่างมีขั้นตอนและเป็นระบบ สามารถนำไปปฏิบัติได้โดยบุคคลหรือคอมพิวเตอร์ สำหรับใช้แก้ปัญหาหรือทำงานต่าง ๆ ให้สำเร็จตามเป้าหมายที่ต้องการ Computational Thinking ถือเป็นแนวคิดที่สำคัญอย่างยิ่งของวิชาวิทยาการคำนวณ (Computer Science)
แนวคิดเชิงคํานวณ หมายถึงข้อใดแนวคิดเชิงคำนวณ (Computational Thinking : CT) คืออะไร แนวคิดเชิงคำนวณเป็นกระบวนการ การคิดที่ต้อ ที่ต้องใช้ทักษะและเทคนิคในการแก้ไขปัญหาหรือวางแผนเตรียมการแก้ปัญหาไว้ ล่วงหน้า การพัฒนาโครงงานต่าง ๆ ที่ประยุกต์ใช้แนวคิดเชิงคำนวณในโครงงานจะได้รับผลลัพธ์ที่ดี
ข้อใดคือประโยชน์ของการคิดเชิงคำนวณการคิดเชิงคำนวณมีประโยชน์อย่างไร ช่วยให้มีทักษะการคิดเหมือนคอมพิวเตอร์ แก้ปัญหาได้อย่างเป็นระบบและมีขั้นตอน ตอบปัญหาโจทย์ทางคณิตศาสตร์ได้อย่างรวดเร็ว
|