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

Computational Thinking (CT)เป็นแนวคิดที่ผู้เชี่ยวชาญในอุตสาหกรรมเรียกว่า 'รหัสสู่ความสำเร็จ' และ 'ทักษะที่สำคัญ' แม้ว่าจะค่อนข้างง่าย แต่ CT ก็มีประโยชน์มากกว่าแค่การเขียนโปรแกรมซอฟต์แวร์ คำนี้ถูกเสนอครั้งแรกในปี พ.ศ. 2523 โดย Seymour Papert นักคณิตศาสตร์และนักวิทยาศาสตร์คอมพิวเตอร์ เพื่อใช้เป็นแนวทางในการแก้ปัญหาและงานต่างๆ ที่เกี่ยวข้องกับการเขียนโปรแกรมได้อย่างมีประสิทธิภาพมากขึ้น

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

การคิดเชิงคำนวณทำงานอย่างไร

Computational Thinking as a Technical ประกอบด้วย 4 วิธีหลัก ซึ่งได้แก่ Decomposition, Generalization/abstraction, Pattern Recognition / Data Representative, และ Algorithm ทั้งหมดนี้มีความสำคัญเท่ากันและมีประสิทธิภาพเมื่อนำไปใช้ (กับปัญหา) ในลำดับที่ถูกต้อง

การสลายตัว

คุณเริ่มต้นด้วยการสลายตัว ซึ่งเป็นการแยกปัญหาออกเป็นปัญหาเล็กๆ จำนวนหนึ่ง ซึ่งง่ายต่อการแก้ไขทีละปัญหา

สิ่งที่เป็นนามธรรม (ทั่วไป)

จากนั้นคุณดำเนินการต่องาน/ปัญหาเฉพาะ โดยมุ่งเน้นเฉพาะข้อมูลที่มีความสำคัญต่อการแก้ปัญหาและไม่สนใจส่วนที่เหลือทั้งหมด

การจดจำรูปแบบ (การแสดงข้อมูล)

ขั้นตอนต่อไปคือการค้นหาความคล้ายคลึงกันระหว่างปัญหาที่คุณกำลังดำเนินการกับปัญหาอื่นๆ ที่ได้รับการแก้ไขก่อนหน้านี้ (พร้อมวิธีแก้ไขที่มีอยู่) เป้าหมายคือการค้นหารูปแบบที่สามารถใช้กับงานปัจจุบันของคุณได้

อัลกอริทึม

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

การใช้ความคิดเชิงคำนวณ

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

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

ใช้การสลายตัว

การสลายตัวเป็นเทคนิคที่ค่อนข้างเรียบง่ายแต่ทรงพลัง ซึ่งสามารถช่วยคุณจัดการกับปัญหา/งานที่ดูเหมือนซับซ้อนเกินไปในแวบแรก และด้วยเหตุนี้จึงมักทำให้เกิดการผัดวันประกันพรุ่งและปัญหาอื่นๆ กุญแจสำคัญคือการฝึกสมองของคุณให้ใช้การแยกแยะเป็นประจำ แบ่งงานออกเป็นงานเล็กๆ จำนวนมากที่แก้ปัญหาได้ง่ายกว่า แม้ว่าการแยกส่วนอาจดูเหมือนเป็นวิธีการที่เรียบง่ายและชัดเจน แต่คุณก็ต้องประหลาดใจที่มีคนจำนวนมากไม่ทราบ ซึ่งทำให้พวกเขาเริ่มทำงานใหญ่ระดับโลกได้ยากขึ้นมาก (เช่น การเรียนรู้ Java, ตัวอย่างเช่น).

การใช้นามธรรม

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

ใช้การจดจำรูปแบบ

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

การประยุกต์ใช้อัลกอริทึม

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