แนวคิดเชิงคำนวณ (Computational Thinking) คืออะไร
ต้องบอกก่อนว่าการเรียนเรื่องการประยุกต์ใช้เทคโนโลยี และการเข้าใจสื่อสมัยใหม่ โดยมีการสอนโดยใช้แนวคิดเชิงคํานวณซึ่งเป็นองค์ประกอบที่สำคัญที่สุดอย่างหนึ่ง ที่จะพัฒนาให้เด็ก ๆ เกิดกระบวนการคิดเชิงวิเคราะห์ คิดอย่างเป็นระบบด้วยเหตุผลอย่างเป็นขั้นเป็นตอนเพื่อแก้ปัญหาเป็นกระบวนการในหลากหลายลักษณะ (Code Genius Academy)
ไม่ได้หมายความว่าเรียนไปแล้วคิดให้เหมือนคอมพิวเตอร์แต่เป็นกระบวนการคิดแก้ปัญหาอย่างมีประสิทธิภาพของมนุษย์ เพื่อสั่งคอมพิวเตอร์ให้ทำงานและช่วยแก้ปัญหาตามที่เราต้องการได้อย่างมีประสิทธิภาพ เพราะการเรียนรู้แนวคิดเชิงคำนวณคือการเรียนรู้ทักษะที่ช่วยทำให้ปัญหาที่ซับซ้อนเข้าใจได้ง่ายขึ้น อีกทั้งยังเป็นทักษะที่เป็นประโยชน์อย่างยิ่งต่อทุกๆ สาขาวิชา และสามารถประยุกต์ใช้กับทุกเรื่องในชีวิตประจำวันได้ (Code Genius Academy)
สรุปได้ว่า แนวคิดเชิงคำนวณ (Computational Thinking) คือ
เทคนิคการแก้ปัญหาที่แบ่งปัญหาที่ซับซ้อนออกเป็นชิ้นเล็ก ๆ ที่ง่ายกว่าซึ่งสามารถเข้าใจและแก้ไขได้ทั้งจากคอมพิวเตอร์และมนุษย์
องค์ประกอบของแนวคิดเชิงคํานวณ
แนวคิดเชิงคำนวณ ประกอบด้วย 4 องค์ประกอบหลัก:
- การแยกย่อยปัญหา (Decomposition)
- การรู้แบบแผน (Pattern Recognition)
- การคิดเชิงนามธรรม (Abstraction)
- การออกแบบขั้นตอนวิธี (Algorithm Design)
หากเราต้องการสร้างจักรยาน 1 คัน เราอาจไม่รู้ว่าต้องทำยังไง ต้องเริ่มสร้างยังไงใช่ไหม เราก็จะมาใช้แนวคิดเชิงคำนวณในการแก้ปัญหานี้กัน
อันดับแรก การแยกย่อยปัญหา (Decomposition): การแบ่งปัญหาใหญ่ออกเป็นส่วนย่อย ๆ ที่สามารถจัดการได้ จากรูปภาพ จักรยาน 1 คันมันประกอบด้วยอะไรบ้างครับ ในขั้นตอนนี้เราก็ต้องแยกแยะมันออกมาเป็นส่วน ๆ เลย
จักรยาน 1 คันประกอบด้วยอะไรบ้าง ในรูปนี้เราสามารถแยกออกมาได้เป็น
- โครงรถ
- ล้อรถ 2 ล้อ
- ระบบเบรค
- ระบบขับเคลื่อน
การแยกแยะทำไปเพื่ออะไรหรอ นั่นอาจเป็นคำถามของใครหลาย ๆ คน ซึ่งคำตอบก็คือการแยกแยะก็เป็นการทำให้เราสามารถมองเห็นรายละเอียดส่วนย่อยของแต่ละอย่างที่เราแยกออกมานั่นเอง บางครั้งเราอาจแยกแยะแบบละเอียดยิบเลยก็จะเป็นผลดีครับ
อันดับที่สอง การรู้แบบแผน (Pattern Recognition): การระบุรูปแบบหรือแนวโน้มที่เกิดซ้ำในข้อมูลหรือปัญหา เราก็นำส่วนประกอบที่เราแยกแยะออกมานั้นมาดูซิว่ามันเหมือนอะไรบ้างที่เราเคยเห็นเป็นประสบการณ์ เราเคยสร้างสิ่งพวกนี้มาก่อนหรือไม่
โครงรถ : เราลองดูซิว่ามีรูปแบบไหนบ้างที่เคยเห็น หรือเราอาจเปรียบเทียบกับโครงรถชนิดอื่น ๆ เช่น รถยนต์ รถจักรยานยนต์
ล้อรถ : มีล้อรูปแบบไหนบ้างที่เราเคยพบเจอ เช่น ล้อรถยนต์ ล้อเกวียน ล้อมอเตอร์ไซค์
ระบบขับเคลื่อน : เราอาจสังเกตุจากระบบคาน ระบบรอก
เราต้องหาสิ่งที่มีรูปแบบใกล้เคียงกัน หรือ หลักการคล้ายคลึงแล้วดูว่าแต่ละแบบมีผลยังไง ได้ผลลัพท์ยังไง เพื่อนำมาใช้ในการแก้ปัญหาที่เราจะออกแบบจักรยานของเรานั่นเอง
อันดับที่สาม การคิดเชิงนามธรรม (Abstraction): การลดรายละเอียดที่ไม่จำเป็นลงและมุ่งเน้นเฉพาะข้อมูลที่สำคัญ จากขั้นตอนที่สองเราจะได้รูปแบบหลาย ๆ อย่างจากการค้นหา หรือประสบการณ์ของเรา ต่อไปเราต้องมาดูว่าส่วนประกอบไหนควรให้ความสำคัญเป็นลำดับแรก ๆ เพื่อที่จะทำให้มันเป็นจักรยานที่ใช้งานได้
จากตัวอย่างจักรยานนั้นมีหลายส่วนประกอบใช่ไหมครับ แต่ส่วนประกอบไหนสำคัญที่สุดที่จะทำให้จักรยานเคลื่อนที่ได้ ก็ต้องมีโครงเพื่อยึดชิ้นส่วนต่าง ๆ เข้าด้วยกัน มีระบบขับเคลื่อน มีล้อนั่นเอง หากถามว่ากระดิ่งหล่ะสำคัญไหม เราก็ลองนึกดูครับว่า กระดิ่งนั้นถ้าขาดไปจะทำให้จักรยานปั่นไม่ได้หรือไม่
ขั้นตอนที่สี่ การออกแบบขั้นตอนวิธี (Algorithm Design): การสร้างขั้นตอนหรือวิธีการแก้ปัญหาที่ชัดเจนและมีลำดับขั้น จากขั้นตอนที่ผ่านมาเราก็มาออกแบบกระบวนการวิธีสำหรับทำให้จักรยานนั้นสามารถผลิตออกมาได้นั่นเอง