Los algoritmos son secuencias de pasos para resolver un problema, expresados en un lenguaje de programación. Deben tener entrada y salida de datos, y un proceso de pasos. Existen diferentes formas de representar algoritmos antes de codificarlos, como diagramas de flujo. Los lenguajes de programación incluyen lenguajes de máquina, ensamblador y de alto nivel como C++. Los datos tienen nombre, tipo y valor, y existen diferentes tipos como enteros, reales, lógicos y caracteres.