La computadora se compone de hardware y software, y permite que los usuarios comuniquen instrucciones a través de programación para lograr diferentes aplicaciones. Los lenguajes de programación pueden ser de bajo o alto nivel, y el proceso general de programación incluye definir el problema, diseñar flujos, probar en escritorio, codificar, y depurar.