ciencia de la computacion
Las ciencias de la computación
son aquellas que abarcan el estudio de las bases teóricas de la información y la computación, así como su aplicación en sistemas computacionales. Existen diversos campos o disciplinas dentro de las Ciencias de la Computación o Ciencias Computacionales; algunos enfatizan 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. Otros por su parte 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 concreto. 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 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.
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 lleno de errores 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 en vez de 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).
Mayores logros
Aún con su relativamente corta historia como disciplina académica formal, las ciencias de la computación han logrado una buena cantidad de contribuciones fundamentales a la ciencia y la sociedad. Por ejemplo:
- Una definición formal de computación y de computabilidad (Constable 2000).
- Una demostración de que existen problemas a los que no hay una solución computacional (problema de la parada, o halting problem en inglés) y problemas intratables. (Constable 2000).
- El concepto de lenguaje de programación, una herramienta para la expresión precisa de información metodológica a varios niveles de abstracción (Abelson y Sussman 1996).
- Tecnologías revolucionarias, como las computadoras de uso general, la Internet, las firmas digitales, el comercio electrónico y los motores de búsqueda (Constable 1997, Constable 2000).
- Ha habilitado nuevos tipos de investigación científica, como la física computacional, la química computacional y la biología computacional, entre otras (Constable 1997).
Campos de las Ciencias de la Computación
Fundamentos matemáticos
- Criptografía: Algoritmos para proteger datos privados, incluyendo el cifrado.
- Teoría de tipos: Análisis formal de los tipos de los datos, y el uso de estos para entender las propiedades de los programas, en particular la seguridad de los mismos.
Algoritmos y estructuras de datos
- Algoritmos: Procesos formales usados para los cómputos, y eficiencia de estos procesos.
- Estructuras de datos: Organización y manipulación de los datos
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
- 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 usando múltiples computadoras y múltiples procesadores en paralelo.
- Sistemas Distribuidos: Sistemas utilizando múltiples procesadores repartidos en una gran área geográfica.
Inteligencia artificial
- Inteligencia artificial: 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 el desarrollo y progreso de la inteligencia artificial.
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.
Comentarios
Publicar un comentario