Algoritma harus memiliki lima ciri penting yaitu berhenti setelah beberapa langkah, langkah yang didefinisikan dengan jelas, memiliki masukan dan keluaran, serta langkah yang efektif. Notasi algoritma meliputi notasi alami, flowchart, dan pseudocode yang memungkinkan algoritma ditulis dan dibaca dengan jelas serta mudah diterjemahkan ke bahasa pemrograman.