Un sistema computacional consiste en hardware (componentes físicos como dispositivos de entrada, salida y memoria) y software (programas). El software se divide en software de sistema para controlar el hardware, software de aplicación para tareas específicas, y software de programación para desarrollar otros programas. Juntos, el hardware y software permiten que los sistemas computacionales realicen funciones inteligentes.