En esta sección, caracterizamos cada uno de las cinco grandes disciplinas en computación. Disculpen si la lectura es un poco tediosa.
La
Ingeniería de Computadoras está interesada en el diseño y construcción
de computadoras y sistemas basados en computadoras. Esto involucra el
estudio del hardware, software, comunicaciones, y la interacción entre
ellos. Su currículo se enfoca en las teorías, principios, y prácticas de
la Ingeniería Eléctrica tradicional y las matemáticas, y aplica estas a
los problemas de diseñar computadoras y dispositivos basados en computadoras.
Los
estudiantes de Ingeniería de Computadoras estudian el diseño de
sistemas hardware digitales, incluyendo computadoras, sistemas de
comunicación, y dispositivos que contienen computadoras. Ellos también
estudian el desarrollo del software enfocado en el software usado dentro
y entre dispositivos digitales (no programas de software directamente
usados por usuarios). El currículo enfatiza más hardware que software, y tiene un fuerte sabor a Ingeniería.
Actualmente,
un área dominante dentro de la Ingeniería de Computadoras es la de
sistemas embebidos, el desarrollo de dispositivos que tienen componentes
software embebidos en hardware. Por ejemplo, dispositivos tales como
teléfonos celulares, equipos de audio digital, equipos de video digital,
sistemas de alarma, máquinas de rayos X, y herramientas láser de
cirugía requieren la integración de hardware y software embebido, y
todas ellas son el resultado de la Ingeniería de Computadoras.
Computer Science (Ciencias de la Computación)
Las
Ciencias de la Computación abarca un amplio rango, desde sus
fundamentos teóricos y algorítmicos hasta avanzados desarrollos en
robótica, visión por computadora, sistemas inteligentes, bioinformática,
y otras excitantes áreas. Podemos pensar que el trabajo de los
científicos de la computación cae en tres categorías:
Ellos diseñan e implementan software.
Los científicos de la computación afrontan desafiantes tareas de
programación desafiantes. Ellos también supervisan a otros
programadores, manteniéndolos informados de nuevas avances.
Ellos
crean nuevas maneras de usar las computadoras. Progreso de las Ciencias
de la Computación en las áreas de Networking, Bases de Datos, e
interface humano-computadora permitieron el desarrollo del World Wide
Web. Ahora, los investigadores están trabajando para hacer que los
robots sean ayudantes prácticos que demuestren inteligencia, están
usando bases de datos para crear nuevo conocimiento, y están usando computadoras para ayudar a descifrar los secretos de nuestro ADN.
Ellos
desarrollan maneras efectivas de resolver problemas de computación. Por
ejemplo, los científicos en computación desarrollan las mejores
posibles maneras de almacenar información en bases de datos, enviar
datos a través de las redes, y mostrar imágenes complejas. Su base
teórica les permite determinar la mejor performance posible, y sus
estudios de algoritmos les ayudan a desarrollar nuevas métodos que
proporcionen mejores performances.
Las
Ciencias de la Computación abarca el rango de la teoría a la
programación. Mientras otras disciplinas pueden producir graduados mejor
preparados para trabajos específicos, las Ciencias de la Computación
ofrecen una fundamentación amplia y completa que permite a los graduados
adaptarse a nuevas tecnologías y nuevas ideas.
Information Systems (Sistemas de Información)
Los
especialistas en Sistemas de Información se enfocan en integrar las
soluciones en tecnologías de información y los procesos de los negocios
para cumplir con las necesidades de información de los negocios y otras
organizaciones, permitiéndoles alcanzar sus objetivos de una manera
efectiva y eficiente. La perspectiva de esta disciplina en la
“tecnología de información” enfatiza en la información, y ve a la
tecnología como un instrumento que permite la generación, procesamiento y
distribución de la información necesitada. Los profesionales en esta
disciplina están principalmente involucrados con la información que los
sistemas de computadoras pueden proporcionar para ayudar a una empresa
en definir y alcanzar sus metas, y los procesos que una empresa puede
implementar y mejorar usando tecnologías de información. Ellos deben
comprender tanto factores técnicos como organizacionales, y deben ser
capaces de ayudar a una organización en determinar como la información y
los procesos de negocios facilitados por la tecnología pueden
proporcionar una ventaja competitiva.
Los
especialistas en sistemas de información juegan un rol clave en
determinar los requerimientos de los sistemas de información de una
organización y está inmerso en su especificación, diseño, e
implementación. Como resultado, tales profesionales requieren de un
sólido entendimiento de los principios y prácticas organizacionales de
manera que puedan servir como un puente efectivo entre las comunidades
técnicas y administrativas de una organización, permitiendo a ellos
trabajar en armonía para asegurar que la organización tiene la
información y los sistemas que necesita para soportar sus operaciones.
Los profesionales en sistemas de información también están involucrados
en diseñar sistemas de comunicación y colaboración organizacional
basados en tecnologías.
Una
mayoría de programas de Sistemas de Información están ubicados en
escuelas de negocios. Todos los programas de sistemas de información
combinan cursos de computación y negocios. Una amplia variedad de
programas de Sistemas de Información existen bajo diversos nombres los
cuales usualmente reflejan la naturaleza del programa. Por ejemplo,
programas en Computer Information Systems usualmente tienen fuerte
enfoque tecnológico, y programas en Management Information Systems
pueden enfatizar aspectos de organización y comportamiento de los
sistemas de información. Los nombres de estos programas no siempre son
consistentes.
Information Technology (Tecnología de Información)
Tecnologías
de Información es una etiqueta que tiene dos significados. En un
sentido amplio, el término “tecnologías de información” es usualmente
empleado para referirse a toda la computación. En el ámbito académico,
se refiere a los programas de pregrado que prepara estudiantes para
satisfacer las necesidades tecnológicas de los negocios, gobierno,
sector salud, escuelas, y otros tipos de organizaciones.
En
la sección previa, dijimos que Sistemas de Información se enfoca en los
aspectos de “información” de la “tecnologías de información”.
Tecnología de Información es el complemento de tal perspectiva: su
énfasis es más en la tecnología en sí misma que en la información que
procesa. Tecnología de Información es una disciplina nueva y rápidamente
creciente la cual empezó como una respuesta muy básica a las
necesidades prácticas y cotidianas de los negocios y otras
organizaciones. Hoy en día, organizaciones de todo tipo dependen de las
tecnologías de información. La necesitan para tener sistemas apropiados.
Estos sistemas deben trabajar adecuadamente, deben ser seguros, y deben
ser mejorables, mantenibles, y reemplazables cuando sea necesario. Las
personas a lo largo de una organización requieren el soporte del staff
de tecnología de información que entienda los sistemas de computadoras y
su software, y que estén comprometidos a resolver cualquier problema
relacionado de las computadoras que podrían ocurrir. Los graduados de
programas de tecnología de información resuelven estas necesidades.
Los
programas en Tecnología de Información aparecen porque los programas en
las otras disciplinas de la computación no estaban produciendo una
adecuada oferta de graduados capaces de manejar estas reales
necesidades. Los programas de Tecnología de Información existen para
producir graduados que poseen la correcta combinación de conocimiento y
práctica, experiencia hands-on para tomar el cuidado tanto de la
infraestructura de tecnología de información de una organización como de
las personas que las utilizan. Los especialistas en Tecnología de
Información asumen la responsabilidad para seleccionar los productos de
hardware y software apropiados para una organización, integrando estos
productos con las necesidades organizacionales y su infraestructura, e
instalando, adecuando y manteniendo estas aplicaciones para los usuarios
de las computadoras de la organización. Ejemplos de estas
responsabilidades incluyen: la instalación de redes; administración y
seguridad de redes; el diseño de páginas web; el desarrollo de recursos
multimedia; la instalación de componentes de comunicación; la
supervisión de productos e-mail; y el planeamiento y administración del
ciclo de vida tecnológico por el cual la tecnología de una organización
es mantenida, mejorada, y reemplazada.
Software engineering (Ingeniería de Software)
La
Ingeniería de Software es la disciplina de desarrollo y mantenimiento
de sistemas software que se comportan de manera confiable y eficiente, y
que son factibles de desarrollar y mantener. Esto refleja sus orígenes
como se bosquejó en la sección 2.2.2. Sin embargo, más recientemente ha
evolucionado en respuesta a la creciente importancia del software en
aplicaciones de seguridad crítica y para el creciente impacto de grandes
y costosos sistemas software en un amplio rango de situaciones. La
Ingeniería de Software es diferente en su carácter de otras disciplinas
de Ingeniería, debido tanto a la naturaleza intangible del software y a
la naturaleza discontinua de la operación del software. Esta busca
integrar los principios de las matemáticas y las ciencias de la
computación con las prácticas de Ingeniería desarrollada para objetos
físicos tangibles. Los estudiantes interesados pueden esperar ver a la
Ingeniería de Software presentada en dos contextos:
Programas
en Ciencias de la Computación ofrecen uno o más cursos de Ingeniería de
Software como parte de su currículo en Ciencias de la Computación.
Algunos ofrecen una concentración de múltiples cursos de Ingeniería de
Software dentro de Ciencias de Computación.
Un cierto número de instituciones ofrecen un programa en pregrado en Ingeniería de Software.
Los
programas en Ciencias de Computación y en Ingeniería de Software tienen
muchos cursos en común. Los estudiantes de Ingeniería de Software
aprenden más acerca de confiabilidad y mantenimiento del software y se
enfocan más en técnicas para desarrollar y mantener software que es
correcto desde su concepción. Mientras los estudiantes de Ciencias de la
Computación probablemente hayan escuchado de la importancia de tales
técnicas, el conocimiento y experiencia ingenieril proporcionado en
programas de Ingeniería de Software va más allá de lo que los programas
de Ciencias de la Computación pueden proporcionar. Tal es la importancia
de esto que una de las recomendaciones del reporte de Ingeniería de
Software es que durante su programa de estudios, los estudiantes de
Ingeniería de Software deben participar en el desarrollo de software a
ser usado seriamente por otros. Los estudiantes de Ingeniería de
Software aprenden como asegurar las necesidades de los clientes y
desarrollan software usable que satisface estas necesidades. Conociendo
como proporcionar software genuinamente útil y usable es de máxima
importancia.
En
el campo laboral, el término “Ingeniero de Software” es un cargo
laboral. No hay una definición estándar para este término cuando se usa
como una descripción laboral. Su significado varía ampliamente entre
empleadores. Este puede ser un título equivalente a “programador de
computadoras” o un título para aquellos que administran un proyecto de
software grande, complejo y/o de seguridad crítica. El público no debe
confundir la disciplina de la Ingeniería de Software con el ambiguo uso
del término “Ingeniero de Software” al ser usado la publicidad de
ofertas de empleo y en cargos laborales.