What is that Thing Called Computer Science? Nadya Schokosva , Irina Buskova

RACCIS, 3(1), 12-18, 2013
Revista Antioqueña de las
Ciencias Computacionales y la Ingeniería de Software
ISSN: 2248-7441
www.fundacioniai.org/raccis
[email protected]
What is that Thing Called Computer Science?
¿Qué es esa Cosa Llamada Ciencias Computacionales?
Nadya Schokosva1, Irina Buskova2
Software Engineering Institute. 1Nadya.s(AT)softute.ro; 2Irina.b(AT)softute.ro
INFORMACIÓN DEL ARTÍCULO
Tipo de artículo: Reflexión
Historia del artículo
Recibido: 10-01-2013
Correcciones: 15-04-2013
Aceptado: 20-04-2013
Categories and Subject Descriptors
K.3.2 [Computers and Education]:
Computer and Information Science
Education – Computer science
education.
General Terms
Computer Science, Computing,
Algorithms.
ABSTRACT
XXI century society, called Knowledge Society, has a direct dependency of the software
products, considered by many as the most important development of modern technology.
This dependence generates the need of scientists and professionals who research and
develop products that meet social demands. This article describes the computer science
area as one of the most demanded professions in this reality, and in order to make it known
to more people.
RESUMEN
La sociedad del siglo XXI, llamada Sociedad del Conocimiento, tiene una dependencia directa
de los productos software, considerados por muchos como el desarrollo más importante de
la tecnología moderna. Esa dependencia genera la necesidad de que científicos y
profesionales investiguen y desarrollen productos que satisfagan las demandas sociales. En
este artículo se describe el área de las Ciencias Computacionales como una de las
profesiones más demandadas en esta realidad, y con el objetivo de darla a conocer a un
mayor número de personas.
Keywords
Computer Science, Software
Engineering, Computer Engineering,
computational scientists.
Palabras clave
Ciencias Computacionales,
Ingeniería de Software, Ingeniería
Informática, científicos
computacionales.
1. INTRODUCCIÓN
En los 30, Turing y Church desarrollaron los principios
matemáticos fundamentales de la computación. Los
principios computacionales implementados en la década
de 1940 por von Neumann, Wilkes, Eckert, Atanasoff y
otros, dieron lugar al nacimiento de la computación
científica y comercial en los años 50, lo mismo que de
lenguajes de programación matemática como Fortran,
comerciales como COBOL, y de Inteligencia Artificial como
LISP. En los 60, el rápido desarrollo y la consolidación de
la algoritmia, las estructuras de datos, las bases de datos y
los sistemas operativos formaron el núcleo de lo que hoy
se conoce como Ciencias Computacionales tradicionales, y
en los 70 surgió la Ingeniería de Software, la
programación estructurada y la orientada por objetos. La
aparición en los 80 de la computación personal y las
redes, preparó el escenario para el progreso del
paralelismo, la graficación computacional y la tecnología
del software. En los 90 apareció la Internet como un
© 2013 IAI. All rights reserved.
medio para el intercambio académico y científico, y como
un vehículo para el comercio y la comunicación
internacional [1]. Las Ciencias Computacionales entonces
se consolidaron como el estudio de los procesos
computacionales y las estructuras de la información,
incluyendo sus realizaciones hardware y modelos
lingüísticos, y sus aplicaciones [2].
Por otro lado, el uso rápido y generalizado de los
computadores y de las tecnologías de la información ha
generado una necesidad de trabajadores altamente
cualificados con dominio en diversas áreas de trabajo.
Estos especialistas en informática son los científicos
computacionales y los analistas de sistemas. Las áreas de
trabajo y los títulos ocupacionales utilizados para
describirlos evolucionan rápida y continuamente,
reflejando nuevas áreas de especialización o cambios en
la tecnología, así como las preferencias y prácticas de los
empleadores.
12
Los científicos computacionales se desempeñan como
teóricos, investigadores o inventores. Su trabajo se
caracteriza por un mayor nivel de conocimientos teóricos
y de innovación, el cual aplican a problemas complejos y a
crear o aplicar nuevas tecnologías. Las áreas de
investigación de las Ciencias Computacionales (CC) van
desde las teorías complejas para diseñar hardware hasta
el diseño de lenguajes de programación. Algunos
investigadores trabajan en proyectos multidisciplinares,
como el desarrollo y el uso avanzado de la realidad
virtual, extendiendo la interacción persona-computador,
o el diseño de robots. Pueden trabajar en equipos de
diseño con ingenieros eléctricos, ingenieros de software y
otros especialistas. Además, los investigadores en
Ciencias Computacionales empleados en las instituciones
académicas desempeñan funciones similares en muchos
aspectos a las empleadas en otras organizaciones. En
general, tienen más flexibilidad para centrarse en la teoría
pura, mientras que los que trabajan en otras
organizaciones por lo general se centran en proyectos que
tienen la posibilidad de generar patentes y beneficios. Sin
embargo, algunos en entornos no académicos tienen una
considerable libertad para determinar el rumbo de su
investigación [3].
Con la Internet y el comercio electrónico se generan
grandes volúmenes de datos, y existe una creciente
necesidad de almacenarlos, gestionarlos y extraerlos de
manera eficaz. Los administradores de bases de datos
trabajan con software de sistemas de gestión de base de
datos y determinan maneras de organizar y almacenar
esos datos. Identifican las necesidades del usuario y
diseñan nuevas bases de datos informáticas. En muchos
casos, estos administradores deben integrar los datos de
los sistemas obsoletos en un nuevo sistema; también
prueban y coordinan las modificaciones en el sistema
cuando sea necesario y resuelven los problemas cuando
ocurren. Estos profesionales aseguran el rendimiento del
sistema, comprenden la plataforma en la que se ejecuta la
base de datos, y añaden nuevos usuarios al sistema.
Debido a que muchas bases de datos están conectadas a
Internet, también deben planificar y coordinar las
medidas de seguridad con los administradores de la red.
Con el creciente volumen de datos sensibles, el aumento
en la interconexión de las redes de computadores, la
integridad de datos y los sistemas de resguardo, la
seguridad de las base de datos se han convertido cada vez
más en un aspecto importante de la labor de estos
administradores [3].
Los analistas de sistemas, también conocidos como
arquitectos de sistemas, diseñan, prueban, evalúan e
integran sistemas, como las redes de área local (LAN) y de
área amplia (WAN), Internet, intranets y otros sistemas
de comunicación y de tratamiento de datos. Los sistemas
actuales están configurados de muchas maneras y pueden
ir desde una conexión entre dos oficinas en el mismo
edificio hasta redes distribuidas globalmente, correo de
voz y sistemas de correo electrónico de una organización
multinacional. Los arquitectos realizan el modelado, el
análisis y la planificación de las redes, que a menudo
requieren tanto soluciones de hardware como de
software. Por ejemplo, una red puede implicar la
instalación de varios componentes hardware, como
routers y concentradores, adaptadores inalámbricos y
cables, al mismo tiempo que la instalación y configuración
del software respectivo, como los controladores de red y
la integración al sistema de información de la
organización. Los analistas también pueden investigar los
productos y hacer recomendaciones en el hardware y el
software necesarios [3].
En el resto de este artículo se presenta una descripción
detallada del área de conocimiento y de trabajo de las
Ciencias Computacionales. El objetivo es ofrecer la mayor
información posible acerca de esta área del conocimiento,
considerada como la base para el desarrollo de otras
dependientes como las ya mencionadas bases de datos y
arquitectura de sistemas, y de otras de gran importancia
como la Ingeniería de Software. Con la información que
aquí se presenta será posible que los interesados en
alguna de ellas puedan comprenderlas mejor y para que
los estudiantes tengan mejores bases para tomar la
decisión de estudiar Ciencias Computacionales.
2. FORMACIÓN
Los Científicos Computacionales deben ser creativos,
inquisitivos, analíticos y orientados al detalle. Deben
tener buenos conocimientos en matemáticas, incluyendo
cálculo, probabilística y estadística, y de sistemas
informáticos. También es necesaria la adecuada
preparación en una o más de las ciencias básicas, como
física, química, o biología. Es importante que posean
habilidades para trabajar en equipo y para comunicarse
tanto verbal como por escrito, porque el trabajo en esta
área con frecuencia requiere la interacción con
especialistas por fuera de la informática o la ingeniería.
Para perfeccionar estas habilidades se recomienda
dominar una segunda lengua, básicamente inglés, ser un
buen lector y escritor, y desarrollar su capacidad como
ser humano social [4].
2.1 Ciencias
Computacionales
vs
Ingeniería
Informática vs Ciencias de la Información
Muchos programas de pregrado de cuatro y cinco años en
Ciencias Computacionales e Ingeniería Informática están
acreditados por el Accreditation Board for Engineering
and Technology (ABET), y normalmente están adscritos a
las escuelas de ingeniería. En algunos casos, como por
ejemplo en el MIT y en Berkeley, los títulos se ofrecen en
el Departamento de Ingeniería Eléctrica y Ciencias
Computacionales. Otra característica común es que existe
una considerable superposición en los pregrados de
Ingeniería Informática y Ciencias Computacionales. La
principal diferencia entre ellos es que el primero requiere
un componente de diseño para ingeniería [5].
Los pregrado en Ciencias de la Información están
diseñados para preparar a los estudiantes en la aplicación
de los computadores en los negocios. Por lo tanto,
generalmente residen en las escuelas de negocios y no
están acreditados por ABET, aunque existen algunos
programas acreditados que se ofrecen en escuelas de
ingeniería. Además de los cursos en programación,
13
organización y operación de computadores, redes y bases
de datos, estos programas requieren cursos en negocios y
administración, y una menor cantidad de cursos en
matemáticas y ciencias que los necesarios en Ciencias
Computacionales e Ingeniería Informática.
2.2 Cursos de Estudio
En un programa típico de cuatro años y con semestres de
120 horas, los estudiantes de Ciencias Computacionales
asisten a 40 horas semestrales en temas propios del área,
a 30 horas en temas de matemáticas ―matemáticas
discretas, cálculo diferencial e integral y probabilística y
estadísticas― y de ciencia, que deben incluir trabajo de
laboratorio. En esas horas recibirán formación en lógica,
abstracción, algoritmia, estructuras de datos, diseño de
software, conceptos de lenguajes de programación y
organización y arquitectura de computadores. Además,
fundamentos teóricos, análisis y resolución de problemas
y diseño de soluciones. Estarán expuestos a una variedad
de lenguajes y sistemas de programación ―generalmente
como trabajo independiente―, y deben ser competentes
en al menos un lenguaje de alto nivel y en métodos
formales. Desarrollarán habilidades de comunicación
verbal y escrita y recibirán formación general en
humanidades y en áreas sociales y artes.
2.3 Formación continua
En el campo de la computación los avances tecnológicos
vienen tan rápidamente que es necesaria la formación
continua, luego de la graduación, para mantener las
habilidades adquiridas. Los empleadores, los proveedores
de hardware y de software, las asociaciones, las
universidades y las instituciones privadas ofrecen este
tipo de formación. El entrenamiento adicional también
puede provenir de seminarios profesionales ofrecidos por
las sociedades en informática.
2.4 Programas acreditados
Los interesados en carreras en Ciencias Computacionales
deben considerar la revisión de los programas que están
acreditados por ABET. Esta acreditación se basa en una
evaluación al rendimiento de los estudiantes del
programa, al mejoramiento del programa, el profesorado,
los contenidos curriculares, las instalaciones, y el
compromiso institucional. En cada país que ofrecen
pregrados en esta área del conocimiento tienen otros
estándares para acreditar los programas, pero en
términos generales deben apuntar a que cada día se
ofrezca mejores profesionales a la sociedad.
3. ÁREAS DE ESPECIALIDAD
La mayoría de Científicos Computacionales se clasifican
por sus áreas de interés. La siguiente es una lista de las
áreas de especialidad dentro de las CC:






Algoritmos y Teoría
Inteligencia Artificial
Arquitectura y Computación Paralela
Bioinformática y Biología Computacional
Bases de Datos y Sistemas de Información
Gráficos, Visualización e Interfaces
Computador
Hombre-






Sistemas Distribuidos y Redes
Lenguajes de programación
Sistemas y Métodos Formales
Ingeniería de Software
Computación Científica
Teoría Computacional
3.1 Algoritmos y Teoría
La investigación en esta área se centra en el diseño y
análisis de algoritmos y estructuras de datos para los
problemas que surgen en diversas áreas de las Ciencias
Computacionales, incluidas la Verificación automática de
software, la geometría computacional, la minería de datos
y el aprendizaje automático.
3.2 Inteligencia Artificial
Esta área de especialización se centra en una amplia gama
de temas que incluyen la representación del
conocimiento, el aprendizaje, la visión, el razonamiento, la
robótica, los sistemas de información y la planificación.
Las áreas de aplicación incluyen a la biología molecular, la
manufactura, la teoría de control y la codificación.
3.3 Arquitectura y Computación Paralela
El área de arquitectura se centra especialmente en
desarrollar arquitecturas, diseñar hardware, lenguajes de
programación y sus compiladores, para computadores de
última generación y componentes informáticos. En
computación paralela se trabaja en proyectos de diversos
tamaños y se investiga los aspectos del software
computacional en computadores con multi-procesadores.
3.4 Bioinformática y Biología Computacional
La investigación en esta área incluye el desarrollo de
algoritmos eficientes y escalables para la simulación
biomolecular y la aplicación de la minería de datos, el
aprendizaje estadístico automático, el procesamiento del
lenguaje natural y la recuperación de información para
analizar y extraer todo tipo de datos biológicos,
incluyendo secuencias de ADN, secuencias y estructuras
de proteínas, micro-arreglos de datos y literatura de
biología, con el propósito de facilitar los descubrimientos.
3.5 Bases de Datos y Sistemas de Información
Los científicos que trabajan en esta área llevan a cabo
investigación de vanguardia en bases de datos, minería de
datos, minería web, recuperación de información y
procesamiento del lenguaje natural. Los enfoques
actuales podrían incluir la integración de datos, la
exploración y la integración de la "Web profunda", la
seguridad, los flujos de minería de datos y los datos
secuenciales y semi-estructurados, el soporte a los
sistemas
operativos
para
los
sistemas
de
almacenamiento, recuperación de textos, bioinformática,
soporte para bases de datos para la computación de alto
rendimiento y el procesamiento de consultas top-k.
3.6 Gráficos, Visualización e Interfaces HombreComputador
La investigación en gráficos y visualización incluye el
modelado y la animación de los fenómenos naturales, la
topología computacional, la utilización de hardware de
14
gráficos, renderización basada en imágenes, superficies
implícitas, procesamiento y simplificación de mallas,
procesos de modelado y texturización, modelado de
formas, parametrización de superficies y procesamiento
de la visibilidad. La investigación en interfaces hombrecomputador involucra herramientas de interfaz de
usuario que apoyan mejor las primeras tareas de diseño,
es decir, sistemas y ambientes que les ayudan a los
usuarios a mantener el conocimiento de la información,
herramientas para la creación y el diseño multimedia,
interfaces que fomentan la interacción social y en general
la interacción humano-computador.
3.7 Sistemas Distribuidos y Redes
La investigación en el grupo de Redes y Sistemas
Distribuidos incluye una amplia gama de temas, entre los
que se encuentran los sistemas móviles, los protocolos
inalámbricos, las redes ad-hoc, la gestión de la calidad del
servicio, las redes multimedia, las redes peer-to-peer, el
enrutamiento, las simulaciones de red, la gestión de cola
activa y las redes de sensores.
El área de los Sistemas Operativos se centra en la gestión
de recursos distribuidos, la gestión de los entornos de
computación ubicua, middleware reflexivo, sistemas
meta-operativos middleware, diseño de sistemas
operativos orientados por objetos, interfaces que les
permitan a los usuarios individuales interactuar con
múltiples computadores, servicios para sistemas
operativos
peer-to-peer,
sistemas
de
archivos
distribuidos en contextos sensitivos, gestión de energía
para centros de datos, sistemas de almacenamiento de
archivos, computación autonómica, sistemas de soporte
para software robusto, y sistemas de soporte para bases
de datos. La investigación en seguridad incluye
arquitecturas de seguridad dinámica, seguridad para
redes activas, privacidad, autenticación, autorización,
control de acceso, confianza en entornos de computación
ubicua para usuarios móviles, autenticación en redes de
sensores, especificación y validación de las políticas de
control de acceso de seguridad, simulación de problemas
de seguridad en redes y sus soluciones incluyendo la
denegación de servicio, y la próxima generación de
seguridad telefónica. En Sistemas de tiempo real y
Embebidos las áreas de investigación incluyen sistemas
en tiempo real QoS conducidos por protocolos de
programación y de comunicación, diseño integrado de
controladores y planificadores en tiempo real, integración
en tiempo real, protocolos de tolerancia a fallos y de
seguridad y dinámica y arquitectura en tiempo real para
dispositivos de red y espacios inteligentes.
3.8 Lenguajes de Programación, Sistemas y Métodos
Formales
Los científicos que trabajan en esta área estudian e
investigan el diseño y la implementación de lenguajes de
programación, con el objetivo de mejorar tanto la
productividad del desarrollador como la calidad del
programa. Los temas van desde las teorías abstractas de
los lenguajes de programación hasta las cuestiones
prácticas acerca del uso y la implementación de lenguajes
de alto nivel. La investigación en Métodos Formales
incluye áreas como especificación formal, lenguajes
formales, matemáticas computacionales, lenguajes de
especificación formal, Verificación.
3.9 Ingeniería de Software
El software es el desarrollo tecnológico de mayor impacto
en la actual Sociedad del Conocimiento y como tal se
deben realizar procesos de investigación en Ingeniería de
Software para mejorar la calidad de sus productos. Las
áreas de investigación en este campo cubren temas como
Ingeniería de Requisitos, pruebas del software,
automatización de las pruebas, Verificación y Validación,
integración de sistemas, formalización, simulación y
lógica y abstracción.
3.10 Computación Científica
Las personas que trabajan en esta área conducen
investigaciones en desarrollo y análisis de técnicas
numéricas para aproximar los modelos matemáticos de
sistemas físicos y algoritmos a la resolución de las
ecuaciones resultantes en los sistemas informáticos de
alto rendimiento. Las aplicaciones científicas y de
ingeniería específicas consideradas incluyen: dinámicas
de biología molecular, ciencias de los materiales,
simulación de semiconductores, astrofísica y diseño de
cohetes de combustible sólido.
3.11 Teoría Computacional
En las Ciencias Computacionales teóricas y las
matemáticas, la teoría computacional es la rama que se
ocupa de y cómo resolver problemas de manera eficiente
en un modelo computacional, utilizando la algoritmia.
Actualmente existen varios modelos pero el más
examinado es la máquina de Turing, porque es fácil de
formular, puede ser analizado y utilizado para demostrar
resultados, y porque representa lo que muchos
consideran el más poderoso y posible modelo "razonable"
de la computación. El campo de la Teoría Computacional
se divide en tres ramas principales [6]: 1) teoría de
autómatas, 2) teoría de la computabilidad y 3) teoría de la
complejidad computacional (Ver la Figura 1).
4. HABILIDADES Y DESTREZAS
Los Científicos Computacionales deben ser capaces de
pensar lógicamente y tener buenas habilidades
comunicativas, además de desarrollar una capacidad
lógico-interpretativa y abstractiva que les permita
comprender los problemas antes de analizarlos y
solucionarlos. Debido a que a menudo se enfrentan con
una serie de tareas simultáneas, es importante que
posean capacidad de concentración, de observación y
prestar mucha atención a los detalles. Para lograrlo deben
poseer conocimientos sólidos en matemáticas y ciencias
básicas, ser buenos oradores y tener vocación por escribir
y hablar en público, porque parte de su trabajo consiste
en publicar resultados y exponerlos ante la comunidad
científica internacional. Los Científicos Computacionales
Teóricos proponen teorías y demuestran o desmienten
hipótesis, y los resultados los comunican a las diferentes
comunidades
relacionadas,
mientras
que
los
Experimentales se orientan a demostrar teorías o simular
las demostraciones propuestas por los primeros [4].
15
Figura 1. Relación entre la Teoría Computacional, la Teoría de la Complejidad y la Teoría de los Lenguajes Formales [6]
Por su propia naturaleza, las Ciencias Computacionales es
una disciplina multifacética que se puede ver a partir de
por lo menos cuatro perspectivas diferentes. Tres de ellas,
la teoría, la abstracción y el diseño subrayan la idea de que
los científicos computacionales en todas las áreas pueden
enfocar su trabajo desde diferentes puntos de vista y
objetivos intelectuales, mientras que en la cuarta, el
contexto social y profesional, se reconoce que las
aplicaciones de estas ciencias afectan directamente la
calidad de vida de las personas, de modo que los
científicos deben comprender y confrontar los problemas
sociales con los que su trabajo se tropieza exclusiva y
regularmente.
4.1 Teoría
La Teoría de las Ciencias Computacionales se basa en los
principios de las matemáticas y de los métodos formales
de las ciencias físicas, biológicas y de comportamiento y
de las áreas sociales. Normalmente se requiere aplicar las
ideas abstractas y los métodos tomados de sub-campos de
las matemáticas, como la lógica, el álgebra, el análisis y la
estadística. También incluye el uso de diversas técnicas de
prueba y argumentación, como la inducción y la
contradicción, para establecer propiedades de los
sistemas formales que justifican y explican lo que subyace
a los algoritmos básicos y a las estructuras de datos
utilizados en los modelos computacionales. Los ejemplos
incluyen el estudio de los problemas sin solución
algorítmica y el estudio de los límites superior e inferior
de la complejidad de diversas clases de problemas
algorítmicos.
4.2 Abstracción
La abstracción en las Ciencias Computacionales incluye el
uso de la investigación científica, el modelado y la
experimentación para probar la validez de las hipótesis
sobre los fenómenos computacionales. Todos los
científicos computacionales utilizan la abstracción como
una herramienta fundamental de investigación, y muchos
podrían argumentar que las Ciencias Computacionales
son en sí la ciencia de la construcción y el examen de los
modelos computacionales abstractos de la realidad. La
abstracción surge en la arquitectura de computadores,
donde la máquina de Turing sirve como un modelo
abstracto para los equipos reales complejos, y en los
lenguajes de programación, donde se utilizan modelos
semánticos simples, como el cálculo lambda, como marcos
para el estudio de lenguajes complejos; también aparece
en el diseño de algoritmos heurísticos y en la
aproximación a problemas cuya solución óptima es
intratable computacionalmente. Además, se utiliza en los
gráficos y la computación visual, donde los modelos de los
objetos
tridimensionales
se
construyen
matemáticamente, debido a que las propiedades de
iluminación, color y textura de la superficie, se proyectan
de manera realista en una pantalla bidimensional.
4.3 Diseño
El diseño es un proceso mediante el cual se modela la
estructura esencial de los sistemas complejos como el
preludio para su aplicación práctica. También abarca el
uso de métodos tradicionales de ingeniería, incluyendo al
modelo de ciclo de vida clásico, para implementar
sistemas computacionales eficientes y útiles en hardware
y software. Incluye el uso de herramientas como el
análisis costo-beneficio de las alternativas, el análisis de
riesgos y la tolerancia a fallos que garantizan que las
aplicaciones se implementen efectivamente. El diseño es
una preocupación central de los arquitectos de sistemas y
los ingenieros de software que desarrollan sistemas
hardware y aplicaciones software. El diseño es una
actividad
muy
importante
en
las
Ciencias
Computacionales, la gestión de la información, la
interacción humano-computador, los sistemas operativos
y la computación centrada en red.
4.4 Contexto social y profesional
Este contexto incluye muchas de las preocupaciones que
surgen en la interfaz humano-computador, como la
responsabilidad por los errores de hardware y software,
la seguridad y la privacidad de la información en bases de
datos y redes, las cuestiones de propiedad intelectual y
equidad y de patentes y derechos de autor. Los científicos
computacionales deben considerar el contexto ético en el
que se produce su trabajo y las responsabilidades
especiales que lo asisten.
5. PROSPECTIVA
De acuerdo con el US Department of Labor, Bureau of
Labor Statistics, las Ciencias Computacionales será una de
las ocupaciones de más rápido crecimiento en las
próximas décadas [7]. El fuerte crecimiento del empleo
combinado con la cantidad limitada de profesionales
cualificados dará como resultado buenas perspectivas de
16
empleo para esta ocupación y una alta demanda de sus
habilidades. Se espera que el porcentaje de ocupación de
estos científicos sea de un 37% hasta 2016, mucho más
rápido que el promedio para todas las ocupaciones.
Debido a los desarrollos tecnológicos de este siglo las
organizaciones necesitan profesionales para adoptar e
integrar productos cada vez más sofisticados. El aumento
del empleo será impulsado por un crecimiento rápido en
el diseño de sistemas informáticos y los servicios conexos,
que se prevé será una de las industrias de más rápido
crecimiento en la economía mundial. La demanda por
redes que faciliten el intercambio de información, la
expansión de los entornos cliente-servidor, y la necesidad
de especialistas en informática para utilizar sus
conocimientos y habilidades como capacidad para la
resolución de problemas serán los principales factores en
el aumento de la demanda para los Científicos
Computacionales. Las empresas seguirán buscando a
quienes sean capaces de implementar las últimas
tecnologías y de aplicarlas para atender sus necesidades,
en la lucha por mantener una ventaja competitiva.
Debido a que los computadores se utilizan cada vez más
en las funciones de negocio, igualmente se necesita
implementar tecnología más sofisticada y compleja en las
organizaciones, lo que genera la demanda por
profesionales mejor calificados. La expansión del
comercio electrónico y la continua necesidad de construir
y mantener bases de datos para almacenar información
crítica,
están
impulsando
la
demanda
por
administradores de bases de datos familiarizados con las
tecnologías de punta.
Además, debido a la creciente dependencia de Internet
entre las empresas, la seguridad de la información es una
preocupación constante. La expansión de la integración
de las tecnologías de Internet en las empresas ha dado
lugar a una creciente necesidad de especialistas que
puedan desarrollar y apoyar las aplicaciones de Internet e
intranet, y el crecimiento del comercio electrónico
significa que más establecimientos utilizan la Internet
para llevar a cabo sus negocios en línea, lo que genera
demanda por más especialistas en seguridad para
proteger sus sistemas. El crecimiento explosivo en estas
áreas también se espera que impulse la demanda de
profesionales bien capacitados en redes de datos y en la
seguridad de las comunicaciones. La tecnología de este
siglo es cada vez más sofisticada y compleja, por lo que
exigirán un mayor nivel de habilidades y experiencias de
quienes la administran. Las personas con un grado
avanzado en Ciencias Computacionales o Ingeniería
Informática deberán disfrutar de perspectivas de empleo
favorables. Esto se debe a que los empleadores
continuarán buscando especialistas que puedan combinar
fuertes habilidades técnicas con buenas habilidades de
negocios, y los individuos con una combinación de
experiencia dentro y fuera de la arena tendrán mejores
posibilidades de trabajo.
6. ORGANIZACIONES PROFESIONALES
Las organizaciones y asociaciones profesionales ofrecen
una amplia gama de recursos para planificar y navegar
por una carrera en Ciencias Computacionales. Estos
grupos juegan un papel clave en el desarrollo del área y
mantienen a los interesados al tanto de lo que está
sucediendo en la industria. Las asociaciones promueven
los intereses de sus miembros y proporcionan una red de
contactos que ayudan a encontrar puestos de trabajo y a
lograr mejor cualificación. Ellas pueden ofrecer una
variedad de servicios, incluidos el de referencias de
empleo, cursos de formación continua, aseguramiento,
publicaciones periódicas y reuniones y oportunidades
para conferencias. A continuación se describen algunas de
estas asociaciones, pero una lista más amplia está
disponible en www.careercornerstone.org.
Association for Computing Machinery ACM (www.acm.org)
Fundada en 1947, ACM es una fuerza importante para el
avance en los conocimientos de los profesionales en
tecnologías de la información y estudiantes de todo el
mundo. Sus más de 80.000 miembros actuales y el público
en general ingresan al portal de literatura, relacionada en
publicaciones autorizadas y conferencias pioneras, que
proporciona liderazgo y conocimiento permanente para
el siglo XXI.
Institute of Electrical and Electronics Engineers IEEE
(www.ieee.org)
Las raíces del IEEE se remontan a 1884, cuando la
electricidad empezaba a convertirse en una fuerza
importante en la sociedad. Es una asociación dedicada a
promover la innovación y la excelencia tecnológica en
beneficio de la humanidad, y es la sociedad técnica
profesional más grande del mundo. Está diseñado para
servir a los profesionales involucrados en todos los
aspectos de los campos eléctricos, electrónicos y de
computación, y áreas afines de la ciencia y la tecnología
en la que se basa la civilización moderna.
IEEE Computer Society (www.computer.org)
Con más de 100.000 miembros, IEEE es la organización de
profesionales en informática líder a nivel mundial.
Fundada en 1946, es la más grande de las 39 sociedades
del IEEE.
7. CONCLUSIONES
Este artículo tiene como objetivo caracterizar las Ciencias
Computacionales, incorporando el crecimiento explosivo
de Internet y la creciente importancia de las áreas
temáticas como la interacción persona-computador, la
computación científica masivamente en paralelo, la
tecnología de la información ubicua, y otros sub-campos
que podrían no haber aparecido hace diez años.
El campo de las Ciencias Computacionales ha
experimentado una dramática evolución en sus cortos 70
años de vida. A medida que madura, emergen nuevas
áreas de investigación y de aplicación y se unen a los
descubrimientos clásicos en un ciclo continuo de la
revitalización y crecimiento. En 2002, ACM celebraba su
55 aniversario. En estas cinco décadas las Ciencias
Computacionales se caracterizaron por un alto
crecimiento y evolución. A pesar de que es seguro
reafirmar que este campo ha alcanzado cierto nivel de
17
madurez, seguramente es claro suponer que no se
mantendrá sin cambios durante mucho tiempo. Porque la
comunidad está pidiendo y trabaja en nuevas visiones que
le permitan a la disciplina seguir su rápida evolución
como respuesta a la continua demanda mundial de
nuevas tecnologías e innovaciones.
requiere una considerable energía y el compromiso y la
inversión real por parte de instituciones y profesionales
de todos campos. Los desafíos son grandes, y las
soluciones no son susceptibles de ser obvias.
Este trabajo está diseñado para comunicar el espíritu
moderno, los logros y la dirección de las Ciencias
Computacionales. Se proporcionan respuestas actuales a
las preguntas computacionales planteadas por los
profesionales e investigadores que trabajan en las áreas
temáticas que conforman estas Ciencias. Además, se
identifican las cuestiones profesionales y sociales que se
encuentran en la intersección de los aspectos técnicos y
de las personas cuyas vidas se ven afectadas por este tipo
de tecnologías.
[1] Stevenson, D.E. (1994). Science, computational science, and
computer science. Communications of the ACM, 37(12), pp.
85-96.
[2] Gibbs, N. & Tucker, A. (1986). A Model Curriculum for a
Liberal Arts Degree in Computer Science. Communications
of the ACM, 29(3), pp. 202-210.
[3] Bryant, R.E. & Vardi, M.Y. (2002). 2000–2001 Taulbee
Survey: Hope for More Balance in Supply and Demand.
Computing Research News, 14(2), pp. 4-11.
[4] http://ai.stanford.edu/users/sahami/CS2013/ [Feb. 2013].
[5] Denning, P. et al. (1989). Computing as a discipline:
preliminary report of the ACM task force on the core of
computer science. Communications of the ACM, 20(1), pp.
41.
[6] Sipser, M. (2012). Introduction to the Theory of
Computation. Wadsworth Publishing Co Inc.
[7] Advisory Committee for Cyber-infrastructure. (2011). Task
Force on Grand Challenges. National Science Foundation.
Final Report.
El futuro es muy prometedor para las próximas
generaciones de científicos computacionales. Porque van
a resolver los problemas que recientemente se están
concibiendo, como los "grandes desafíos" sugeridos por el
Advisory Committee for Cyberinfrastructure de la
National Science Foundation (National Science
Foundation 2011). Para hacerles frente a estos problemas
de forma que se beneficie a los ciudadanos del mundo se
8. REFERENCIAS
18