Ciencias de la computación

De Wikipedia, la enciclopedia libre
(Redirigido desde «Ciencias Computacionales»)
Saltar a: navegación, búsqueda

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.

Según Peter J. Denning, la cuestión fundamental en que se basa la ciencia de la computación es: "¿Qué puede ser (eficientemente) automatizado?".[4]

Historia[editar]

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 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[editar]

Fundamentos matemáticos[editar]

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[editar]

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[editar]

Análisis de algoritmos
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[editar]

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[editar]

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[editar]

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[editar]

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.
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[editar]

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[editar]

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[editar]

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 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. 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 entendimiento para crear nuevos programas o mejorar los existentes.[6]

Véase también[editar]

Referencias[editar]

  1. "Computer science is the study of information" Department of Computer and Information Science, Guttenberg Information Technologies
  2. "Computer science is the study of computation." Computer Science Department, College of Saint Benedict, Saint John's University
  3. "Computer Science is the study of all aspects of computer systems, from the theoretical foundations to the very practical aspects of managing large software projects." Massey University
  4. Denning, P.J. (2000). «Computer Science: The Discipline» (PDF). Encyclopedia of Computer Science. http://web.archive.org/web/20060525195404/http://www.idi.ntnu.no/emner/dif8916/denning.pdf. 
  5. David Alan Grier (2005). When computers were human. Princeton University Press. ISBN 84-89660-00-X. 
  6. "Common myths and preconceptions about Cambridge Computer Science" Computer Science Department, University of Cambridge

Bibliografía[editar]

» ignorado (ayuda)

Enlaces externos[editar]