1 แนวคิดการแยกย่อย (Decomposition )
หมายถึง การย่อยปัญหาหรือระบบ ที่ซับซ้อนออกเป็นส่วนเล็กๆ เพื่อให้ง่ายต่อการจัดการและแก้ปัญหา เช่น หากต้องการเข้าใจว่าระบบของ จักรยานทำงานยังไง ทำได้โดยกำรแยกจักรยานออกเป็นส่วนๆ แล้วสังเกตและทดสอบการทำงานของแต่ละ องค์ประกอบ จะเข้าใจได้ง่ายกว่าวิเครำะห์จำกระบบใหญ่ที่ซับซ้อน ทำได้ 2 รูแบบ ดังนี้
➢ การแยกองค์ประกอบ
➢ การแบ่งขั้นตอน
การแบ่งขั้นตอน เช่น การสร้างบ้าน แบ่งออกเป็นหลายขั้นตอน ( ออกแบบบ้าน ลงเสาเข็ม เดิน ท่อน้ำ เดินสายไฟ ทาสี ตกแต่งภายใน ) ทำงานตามลำดับ โดยในแต่ละขั้นตอน จะใช้วิธีการใดก็ได้
ตัวอย่าง การแยกองค์ประกอบ
จักรยานประกอบด้วย ล้อ แฮนด์ โครงจักยาน ระบบขับเคลื่อน และอื่นๆ ถ้ามองในลายละเอียดของ ล้อจักรยาน จะเห็นว่าประกอบด้วย ยางล้อ วงล้อ และซี่ลวด หรือถ้ำพิจารณาชุดขับเคลื่อนก็จะพบว่า ประกอบด้วยเฟือง โซ่ และบันได เมื่อนำข้อมูลดังกล่าวมำเขียนเป็นแผนภพจะได้รูปดังรูปนี้
ประโยชน์ของการแยกส่วนประกอบและการย่อยปัญหา
➢ ท ำให้มองเห็นปัญหำได้ครบทุกส่วน (ครบทุกองค์ประกอบ/ขั้นตอน)
➢ ท ำให้แก้ปัญหำได้อย่ำงเป็นระบบ
➢ ท ำให้แก้ปัญหำแต่ละส่วนได้อย่ำงอิสระต่อกัน
➢ ใช้แบ่งหน้ำที่/ควำมรับผิดชอบและเวลำที่ใช้ในกำรแก้ปัญหำแยกกันได
ตัวอย่ำง การซื้อคอมพิวเตอร์แบบประกอบเอง – สามารถเลือกความสามารถของแต่ละองค์ประกอบแยกกันได้ – ทำให้เห็นค่าใช้จ่ายทั้งหมดที่จะเกิดขึ้น
2. การคิดหารูปแบบ (pattern recognition)
การหารูปแบบเป็นทักษะการหาความสัมพันธ์ที่เกี่ยวข้อง แนวโน้ม และลักษณะ ทั่วไปของสิ่งต่าง ๆ โดยทั่วไปแล้วนักเรียนจะเริ่มพิจารณาปัญหาหรือสิ่งที่สนใจ จากนั้นอาจใช้ทักษะการแยก ส่วนประกอบท าให้ได้องค์ประกอบภายในอื่น ๆ แล้วจึง ใช้ทักษะการหารูปแบบเพื่อสร้างความเข้าใจ ระหว่างองค์ประกอบเหล่านั้น การพิจารณำรูปแบบของปัญหำหรือวิธีการแก้ปัญหำ (pattern recognition) เป็นการพิจารณา รูปแบบ แนวโน้ม และลักษณะทั่วไปของข้อมูล โดยพิจารณาว่าเคยพบปัญหาลักษณะนี้มาก่อนหรือไม่ หากมี รูปแบบของปัญหาที่คล้ายกันสามำรถนำวิธีการแก้ปัญหานั้นมำประยุกต์ใช้ และพิจารณารูปแบบปัญหาย่อยซึ่ง อยู่ภายในปัญหาเดียวกันว่ามีส่วนใดที่เหมือนกัน เพื่อใช้วิธีการแก้ปัญหาเดียวกันได้ ทำให้จัดการกับปัญหาได้ ง่ายขึ้น และการทำงานมีประสิทธิภาพเพิ่มขึ้น
• ช่วยให้ทำความเข้าใจสิ่งของหรือปัญหาได้ง่ำยขึ้นประโยชน์ของการหารูปแบบ
• เมื่อพบว่าปัญหามีรูแบบเดียวกันกับที่เคยพบสามารถใช้วิธีเดียวกันแก้ปัญหาได้
ปัญหาย่อยที่มีรูปแบบซ้ำเดิม
• บางปัญหาสามารถแบ่งเป็นปัญหาย่อยที่มีรูปแบบเดิมได้
• สามารถใช้วิธีการเดิมในการแก้ปัญหาย่อยได้
ตัวอย่าง – การล้างจาน 4 ใบ – เมื่อล้างจาน 1 ใบ จะเห็นว่าปัญหากลายเป็น “การล้างจาน 3ใบ” ซึ่งมีรูปแบบเดิม – “การล้างจาน 3ใบ” จึงเป็นปัญหาย่อยของ “การล้างจาน 4 ใบ” ซึ่งใช้วิธีเดิม ในการแก้ปัญหาได้ คือ “ล้างจานใบบนสุดเพิ่มอีก 1 ใบ”
3.การคิดเชิงนามธรรม ( ABSTRACTION )
การคิดเชิงนามธรรม ( Abstraction ) คือการมุ่งความคิดไปที่ข้อมูลสำคัญ และคัดกรองส่วนที่ไม่ เกี่ยวข้องออกไป เพื่อให้จดจ่อเฉพาะสิ่งที่เรำต้องการจะทำ เช่น แม้ว่าแมวแต่ละตัวจะมีลักษณะเหมือนกัน แต่ มันก็มีลักษณะเฉพำะตัวที่ต่างกัน เช่น มีตาสีเขียว ขนสีดำ ชอบกินปลาทู ความคิดด้ำนนำมธรรมจะคัดกรอง ลักษณะที่ไม่ได้ร่วมกันกับแมวตัวอื่นๆ เหล่านี้ ออกไป เพราะรายละเอียดที่ไม่เกี่ยวข้องเหล่านี้ ไม่ได้ช่วยให้เรา อธิบำยลักษณะพื้นฐานของแมวในการวาดภาพมันออกมาได้ กระบวนการคัดกรองสิ่งที่ไม่เกี่ยวข้องออกไป และมุ่งที่รูปแบบซึ่งช่วยให้เราแก้ปัญหาได้เรียกว่าแบบจำลอง(model) เมื่อเรามีความคิดด้านนามธรรม มันจะ ช่วยให้เรารู้ว่าไม่จำเป็นที่แมวทุกตัวต้องหางยาวและมีขนสั้น หรือทำให้เรำมีโมเดลความคิดที่ชัดเจนขึ้นนั่นเอง
– บอกลักษณะการจัดโต๊ะละที่นั่งของนักเรียน
– ใช้ตอบคำถามว่ามีนักเรียนกี่คน นั่งที่ใดบ้างถ้าจัมโบ้อยากคุยกับนก ต้องเดินไปทางใด
– ไม่สามารถบอกได้ว่าประตูห้องอยู่ที่ใด ในห้องมีอุปกรณ์อะไรบ้าง
4. ขั้นตอนวิธีการ (Algorithm)
ขั้นตอนวิธีการ (Algorithm) คือ การพัฒนำแนวทางแก้ปัญหาอย่างเป็นขั้นเป็นตอน หรือสร้าง หลักเกณฑ์ขึ้นมาเพื่อดำเนินตามทีละขั้นตอนในกำรแก้ไขปัญหา เช่น เมื่อเราต้องการสั่งคอมพิวเตอร์ให้ท ำงาน บำงอย่ำง เราต้องเขียนโปรแกรมคำสั่งเพื่อให้มันทำงานไปตำมขั้นตอน การวางแผนเพื่อให้คอมพิวเตอร์ทำงาน ตอบสนองควำมต้องการของเรานี้เอง ที่เรียกว่าวิธีคิดแบบอัลกอริทึ่ม คอมพิวเตอร์จะทำงานได้ดีเพียงใด ขึ้นอยู่ กับชุดคำสั่งอัลกอริทึ่มที่เราสั่งให้มันทำงานนั่นเอง กำรออกแบบอัลกอริทึ่มยังเป็นประโยชน์ต่อการคำนวณ กำรประมวลผลข้อมูลและการวางระบบอัตโนมัติต่างๆ
ลักษณะของขั้นตอนวิธีที่ดี
• มีความชัดเจน ไม่กำกวม สามารถปฏิบัติตามได้
• มีขั้นตอนการเริ่มต้น และขั้นตอนการสิ้นสุดกระบวนการ
• มีหน้าที่ชัดเจนว่าจะแก้ปัญหาใด
การอธิบายขั้นตอนวิธีการทำได้หลายรูปแบบ
ประโยชน์ของการออกแบบขั้นตอนวิธีการ
• ได้การทำงานที่เป็นระบบ
• ผู้ปฏิบัติ( อาจจะเป็นคนหรือคอมพิวเตอร์) สามารถนำไปทำตามได้ถูกต้อง
• ได้ผลลัพธ์ได้ถูกต้องตามที่ต้องการ
• สามารถตรวจสอบจุดผิดพลาดได้ง่าย