ก่อนที่คุณจะเริ่มเขียนโค้ดเพื่อสอนให้คอมพิวเตอร์แก้ปัญหาใดปัญหาหนึ่ง โดยปกติแล้ว คุณจะต้องทำความเข้าใจกับปัญหาด้วยตนเอง ค้นหาวิธีแก้ปัญหา แล้วจึงสอนคอมพิวเตอร์ให้จัดการกับปัญหานั้น การคิดเชิงคำนวณเป็นวิธีการทำให้กระบวนการนี้เร็วขึ้นและง่ายขึ้น แต่ไม่จำกัดเพียงการเขียนโปรแกรมเท่านั้น และสามารถนำไปใช้กับส่วนต่างๆ ในชีวิตของเราได้
Computational Thinking (CT)เป็นแนวคิดที่ผู้เชี่ยวชาญในอุตสาหกรรมเรียกว่า 'รหัสสู่ความสำเร็จ' และ 'ทักษะที่สำคัญ' แม้ว่าจะค่อนข้างง่าย แต่ CT ก็มีประโยชน์มากกว่าแค่การเขียนโปรแกรมซอฟต์แวร์ คำนี้ถูกเสนอครั้งแรกในปี พ.ศ. 2523 โดย Seymour Papert นักคณิตศาสตร์และนักวิทยาศาสตร์คอมพิวเตอร์ เพื่อใช้เป็นแนวทางในการแก้ปัญหาและงานต่างๆ ที่เกี่ยวข้องกับการเขียนโปรแกรมได้อย่างมีประสิทธิภาพมากขึ้น
CT เป็นชุดของวิธีการที่เกี่ยวข้องกับปัญหาที่ซับซ้อนและแยกย่อยออกเป็นชุดของปัญหาเล็กๆ ที่ง่ายต่อการจัดการ รวมทั้งแสดงสาระสำคัญของปัญหาและแนวทางแก้ไขในรูปแบบที่คอมพิวเตอร์สามารถดำเนินการได้
การคิดเชิงคำนวณทำงานอย่างไร
Computational Thinking as a Technical ประกอบด้วย 4 วิธีหลัก ซึ่งได้แก่ Decomposition, Generalization/abstraction, Pattern Recognition / Data Representative, และ Algorithm ทั้งหมดนี้มีความสำคัญเท่ากันและมีประสิทธิภาพเมื่อนำไปใช้ (กับปัญหา) ในลำดับที่ถูกต้อง
การสลายตัว
คุณเริ่มต้นด้วยการสลายตัว ซึ่งเป็นการแยกปัญหาออกเป็นปัญหาเล็กๆ จำนวนหนึ่ง ซึ่งง่ายต่อการแก้ไขทีละปัญหา
สิ่งที่เป็นนามธรรม (ทั่วไป)
จากนั้นคุณดำเนินการต่องาน/ปัญหาเฉพาะ โดยมุ่งเน้นเฉพาะข้อมูลที่มีความสำคัญต่อการแก้ปัญหาและไม่สนใจส่วนที่เหลือทั้งหมด
การจดจำรูปแบบ (การแสดงข้อมูล)
ขั้นตอนต่อไปคือการค้นหาความคล้ายคลึงกันระหว่างปัญหาที่คุณกำลังดำเนินการกับปัญหาอื่นๆ ที่ได้รับการแก้ไขก่อนหน้านี้ (พร้อมวิธีแก้ไขที่มีอยู่) เป้าหมายคือการค้นหารูปแบบที่สามารถใช้กับงานปัจจุบันของคุณได้
อัลกอริทึม
และสุดท้าย เมื่อมีผลลัพธ์ของการใช้ขั้นตอนก่อนหน้านี้ คุณจะพัฒนาอัลกอริทึมสำหรับการแก้ปัญหาทีละขั้นตอน อัลกอริทึมสามารถดำเนินการโดยคอมพิวเตอร์ (หรือสมองของคุณ ซึ่งเป็นงานแก้ปัญหาด้วยคอมพิวเตอร์ขั้นสูงสุดในชีวิตของคุณ)
การใช้ความคิดเชิงคำนวณ
การรู้วิธีใช้ CT เมื่อต้องรับมือกับปัญหาและงานที่นักพัฒนาซอฟต์แวร์ส่วนใหญ่จัดการเป็นประจำจะมีประโยชน์อย่างมากตลอดอาชีพการเขียนโค้ดของคุณ
ต่อไปนี้เป็นคำแนะนำโดยย่อเกี่ยวกับวิธีเริ่มใช้การคิดเชิงคำนวณกับงานเขียนโค้ดหรือปัญหาร้ายแรงใดๆ ที่คุณอาจเผชิญในชีวิตส่วนตัวของคุณ
ใช้การสลายตัว
การสลายตัวเป็นเทคนิคที่ค่อนข้างเรียบง่ายแต่ทรงพลัง ซึ่งสามารถช่วยคุณจัดการกับปัญหา/งานที่ดูเหมือนซับซ้อนเกินไปในแวบแรก และด้วยเหตุนี้จึงมักทำให้เกิดการผัดวันประกันพรุ่งและปัญหาอื่นๆ กุญแจสำคัญคือการฝึกสมองของคุณให้ใช้การแยกแยะเป็นประจำ แบ่งงานออกเป็นงานเล็กๆ จำนวนมากที่แก้ปัญหาได้ง่ายกว่า แม้ว่าการแยกส่วนอาจดูเหมือนเป็นวิธีการที่เรียบง่ายและชัดเจน แต่คุณก็ต้องประหลาดใจที่มีคนจำนวนมากไม่ทราบ ซึ่งทำให้พวกเขาเริ่มทำงานใหญ่ระดับโลกได้ยากขึ้นมาก (เช่น การเรียนรู้ Java, ตัวอย่างเช่น).
การใช้นามธรรม
การรู้วิธีใช้สิ่งที่เป็นนามธรรมเป็นความสามารถที่ทรงพลังหากคุณรู้เทคนิคและฝึกฝนสมองของคุณให้ใช้มันโดยไม่รู้ตัว สิ่งที่เป็นนามธรรมคือการเน้นเฉพาะข้อมูลที่จำเป็นในการแก้ปัญหาโดยไม่สนใจสิ่งอื่น เมื่อใช้ร่วมกับการสลายตัว มันเป็นวิธีการโดยทั่วไปในการแก้ไขปัญหาหรือเรื่องต่างๆ ในชีวิตของคุณ เมื่อต้องรับมือกับงานด้านการเขียนโปรแกรมอย่างเคร่งครัด การคิดเชิงนามธรรมจะช่วยให้มีสมาธิและหลีกเลี่ยงไม่ให้สมองของคุณอ่อนล้าเร็วเกินไป
ใช้การจดจำรูปแบบ
การจดจำรูปแบบเป็นทักษะที่ค่อนข้างสำคัญในการเขียนโค้ด เนื่องจากจะช่วยให้คุณแก้ปัญหางานได้เร็วขึ้นมากโดยใช้รูปแบบการคิดที่สมองของคุณคุ้นเคยและสะดวกในการใช้งาน นอกจากนี้ยังเป็นเทคนิคที่มีประสิทธิภาพในการนำไปใช้กับปัญหาชีวิตทั่วไป เพียงแค่พยายามวิเคราะห์ปัญหาใดๆ ที่คุณกำลังเผชิญในชีวิตของคุณ และค้นหา (และยืม) รูปแบบจากส่วนเหล่านั้นในชีวิตของคุณที่ได้ผล และส่งต่อไปยังปัญหาปัจจุบัน
การประยุกต์ใช้อัลกอริทึม
เมื่อคุณลองคิดดู ชีวิตของเราล้วนเกี่ยวกับการสร้างอัลกอริทึม เราเรียกว่านิสัย สมองของเรามีแนวโน้มที่จะพึ่งพานิสัยทุกวันเพียงเพราะมันมีประสิทธิภาพมากกว่าและใช้งานได้จริง ปัญหาเดียวคือพวกเราส่วนใหญ่มักจะทำสิ่งนี้โดยไม่รู้ตัว ซึ่งมักจะส่งผลให้เกิดการสร้างอัลกอริทึมที่ไม่ถูกต้องและเป็นอันตราย (เราเรียกมันว่านิสัยที่ไม่ดีหรือการเสพติด) การรู้วิธีสร้างอัลกอริทึมที่มีประโยชน์อย่างมีสติสามารถเป็นทักษะชีวิตที่มีประโยชน์อย่างมาก ช่วยให้คุณบรรลุเป้าหมายและประสบความสำเร็จ เมื่อพูดถึงการเขียนโปรแกรม การรู้วิธีสร้างอัลกอริทึมเพื่อแก้ปัญหาเฉพาะด้วยวิธีที่รวดเร็วและมีประสิทธิภาพมากที่สุดคือสิ่งที่ทำให้คนที่รู้วิธีเขียนโค้ดแตกต่างจากโปรแกรมเมอร์คอมพิวเตอร์มืออาชีพที่มีประสบการณ์
GO TO FULL VERSION