Ciencias de la computación

De Wikipedia, la enciclopedia libre
(Redirigido desde «Informática teórica»)
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] El cuerpo de conocimiento de las ciencias de la computación es frecuentemente descrito como el estudio sistemático de los procesos algorítmicos que describen y transforman información: su teoría, análisis, diseño, eficiencia, implementación y aplicación [4] .

large capital lambda Representación gráfica de del algoritmo de ordenamiento quicksort
Tetera de Utah representando los gráficos por computadora Ratón Microsoft Tastenmaus representando la interacción hombre-máquina
Las Ciencias de la computación estudian los fundamentos teóricos de la información y el cómputo, junto con técnicas prácticas para la implementación y aplicación de estos fundamentos teóricos.

Es el estudio sistemático de la factibilidad, estructura, expresión y mecanización de procedimientos metódicos (o algoritmos) que subyacen en la adquisición, representación, procesamiento, almacenamiento, comunicación y acceso a la información si dicha información esta codificada en forma de bits en una memoria de computadora o especificada en una estructura de genes y proteínas en una célula biológica.[5]

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ómputo y otros se enfocan en los problemas que requieren la implementación de sistemas computacionales. 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. Un científico de la computación se especializa en teoría de la computación y el diseño e implementación de sistemas de computacionales. [6]

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?".[7]

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.[8] 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 (cómputo) en general. La diciplina científica de las ciencias de la computación nace a principios de 1940 con la confluencia de la teoría de algoritmos, lógica matemática y la invención del programa almacenado en una computadora electrónica [4] . Ejemplos de esto son los trabajos de Alan Turing, Alonzo Church y Kurt Gödel en 1930 acerca de los algoritmos y su trabajo en sistemas de reglas (vease Cálculo Lambda, Máquina de Turing y Problemas Indecidibles), los algoritmos creados por Augusta Ada sesenta años antes, la computadora analógica construida por Vannevar Bush en 1920 y las computadoras eléctricas construidas por Howard Aiken y Konrad Zuse en 1930. Los escritos de John Von Neumann dieron una profundidad intelectual considerable a esta disciplina emergente a medicados de 1940. En 1960, había suficientemente cuerpo de conocimiento que ameritaba la creación de departamentos académicos y programas de grado universitario para esta disciplina [4] .

Campos de las ciencias de la computación[editar]

Como disciplina científica, las ciencias de la computación abarcan una gama de temas, desde los estudios teóricos de los algoritmos y los límites de la computación a los problemas prácticos de la implementación de sistemas computacionales en hardware y software.[9] [10] Computing Sciences Acreditation Board o la Junta de Acreditación en Ciencias de la Computación. –Compuesta por representantes de la Association for Computing Machinery (ACM), y la Sociedad de Computación IEEE (IEEE-CS) [11] – identifica cuatro áreas que considera cruciales para la disciplina de ciencias de la computación: teoría de la computación, algoritmos y estructuras de datos, metodología y lenguajes de programación, arquitectura de computadoras. Además de estas cuatro áreas, C.S.A.B. también identifica ámbitos como la ingeniería de software, inteligencia artificial, redes de computadoras y de telecomunicaciones, sistemas de bases de datos, computación paralela, computación distribuida, la interacción persona-computador, gráficos por ordenador, sistemas operativos, cálculo numérico y simbólico siendo importantes áreas de las ciencias de la computación.[9]

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

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. a b c Anthony Ralston, Edwin D. Reilly, David Hemmendinger (2000). Encyclopedia of Computer Science. Wiley. 978-0-470-86412-8. 
  5. http://www.cs.bu.edu/AboutCS/WhatIsCS.pdf.
  6. «WordNet Search - 3.1». Wordnetweb.princeton.edu. Consultado el 2012-05-14.
  7. 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. 
  8. David Alan Grier (2005). When computers were human. Princeton University Press. ISBN 84-89660-00-X. 
  9. a b Computing Sciences Accreditation Board (28 May 1997). «Computer Science as a Profession». Archivado desde el original el 2008-06-17. Consultado el 2010-05-23.
  10. Committee on the Fundamentals of Computer Science: Challenges and Opportunities, National Research Council (2004). Computer Science: Reflections on the Field, Reflections from the Field. National Academies Press. ISBN 978-0-309-09301-9. 
  11. «Csab, Inc». Csab.org (2011-08-03). Consultado el 2011-11-19.
  12. "Common myths and preconceptions about Cambridge Computer Science" Computer Science Department, University of Cambridge

Bibliografía[editar]

» ignorado (ayuda)

Enlaces externos[editar]

Fuentes bibliográficas y motores de busqueda academicos enfocados a ciencias de la computación
Organizaciones Profesionales
Otros