1. Las ciencias de la computación o ciencias
computacionales son aquellas que abarcan las
bases teóricas de la información y la
computación, así como su aplicación en
sistemas computacionales.1 2 3 Existen
diversos campos o disciplinas dentro de las
ciencias de la computación o ciencias
computacionales; algunos resaltan los
resultados específicos del cómputo (como los
gráficos por computadora), mientras que otros
(como la teoría de la complejidad
computacional) se relacionan con propiedades
de los algoritmos usados al realizar cómputos y
otros se enfocan en los problemas que
requieren la implementación de cómputos. Por
ejemplo, los estudios de la teoría de lenguajes
de programación describen un cómputo,
mientras que la programación de
computadoras aplica lenguajes de programación
específicos para desarrollar una solución a un
problema computacional específico.
La informática se refiere al tratamiento
automatizado de la información de una forma útil
y oportuna. No se debe confundir el carácter
teórico de esta ciencia con otros aspectos
prácticos como el uso de Internet
Historia
La historia de la ciencia de la computación
antecede a la invención del computador digital
moderno. Antes de la década de 1920, el
término computador se refería a un ser humano
que realizaba cálculos.5 Los primeros
investigadores en lo que después se convertiría
las ciencias de la computación estaban
interesados en la cuestión de la computabilidad:
qué cosas pueden ser computadas por un ser
humano que simplemente siga una lista de
instrucciones con lápiz y papel, durante el
tiempo que sea necesario, con ingenuidad y sin
conocimiento previo del problema. Parte de la
motivación para este trabajo era el desarrollar
Que es la computasion ?
2. máquinas que computaran y que pudieran
automatizar el tedioso y falible trabajo de la
computación humana.
Durante la década de 1940, conforme se
desarrollaban nuevas y más poderosas
máquinas para computar, el término
computador se comenzó a utilizar para
referirse a las máquinas y ya no a sus
antecesores humanos. Conforme iba quedando
claro que las computadoras podían usarse
para más cosas que solamente cálculos
matemáticos, el campo de la ciencia de la
computación se fue ampliando para estudiar a
la computación (informática) en general. La
ciencia de la computación comenzó entonces a
establecerse como una disciplina académica
en la década de 1960, con la creación de los
primeros departamentos de ciencia de la
computación y los primeros programas de
licenciatura (Denning 2000).
Campos de las ciencias de la computación
Criptografía
Consta de algoritmos para proteger
datos privados, incluido el cifrado.
Teoría de grafos
Recursos elementales para las
estructuras de almacenamiento de
datos y para los algoritmos de
búsqueda.
Lógica matemática
La lógica matemática estudia los
sistemas formales en relación con el
modo en el que se codifican nociones
intuitivas de objetos matemáticos como
conjuntos, números, demostraciones y
computación.
Teoría de tipos
Análisis formal de los tipos de
datos y el uso de estos para entender
las propiedades de los programas, en
particular la seguridad de estos.
Teoría de la computación
Teoría de la computación
Teoría de autómatas
Teoría de la computabilidad
Teoría de la complejidad computacional
Límites fundamentales (en especial de espacio en memoria y tiempo) de los cómputos.
Algoritmos y estructuras de datos
Análisis de algoritmos
3. Algoritmos
Procesos formales usados para los cómputos, y eficiencia de estos procesos.
Estructuras de datos
Organización y manipulación de los datos
Lógica y computabilidad
estudio de diferentes tipos de lógicas, su poder expresivo, decidibilidad, aplicaciones.
Especificación
desarrollo de métodos para definir formalmente (matemática y lógicamente) el
comportamiento esperado de un algoritmo, para luego probar terminación y correctitud.
Lenguajes de programación y compiladores
Compiladores
Formas de traducir programas computacionales, usualmente a partir de lenguajes de alto
nivel a lenguajes de bajo nivel.
Teoría de lenguajes de programación
Lenguajes formales para expresar
algoritmos y las propiedades de estos
lenguajes.
Bases de datos
Bases de datos
Estructura de datos
Minería de datos
Estudio de algoritmos para buscar y
procesar información en documentos y
bases de datos; muy relacionada con la
adquisición de información.
Sistemas concurrentes, paralelos y
distribuidos
Programación concurrente
Teoría y práctica de cómputos simultáneos y computación
interactiva.
Redes de computadoras
Algoritmos y protocolos para comunicar eficientemente
datos a través de largas distancias, incluye también la
corrección de errores.
Cómputo paralelo
Computación con el uso de múltiples computadoras y
múltiples procesadores en paralelo.
Sistemas distribuidos
Sistemas que utilizan múltiples procesadores repartidos en
una gran área geográfica.
Inteligencia artificial
Inteligencia artificial (IA)
La implementación y estudio de sistemas que exhiben (ya
sea por su comportamiento o aparentemente) una inteligencia
autónoma o comportamiento propio, a veces inspirado por las
características de los seres vivos. Las ciencias de la
computación están relacionadas con la IA, ya que el software y
las computadoras son herramientas básicas para su desarrollo
y progreso.
4. Razonamiento automatizado
Robótica
Algoritmos para controlar el comportamiento
de los robots.
Visión por computador
Algoritmos para extraer objetos
tridimensionales de una imagen bidimensional.
Aprendizaje automático
Gráficos por computador
Computación gráfica
Algoritmos tanto para generar sintéticamente
imágenes visuales como para integrar o alterar la
información visual y espacial tomada del mundo
real.
Procesamiento digital de imágenes
Por ejemplo, para sensores remotos.
Geometría computacional
Por ejemplo, algoritmos veloces para seleccionar solo los puntos
visibles en un poliedro visto desde cierto ángulo, usado en motores
3D.
Computación científica
Computación científica
Bioinformática
Computación cuántica
Paradigma de computación basado en la mecánica cuántica
Neurociencia computacional
Relación con otros campos
Por ser una disciplina reciente, existen varias definiciones alternativas
para la ciencia de la computación. Esta puede ser vista como una
forma de ciencia, matemáticas o una nueva disciplina que no puede
ser categorizada siguiendo los modelos actuales.
Las ciencias de la computación
frecuentemente se cruzan con otras áreas
de investigación, tales como la física y la
lingüística. Pero es con las matemáticas
con las que se considera que tiene un
grado mayor de relación. Eso es
evidenciado por el hecho de que los
primeros trabajos en el área fueran
fuertemente influenciados por matemáticos
como Kurt Gödel y Alan Turing. En la
actualidad sigue habiendo un intercambio
de ideas útil entre ambos campos en áreas
como la lógica matemática, la teoría de
categorías, la teoría de dominios, el
álgebra y la geometría.
Otro punto a destacar es que, a pesar de
su nombre, las ciencias de la computación
raramente involucran el estudio mismo de
5. las máquinas conocidas como computadoras. De hecho, el renombrado científico Edsger
Dijkstra es muy citado por la frase "Las ciencias de la computación están tan poco relacionadas
con las computadoras como la astronomía con los telescopios."
Debido a esto, se propuso buscar un nombre definido para esta ciencia emergente, que evitara
la relación con las computadoras.
Una primera propuesta fue la de Peter Naur, que acuñó el término datología, para reflejar el
hecho de que la nueva disciplina se ocupaba fundamentalmente del tratamiento de los datos,
independientemente de las herramientas de dicho tratamiento, fueran computadoras o artificios
matemáticos. La primera institución científica en adoptar la denominación fue el Departamento
de Datología de la Universidad de Copenhague, fundado en 1969, y fue el propio Peter Naur el
primer profesor de datología. Esta denominación se utiliza principalmente en los países
escandinavos. Asimismo, en los primeros momentos, un gran número de términos aparecieron
asociados a los practicantes de la computación. En esta lista se pueden ver los sugeridos en
las revistas y comunicados de la Association for Computer Machinery: turingeniero, turologista,
hombre de los diagramas de flujo (flow-charts-man), metamatemático aplicado y epistemólogo
aplicado.
Tres meses más tarde se sugirió el término «contólogo», seguido de «hipólogo» al año
siguiente.[cita requerida] También se sugirió el término «compútica» para la
disciplina.[cita requerida] «Informática» era, sin embargo, el término más frecuentemente usado
en toda Europa.[cita requerida]
El diseño y desarrollo de computadoras y sistemas computacionales generalmente se
considera un campo reclamado
por disciplinas ajenas a las
ciencias de la computación. Por
ejemplo, el estudio del hardware
suele considerarse parte de la
ingeniería informática, mientras
que el estudio de sistemas
computacionales comerciales y su
desarrollo suelen denominarse
tecnologías de la información (TI)
o sistemas de información. Sin
embargo, hay una estrecha
comunicación de ideas entre las
distintas disciplinas relacionadas
con las computadoras.
La ciencia de la computación a menudo recibe críticas desde otros
estamentos que la consideran escasamente rigurosa y científica. Esta
opinión se plasma en la expresión: "La ciencia es a las ciencias de la
computación como la hidrodinámica a la fontanería", atribuida a Stan Kelly-
Bootle y otros afines.
La investigación en ciencias de la computación también suele relacionarse
con otras disciplinas, como la ciencia cognitiva, la física (véase computación
cuántica), la lingüística, etcétera.
La relación entre las ciencias de la computación y la ingeniería de software
es un tema muy discutido, por disputas sobre lo que realmente significa el
término ingeniería de software y sobre cómo se define a las ciencias de la
computación.
6. Algunas personas creen que la ingeniería
de software sería un subconjunto de las
ciencias de la computación. Otras,
tomando en cuenta la relación entre otras
disciplinas científicas y de la ingeniería,
creen que el principal objetivo de las
ciencias de la computación sería estudiar
las propiedades del cómputo en general,
mientras que el objetivo de la ingeniería de
software sería diseñar cómputos
específicos para lograr objetivos prácticos,
con lo que se convertiría en disciplinas
diferentes.
Este punto de vista es el que sostiene, por ejemplo, Parnas (1998).
Incluso hay otros que sostienen que no podría existir una ingeniería de
software.
Los aspectos académicos, políticos y de financiamiento en las áreas de
ciencias de la computación tienden a verse influidos drásticamente por
el criterio del departamento encargado de la investigación y la
educación en cada universidad, que puede estar orientado a la
matemática o a la ingeniería.
Los departamentos de ciencias de la computación orientados a la
matemática suelen alinearse del lado de la computación científica y las
aplicaciones de cálculo numérico.
El término computación científica, que no debe confundirse con ciencia
de la computación, designa a todas aquellas prácticas destinadas a
modelar, plantear experimentos y validar teorías científicas sirviéndose
de medios computacionales. En estos casos la computación es una
mera herramienta y el esfuerzo se dirige a avanzar en los campos
objetivo (física, biología, mecánica de fluidos, radiotransmisión,...), más
que en la propia ciencia de la computación.
Finalmente, el público en general algunas veces confunde la ciencia de
la computación con áreas vocacionales que trabajan con
computadoras o piensan que trata acerca de su propia experiencia con
las computadoras, lo cual suele incluir actividades como los juegos, la
navegación web y el procesamiento de texto. Sin embargo, el punto
central de la ciencia de la computación va más allá de entender las
propiedades de los programas que se emplean para implementar
aplicaciones de software como juegos y navegadores web, y utiliza ese