Entenderemos por algoritmo cualquier conjunto de instrucciones precisas y sin ambigüedad que deben seguirse en el orden manifiesto para llevar a cabo una tarea específica. Puesto que la precisión y la no ambigüedad son centrales a la hora de plantear un algoritmo, este se expresa normalmente en un lenguaje formal, matemático, para evitar confusiones. En un sentido teórico estricto, un algoritmo es una representación abstracta de una forma específica de llevar a cabo una tarea formal. Luego ese algoritmo puede implementarse en diferentes dispositivos con programas específicos. Así, la serie de instrucciones que aprendimos en la escuela primaria para multiplicar dos números es un algoritmo, y ese algoritmo lo puede implementar una persona en su cabeza haciendo los cálculos, otra persona ponerlo en acción con papel y lápiz y una calculadora usando los circuitos lógicos para procesar los números convertidos en bits.