Computer Engineering vs. Computer Science vs. Software Engineering

Es común entre algunas personas cierto grado de confusión entre Ingeniería de Computadoras, Ciencia de Computadoras e Ingeniería de la Programación o “Software Engineering”, entre otros. Las personas que estudian Ingeniería tienen una inclinación hacia construir/desarmar objetos físicos, probarlos, implementarlos y mejorarlos. Aplicando este concepto, una persona interesada en el diseño, construcción, implementación y mantenimiento de componentes de software y de hardware es una persona que debería considerar estudiar Ingeniería de Computadoras.
Por otro lado, una persona interesada mayormente en los aspectos científicos y fundamentos matemáticos de la información, algoritmos, estructura de datos y aspectos semejantes que no necesariamente tienen que ver con los aspectos físicos debería considerar estudiar Ciencia de Computadoras. Según indicado en el informe “Computing Curricula 2005” los científicos de las computadoras diseñan e implementan software, desarrollan nuevas formas de usar las computadoras y desarrollan formas eficientes para resolver problemas de la computación.

Finalmente y según el mismo informe la Ingeniería de la Programación se encarga del desarrollo y mantenimiento de sistemas de software que se comportan de forma confiable y
eficiente, satisfacen los requerimientos que los clientes han definido, pueden ser desarrollados y se les puede dar mantenimiento. La Ingeniería de la Programación es diferente a otras disciplinas de la Ingeniería debido tanto a la naturaleza intangible del software como a la naturaleza no continua de la operación del software.