Este documento describe los conceptos básicos de diseño algorítmico. Define un algoritmo como una secuencia finita de instrucciones para resolver un problema en un tiempo determinado. Un algoritmo debe ser preciso, definido y finito. Contiene entradas, procesos y salidas. Puede expresarse en lenguaje natural, pseudocódigo, diagramas de flujo o lenguajes de programación.