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