Diferencia entre revisiones de «Ciencias de la computación»
m Revertidos los cambios de 189.216.27.130 (disc.) a la última edición de Farisori Etiqueta: Reversión |
Sin resumen de edición Etiquetas: Edición visual Edit Check (references) activated Edit Check (references) declined (common knowledge) |
||
(No se muestran 44 ediciones intermedias de 26 usuarios) | |||
Línea 8: | Línea 8: | ||
| [[Archivo:3-Tasten-Maus Microsoft.jpg|144px|alt=Ratón Microsoft Tastenmaus representando la interacción hombre-máquina|Interacción persona-computador|link=Interacción persona-computador]] |
| [[Archivo:3-Tasten-Maus Microsoft.jpg|144px|alt=Ratón Microsoft Tastenmaus representando la interacción hombre-máquina|Interacción persona-computador|link=Interacción persona-computador]] |
||
|} |
|} |
||
<div class="thumbcaption">Las |
<div class="thumbcaption">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.</div> |
||
</div> |
</div> |
||
</div> |
</div> |
||
Las '''ciencias de la computación''' o '''ciencias de la informática''' son las [[ciencias formales]] que abarcan las bases teóricas de la [[ |
Las '''ciencias de la computación''' o '''ciencias de la informática''' son las [[ciencias formales]] que abarcan las bases teóricas de la [[información]] y la [[teoría de la computación|computación]], así como su aplicación en los [[sistemas de información|sistemas informáticos]].<ref>"''Computer science is the study of information''" [https://web.archive.org/web/20080325043352/http://www.njit.edu/v2/archivecatalog/undergraduate/91/19-und.html Department of Computer and Information Science], Guttenberg Information Technologies</ref><ref>"''Computer science is the study of computation.''" [http://www.csbsju.edu/computerscience/curriculum Computer Science Department, College of Saint Benedict] {{Wayback|url=http://www.csbsju.edu/computerscience/curriculum |date=20070203190237 }}, Saint John's University</ref><ref>"''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.''" [https://web.archive.org/web/20060619125916/http://study.massey.ac.nz/major.asp?major_code=2010&prog_code=93068 Massey University]</ref> 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, algoritmos sistematizados y aplicación.<ref name="Encyclopedia of Computer Science, 4th Edition">{{cita libro |
||
| autor = Anthony Ralston, Edwin D. Reilly, David Hemmendinger |
| autor = Anthony Ralston, Edwin D. Reilly, David Hemmendinger |
||
| título = Encyclopedia of Computer Science |
| título = Encyclopedia of Computer Science |
||
Línea 18: | Línea 18: | ||
| editorial = Wiley |
| editorial = Wiley |
||
| id = 978-0-470-86412-8 |
| id = 978-0-470-86412-8 |
||
}}</ref> En términos más específicos se trata del estudio sistemático de la [[factibilidad]], [[Estructura de datos|estructura]], [[Expresión (informática)|expresión]] y mecanización de procedimientos metódicos (o [[algoritmos]]) que subyacen en la adquisición, [[Grafo|representación]], [[Proceso (informática)|procesamiento]], [[Dispositivo de almacenamiento de datos|almacenamiento]], [[comunicación]] y [[acceso]] a la [[información]]. La información puede estar codificada en forma de |
}}</ref> En términos más específicos se trata del estudio sistemático de la [[factibilidad]], [[Estructura de datos|estructura]], [[Expresión (informática)|expresión]] y mecanización de procedimientos metódicos (o [[algoritmos]]) que subyacen en la adquisición, [[Grafo|representación]], [[Proceso (informática)|procesamiento]], [[Dispositivo de almacenamiento de datos|almacenamiento]], [[comunicación]] y [[acceso]] a la [[información]]. La información puede estar codificada en forma de [[bit]]s en una memoria de computadora, o en algún otro objeto, como los genes y proteínas en una célula biológica.<ref>http://www.cs.bu.edu/AboutCS/WhatIsCS.pdf {{Wayback|url=http://www.cs.bu.edu/AboutCS/WhatIsCS.pdf |date=20150218130340 }}.</ref> |
||
Existen diversas ramas o disciplinas dentro de las ciencias de la computación; 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 |
Existen diversas ramas o disciplinas dentro de las ciencias de la computación; 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 informáticos. Por ejemplo, los estudios de la [[teoría de lenguajes de programación]] describen un cómputo, mientras que la [[programación|programación de computadoras]] aplica [[lenguaje de programación|lenguajes de programación]] específicos para desarrollar una solución a un problema computacional específico. Un [[Informático teórico|computólogo]] se especializa en [[teoría de la computación]] y en el diseño e implementación de sistemas computacionales.<ref>{{cite web |url=http://wordnetweb.princeton.edu/perl/webwn?s=computer%20scientist |title=WordNet Search - 3.1 |publisher=Wordnetweb.princeton.edu |accessdate=14 de mayo de 2012}}</ref> |
||
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?».<ref name="Denning_cs_discipline">{{cita publicación | apellido=Denning | nombre=P.J. | enlaceautor=Peter J. Denning | año=2000 | título=Computer Science: The Discipline | url=http://www.idi.ntnu.no/emner/dif8916/denning.pdf | publicación=Encyclopedia of Computer Science | formato=PDF | urlarchivo=https://web.archive.org/web/20060525195404/http://www.idi.ntnu.no/emner/dif8916/denning.pdf | fechaarchivo=25 de mayo de 2006 }}</ref> |
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?».<ref name="Denning_cs_discipline">{{cita publicación | apellido=Denning | nombre=P.J. | enlaceautor=Peter J. Denning | año=2000 | título=Computer Science: The Discipline | url=http://www.idi.ntnu.no/emner/dif8916/denning.pdf | publicación=Encyclopedia of Computer Science | formato=PDF | urlarchivo=https://web.archive.org/web/20060525195404/http://www.idi.ntnu.no/emner/dif8916/denning.pdf | fechaarchivo=25 de mayo de 2006 }}</ref> |
||
Línea 27: | Línea 27: | ||
[[Archivo:Babbage40.png|derecha|miniatura|[[Charles Babbage]] diseñó la primera computadora [[Turing completo|Turing-completa]]; aunque pasarían décadas antes de que [[Alan Turing]] y otros demostraran su relevancia.]] |
[[Archivo:Babbage40.png|derecha|miniatura|[[Charles Babbage]] diseñó la primera computadora [[Turing completo|Turing-completa]]; aunque pasarían décadas antes de que [[Alan Turing]] y otros demostraran su relevancia.]] |
||
[[Archivo:Ada lovelace.jpg|derecha|miniatura|[[Ada Lovelace]] es reconocida por escribir el primer [[algoritmo]] para una computadora universal (la "[[Máquina analítica]]" de Babbage).]] |
[[Archivo:Ada lovelace.jpg|derecha|miniatura|[[Ada Lovelace]] es reconocida por escribir el primer [[algoritmo]] para una computadora universal (la "[[Máquina analítica]]" de Babbage).]] |
||
La historia de la ciencia de la computación antecede a la invención del [[Computadora electrónica|computador]] digital moderno. Antes de la |
La historia de la ciencia de la computación antecede a la invención del [[Computadora electrónica|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.<ref name="Grier">{{cita libro |
||
| autor = David Alan Grier |
| autor = David Alan Grier |
||
| título = When computers were human |
| título = When computers were human |
||
Línea 35: | Línea 35: | ||
}}</ref> Los primeros cimientos de lo que se convertiría en ciencias de la computación son anteriores a la invención de la computadora digital moderna. Se trataba de máquinas para el cálculo de las tareas numéricas fijas, como el ábaco han existido desde la antigüedad, ayudando en cálculos tales como la multiplicación y la división. Además, los algoritmos para realizar cálculos han existido desde la antigüedad, incluso antes de que se crearan equipos de computación sofisticados. Los antiguos sánscritos tratadistas Shulba Sutras, o "Reglas de la cuerda", es un libro de algoritmos escritos en 800 a. C. para la construcción de objetos geométricos como altares utilizando una clavija y cuerda, un precursor temprano del campo moderno de la [[geometría computacional]]. |
}}</ref> Los primeros cimientos de lo que se convertiría en ciencias de la computación son anteriores a la invención de la computadora digital moderna. Se trataba de máquinas para el cálculo de las tareas numéricas fijas, como el ábaco han existido desde la antigüedad, ayudando en cálculos tales como la multiplicación y la división. Además, los algoritmos para realizar cálculos han existido desde la antigüedad, incluso antes de que se crearan equipos de computación sofisticados. Los antiguos sánscritos tratadistas Shulba Sutras, o "Reglas de la cuerda", es un libro de algoritmos escritos en 800 a. C. para la construcción de objetos geométricos como altares utilizando una clavija y cuerda, un precursor temprano del campo moderno de la [[geometría computacional]]. |
||
[[Blaise Pascal]] diseñó y construyó la primera calculadora mecánica de trabajo, la [[Pascalina]], en 1642.<ref>{{cite web|title=Blaise Pascal|url=http://www-history.mcs.st-andrews.ac.uk/Biographies/Pascal.html|publisher=School of Mathematics and Statistics University of St Andrews, Scotland}}</ref> En 1673 [[Gottfried Leibniz]] creó una calculadora mecánica digital, llamada [[Stepped Reckoner]].<ref>{{cite web|title=A Brief History of Computing|url=http://blogs.royalsociety.org/history-of-science/2012/06/25/history-of-computing/}}</ref> Él puede ser considerado el primer [[informático teórico|computólogo y teórico de la información]], entre otras razones, porque fue el primero en documentar el sistema numérico binario. En 1820, [[Charles Xavier Thomas de Colmar]] lanzó la [[calculadora mecánica]] industrial<ref>En 1851</ref> cuando lanzó su simplificado [[aritmómetro]], que fue la primera máquina de calcular lo suficientemente fuerte y lo suficientemente fiable para ser usada a diario en un entorno industrial. [[Charles Babbage]] inició el diseño de la primera ''calculadora automática mecánica'', su [[máquina diferencial]], en 1822, que finalmente le dio la idea de la primera ''calculadora mecánica programable'', su [[máquina analítica]].<ref>{{cite web |url=http://www.sciencemuseum.org.uk/on-line/babbage/index.asp |title=Science Museum - Introduction to Babbage |accessdate=24 de septiembre de 2006 |archiveurl=https://web.archive.org/web/20060908054017/http://www.sciencemuseum.org.uk/on-line/babbage/index.asp |archivedate=8 de septiembre de 2006}}</ref> Él comenzó a desarrollar esta máquina en 1834 y en menos de dos años había esbozado muchas de las características más destacadas del moderno equipo. Un paso fundamental fue la adopción de un sistema de tarjetas perforadas derivado del [[telar de Jacquard]]<ref>{{cite book |author=Anthony Hyman |title=Charles Babbage, pioneer of the computer |url=https://archive.org/details/charlesbabbagepi0000hyma_j5s4 |year=1982}}</ref> haciéndolo infinitamente programable.<ref>"La introducción de tarjetas perforadas en el nuevo motor era importante no sólo como una forma más conveniente de control que los tambores, si no porque se podría programar de forma ilimitada, y estos programas podrían ser almacenados y repetidos sin el peligro de introducir errores en la configuración a mano de la máquina; era importante también porque sirvió para cristalizar sensación de Babbage que había inventado algo realmente nuevo, algo mucho más que una máquina calculadora sofisticada." [[#COLLIER|Bruce Collier]], 1970</ref> En 1843, durante la traducción de un artículo francés sobre la ''máquina analítica'', [[Ada Lovelace]] escribió, en una de las muchas notas que incluye el artículo, un algoritmo para calcular los números de [[Bernoulli]], que es considerado como el primer programa de ordenador.<ref>{{cite web |url=http://www.scottlan.edu/Lriddle/women/ada-love.htm |title=A Selection and Adaptation From Ada's Notes found in Ada, The Enchantress of Numbers, by Betty Alexandra Toole Ed.D. Strawberry Press, Mill Valley, CA |accessdate=4 de mayo de 2006 |urlarchivo=https://web.archive.org/web/20060210172109/http://www.scottlan.edu/lriddle/women/ada-love.htm |fechaarchivo=10 de febrero de 2006 }}</ref> Alrededor de 1885, [[Herman Hollerith]] inventó la [[Tabuladora|máquina tabuladora]], que usaba tarjetas perforadas para procesar información estadística; finalmente, su compañía se convirtió en parte de [[IBM]]. En 1937, cien años después del sueño imposible de Babbage, [[Howard Aiken]] fue convencido por IBM (que estaban manufacturando todo tipo de equipos de tarjetas perforadas y así como la calculadora de negocio |
[[Blaise Pascal]] diseñó y construyó la primera calculadora mecánica de trabajo, la [[Pascalina]], en 1642.<ref>{{cite web|title=Blaise Pascal|url=http://www-history.mcs.st-andrews.ac.uk/Biographies/Pascal.html|publisher=School of Mathematics and Statistics University of St Andrews, Scotland}}</ref> En 1673 [[Gottfried Leibniz]] creó una calculadora mecánica digital, llamada [[Stepped Reckoner]].<ref>{{cite web|title=A Brief History of Computing|url=http://blogs.royalsociety.org/history-of-science/2012/06/25/history-of-computing/|fechaacceso=26 de diciembre de 2014|fechaarchivo=29 de junio de 2012|urlarchivo=https://web.archive.org/web/20120629072020/http://blogs.royalsociety.org/history-of-science/2012/06/25/history-of-computing/|deadurl=yes}}</ref> Él puede ser considerado el primer [[informático teórico|computólogo y teórico de la información]], entre otras razones, porque fue el primero en documentar el sistema numérico binario. En 1820, [[Charles Xavier Thomas de Colmar]] lanzó la [[calculadora mecánica]] industrial<ref>En 1851</ref> cuando lanzó su simplificado [[aritmómetro]], que fue la primera máquina de calcular lo suficientemente fuerte y lo suficientemente fiable para ser usada a diario en un entorno industrial. [[Charles Babbage]] inició el diseño de la primera ''calculadora automática mecánica'', su [[máquina diferencial]], en 1822, que finalmente le dio la idea de la primera ''calculadora mecánica programable'', su [[máquina analítica]].<ref>{{cite web |url=http://www.sciencemuseum.org.uk/on-line/babbage/index.asp |title=Science Museum - Introduction to Babbage |accessdate=24 de septiembre de 2006 |archiveurl=https://web.archive.org/web/20060908054017/http://www.sciencemuseum.org.uk/on-line/babbage/index.asp |archivedate=8 de septiembre de 2006}}</ref> Él comenzó a desarrollar esta máquina en 1834 y en menos de dos años había esbozado muchas de las características más destacadas del moderno equipo. Un paso fundamental fue la adopción de un sistema de tarjetas perforadas derivado del [[telar de Jacquard]]<ref>{{cite book |author=Anthony Hyman |title=Charles Babbage, pioneer of the computer |url=https://archive.org/details/charlesbabbagepi0000hyma_j5s4 |year=1982}}</ref> haciéndolo infinitamente programable.<ref>"La introducción de tarjetas perforadas en el nuevo motor era importante no sólo como una forma más conveniente de control que los tambores, si no porque se podría programar de forma ilimitada, y estos programas podrían ser almacenados y repetidos sin el peligro de introducir errores en la configuración a mano de la máquina; era importante también porque sirvió para cristalizar sensación de Babbage que había inventado algo realmente nuevo, algo mucho más que una máquina calculadora sofisticada." [[#COLLIER|Bruce Collier]], 1970</ref> En 1843, durante la traducción de un artículo francés sobre la ''máquina analítica'', [[Ada Lovelace]] escribió, en una de las muchas notas que incluye el artículo, un algoritmo para calcular los números de [[Bernoulli]], que es considerado como el primer programa de ordenador.<ref>{{cite web |url=http://www.scottlan.edu/Lriddle/women/ada-love.htm |title=A Selection and Adaptation From Ada's Notes found in Ada, The Enchantress of Numbers, by Betty Alexandra Toole Ed.D. Strawberry Press, Mill Valley, CA |accessdate=4 de mayo de 2006 |urlarchivo=https://web.archive.org/web/20060210172109/http://www.scottlan.edu/lriddle/women/ada-love.htm |fechaarchivo=10 de febrero de 2006 }}</ref> Alrededor de 1885, [[Herman Hollerith]] inventó la [[Tabuladora|máquina tabuladora]], que usaba tarjetas perforadas para procesar información estadística; finalmente, su compañía se convirtió en parte de [[IBM]]. En 1937, cien años después del sueño imposible de Babbage, [[Howard Aiken]] fue convencido por IBM (que estaban manufacturando todo tipo de equipos de tarjetas perforadas y así como la calculadora de negocio<ref>"En este sentido Aiken necesitaba de IBM, cuya tecnología incluida el uso de tarjetas perforadas, la acumulación de datos numéricos, y la transferencia de los datos numéricos de un registro a otro ", [[#AIKEN|Bernard Cohen]], p.44 (2000)</ref>) para desarrollar su calculadora programable gigante, el [[Harvard Mark I|ASCC/Harvard Mark I]]. Se basó en la'' máquina analítica'' de Babbage, que a su vez utiliza las tarjetas perforadas y una unidad central de cálculo. Cuando se terminó de construir la máquina, algunas personas lo aclamaron como «el sueño de Babbage hecho realidad».<ref>[[#ORIGINS|Brian Randell]], p. 187, 1975</ref> |
||
=== Nuevas máquinas === |
=== Nuevas máquinas === |
||
Durante la |
Durante la década de 1940, conforme se desarrollaban las 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.<ref>La [[Association for Computing Machinery]] (ACM) fue fundada en 1947.</ref> Cuando se hizo evidente que las computadoras no solamente podrían utilizarse para realizar cálculos matemáticos, el campo de las ciencias de la computación se amplió para estudiar cómputo en general. Las ciencias de la computación empezaron a establecerse como una disciplina académica distinta de las demás en la década de 1950 y principios de 1960.<ref name="Denning_cs_discipline"/><ref>{{cite web |url=http://www.cl.cam.ac.uk/conference/EDSAC99/statistics.html |title=Some EDSAC statistics |publisher=Cl.cam.ac.uk |accessdate=19 de noviembre de 2011}}</ref> Entonces surgió el primer programa de grado universitario del mundo, el Cambridge Diploma in Computer Science, del Cambridge Computer Lab (Departamento de Ciencias de la Computación) de la [[Universidad de Cambridge]], en 1953. El primer programa de grado universitario en ciencias de la informática en Estados Unidos se formó en la [[universidad de Purdue]] en 1962.<ref>{{cite web |url=http://www.cs.purdue.edu/about/conte.html |title=Computer science pioneer Samuel D. Conte dies at 85 |date=1 de julio de 2002 |publisher=Purdue Computer Science |accessdate=12 de diciembre de 2014}}</ref> Desde que se dispone ordenadores prácticos, muchas aplicaciones la de las ciencias de la computación se convirtieron en diferentes áreas de estudio en sus propios términos. |
||
Aunque inicialmente muchos creyeron que era imposible que las computadoras en sí mismas podrían constituir en realidad un campo científico de estudio, a finales de los años cincuenta se fue volviendo gradualmente aceptada entre la población mayor académica.<ref name="Levy1984">{{cita libro |enlaceautor=Steven Levy |apellido=Levy |nombre=Steven |título=[[Hackers: Heroes of the Computer Revolution]] |año=1984 |isbn=0-385-19195-2 |editorial=Doubleday }}</ref><ref name="Tedre2014">{{cita libro |apellido=Tedre |nombre=Matti |título=The Science of Computing: Shaping a Discipline |año=2014 |editorial=Taylor and Francis / CRC Press }}</ref> |
Aunque inicialmente muchos creyeron que era imposible que las computadoras en sí mismas podrían constituir en realidad un campo científico de estudio, a finales de los años cincuenta se fue volviendo gradualmente aceptada entre la población mayor académica.<ref name="Levy1984">{{cita libro |enlaceautor=Steven Levy |apellido=Levy |nombre=Steven |título=[[Hackers: Heroes of the Computer Revolution]] |año=1984 |isbn=0-385-19195-2 |editorial=Doubleday }}</ref><ref name="Tedre2014">{{cita libro |apellido=Tedre |nombre=Matti |título=The Science of Computing: Shaping a Discipline |año=2014 |editorial=Taylor and Francis / CRC Press }}</ref> |
||
La [[Disciplina académica|disciplina científica]] de las ciencias de la computación nace a principios de |
La [[Disciplina académica|disciplina científica]] de las ciencias de la computación nace a principios de 1940 con la confluencia de la [[Análisis de algoritmos|teoría de algoritmos]], [[lógica matemática]] y la invención del programa almacenado en una computadora electrónica.<ref name=" |
||
Encyclopedia of Computer Science, 4th Edition">{{cita libro |
Encyclopedia of Computer Science, 4th Edition">{{cita libro |
||
| autor = Anthony Ralston, Edwin D. Reilly, David Hemmendinger |
| autor = Anthony Ralston, Edwin D. Reilly, David Hemmendinger |
||
Línea 50: | Línea 50: | ||
| editorial = Wiley |
| editorial = Wiley |
||
| id = 978-0-470-86412-8 |
| id = 978-0-470-86412-8 |
||
}}</ref> Ejemplos de esto son los trabajos de [[Alan Turing]], [[Alonzo Church]] y [[Kurt Gödel]] en |
}}</ref> 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 (véase [[Cálculo Lambda]], [[Máquina de Turing]] y [[Problema indecidible|Problemas Indecidibles]]), los algoritmos creados por [[Ada Lovelace|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 mediados de la década de 1940. |
||
En |
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.<ref name=" |
||
Encyclopedia of Computer Science, 4th Edition">{{cita libro |
Encyclopedia of Computer Science, 4th Edition">{{cita libro |
||
| autor = Anthony Ralston, Edwin D. Reilly, David Hemmendinger |
| autor = Anthony Ralston, Edwin D. Reilly, David Hemmendinger |
||
Línea 73: | Línea 73: | ||
* 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.<ref>{{cite book |last=Abelson |first=H. |authorlink=Hal Abelson |coauthors=G.J. Sussman with J. Sussman |year=1996 |title=Structure and Interpretation of Computer Programs |edition=2nd |publisher=[[MIT Press]] |isbn=0-262-01153-0 |quote=La revolución de la computadora es una revolución en la manera de pensar y en la forma en que expresamos lo que pensamos. La esencia de este cambio es la aparición de lo que podría llamarse mejor ''epistemología procedimental'' —el estudio de la estructura del conocimiento desde un punto de vista imperativo, en oposición al punto de vista más declarativo tomada por temas matemáticos clásicos–.}}</ref> |
* 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.<ref>{{cite book |last=Abelson |first=H. |authorlink=Hal Abelson |coauthors=G.J. Sussman with J. Sussman |year=1996 |title=Structure and Interpretation of Computer Programs |edition=2nd |publisher=[[MIT Press]] |isbn=0-262-01153-0 |quote=La revolución de la computadora es una revolución en la manera de pensar y en la forma en que expresamos lo que pensamos. La esencia de este cambio es la aparición de lo que podría llamarse mejor ''epistemología procedimental'' —el estudio de la estructura del conocimiento desde un punto de vista imperativo, en oposición al punto de vista más declarativo tomada por temas matemáticos clásicos–.}}</ref> |
||
* En [[criptología]], [[Enigma (máquina)|el criptoanálisis de Enigma]] fue un factor importante, el cual contribuyó a la victoria Aliada en la Segunda Guerra Mundial.<ref name="kahnbook">[[David Kahn (writer)|David Kahn]], [[The Codebreakers]], 1967, ISBN 0-684-83130-9.</ref> |
* En [[criptología]], [[Enigma (máquina)|el criptoanálisis de Enigma]] fue un factor importante, el cual contribuyó a la victoria Aliada en la Segunda Guerra Mundial.<ref name="kahnbook">[[David Kahn (writer)|David Kahn]], [[The Codebreakers]], 1967, ISBN 0-684-83130-9.</ref> |
||
* El [[Computación científica| |
* El [[Computación científica|cómputo científico]] permitió la evaluación de procesos y situaciones de gran [[Clase de complejidad|complejidad]], así como la experimentación mediante ''software''. También permitió el avance en investigación de la mente humana y el mapeo del genoma humano junto el [[Proyecto Genoma Humano]].<ref name="bgu"/> Proyectos de [[Computación distribuida|cómputo distribuido]] tales como [[Folding@home]] que estudiaron el [[plegamiento de proteínas]]. |
||
* [[Computación gráfica]] e [[Imagen generada por computadora|imágenes generadas por computadora]] se volvieron omnipresentes en la era moderna del [[entretenimiento]], sobre todo en [[televisión]], [[cine]], [[publicidad]], [[animación]] y [[videojuegos]]. {{Citation needed | date = 10 2010}} |
* [[Computación gráfica]] e [[Imagen generada por computadora|imágenes generadas por computadora]] se volvieron omnipresentes en la era moderna del [[entretenimiento]], sobre todo en [[televisión]], [[cine]], [[publicidad]], [[animación]] y [[videojuegos]]. {{Citation needed | date = 10 2010}} |
||
* [[Simulación]] de varios procesos, incluyendo [[dinámica de fluidos]] computacionales, sistemas físicos, eléctricos, electrónicos y de circuitos, así como las sociedades y las situaciones sociales (sobre todo juegos de guerra), junto con sus hábitats, entre muchos otros. Las computadoras modernas permiten la optimización de diseños tales como aviones completos. Se destaca el diseño de circuitos eléctricos y electrónicos con [[SPICE]], así como software para la realización física de nuevos diseños. Este último incluye |
* [[Simulación]] de varios procesos, incluyendo [[dinámica de fluidos]] computacionales, sistemas físicos, eléctricos, electrónicos y de circuitos, así como las sociedades y las situaciones sociales (sobre todo juegos de guerra), junto con sus hábitats, entre muchos otros. Las computadoras modernas permiten la optimización de diseños tales como aviones completos. Se destaca el diseño de circuitos eléctricos y electrónicos con [[SPICE]], así como software para la realización física de nuevos diseños. Este último incluye soporte lógico de diseño esencial para [[circuito integrado]]s. |
||
* La [[Inteligencia artificial]] (IA) es cada vez más importante, ya que se vuelve más eficiente y compleja con el paso del tiempo. Existen muchas aplicaciones de la IA, algunas se pueden ver en el hogar, tales como aspiradores robóticos. También está presente en los videojuegos y en el campo de batalla moderno en aviones no tripulados, sistemas antimisiles, y robots de apoyo para escuadrones. |
* La [[Inteligencia artificial]] (IA) es cada vez más importante, ya que se vuelve más eficiente y compleja con el paso del tiempo. Existen muchas aplicaciones de la IA, algunas se pueden ver en el hogar, tales como aspiradores robóticos. También está presente en los videojuegos y en el campo de batalla moderno en aviones no tripulados, sistemas antimisiles, y robots de apoyo para escuadrones. |
||
== Filosofía == |
== Filosofía == |
||
Algunos científicos de la computación han argumentado a favor de la distinción de tres paradigmas diferentes en ciencias de la computación. [[Peter Wegner]] ha argumentado que esos paradigmas son la ciencia, la tecnología y las matemáticas.<ref>{{cita conferencia de prensa|author=Wegner, P. |title=Research paradigms in computer science |booktitle=Proceedings of the 2nd international Conference on Software Engineering |location=San Francisco, California, United States |date=October 13–15, 1976 |publisher=IEEE Computer Society Press, Los Alamitos, CA}}</ref> El grupo de investigación de [[Peter J. Denning|Peter Denning]] argumentó que son la abstracción (modelado), y diseño. Amnon H. Eden lo describe como el |
Algunos científicos de la computación han argumentado a favor de la distinción de tres paradigmas diferentes en ciencias de la computación. [[Peter Wegner]] ha argumentado que esos paradigmas son la ciencia, la tecnología y las matemáticas.<ref>{{cita conferencia de prensa|author=Wegner, P. |title=Research paradigms in computer science |booktitle=Proceedings of the 2nd international Conference on Software Engineering |location=San Francisco, California, United States |date=October 13–15, 1976 |publisher=IEEE Computer Society Press, Los Alamitos, CA}}</ref> El grupo de investigación de [[Peter J. Denning|Peter Denning]] argumentó que son la abstracción (modelado), y diseño. Amnon H. Eden lo describe como el «paradigma racionalista» (el cual trata a las ciencias de la computación como una rama de las matemáticas, la cual prevalece en ciencias de la computación teórica y principalmente emplea el [[razonamiento deductivo]]), el paradigma tecnocrático (que podría ser encontrado en enfoques [[ingeniería|ingenieriles]], más prominente en la [[ingeniería de software]]) y el paradigma científico (que se enfoca a objetos relacionados con la computación desde la perspectiva empírica de las [[ciencias naturales]] identificable en algunas ramas de la [[inteligencia artificial]]). |
||
A pesar de su primera proposición en 1956,<ref name="Tedre2014"/> |
A pesar de su primera proposición en 1956,<ref name="Tedre2014"/> la locución «ciencias de la computación» aparece en 1959 en un artículo de la revista ''[[Communications of the ACM]]'' (prestigiada publicación científica destinada a lectores con experiencia en todos los ámbitos de la computación y los sistemas de información),<ref> |
||
{{cite journal |
{{cite journal |
||
|author=Louis Fine |
|author=Louis Fine |
||
Línea 90: | Línea 90: | ||
|doi=10.1145/368424.368427 |
|doi=10.1145/368424.368427 |
||
}}</ref> en el cual Louis Fein discute sobre la creación de una Escuela de Estudios de Posgrado en Ciencias Computacionales análoga a la creación de [[Harvard Business School]] en 1921,<ref>{{cite web|title=Stanford University Oral History|url=http://library.stanford.edu/guides/stanford-university-oral-history|publisher=Stanford University|accessdate=30 de mayo de 2013}}</ref> justificando el nombre con el argumento de que: Como la ciencia administrativa, el tema o área de conocimiento puede ser aplicado, es de carácter interdisciplinario y que cuenta con las características típicas de una disciplina académica.<ref>id., p. 11</ref> |
}}</ref> en el cual Louis Fein discute sobre la creación de una Escuela de Estudios de Posgrado en Ciencias Computacionales análoga a la creación de [[Harvard Business School]] en 1921,<ref>{{cite web|title=Stanford University Oral History|url=http://library.stanford.edu/guides/stanford-university-oral-history|publisher=Stanford University|accessdate=30 de mayo de 2013}}</ref> justificando el nombre con el argumento de que: Como la ciencia administrativa, el tema o área de conocimiento puede ser aplicado, es de carácter interdisciplinario y que cuenta con las características típicas de una disciplina académica.<ref>id., p. 11</ref> |
||
Sus esfuerzos y los de otros, como el [[análisis numérico|analista numérico]] [[George Forsythe]], fueron recompensados: universidades pasaron a crear este tipo de programas de estudio, a partir de 1962 en Purdue.<ref>[[Donald Knuth]] (1972). ''[http://www.stanford.edu/dept/ICME/docs/history/forsythe_knuth.pdf "George Forsythe and the Development of Computer Science"]. ''Comms. ACM''.</ref> A pesar del nombre de esta disciplina académica, una cantidad significativa de tópicos en ciencias de la computación no involucran el estudio de las computadoras, por esta razón muchos nombres alternativos han sido propuestos.<ref>Matti Tedre (2006). [http://epublications.uef.fi/pub/urn_isbn_952-458-867-6/urn_isbn_952-458-867-6.pdf The Development of Computer Science: A Sociocultural Perspective], p.260</ref> |
Sus esfuerzos y los de otros, como el [[análisis numérico|analista numérico]] [[George Forsythe]], fueron recompensados: universidades pasaron a crear este tipo de programas de estudio, a partir de 1962 en Purdue.<ref>[[Donald Knuth]] (1972). ''[http://www.stanford.edu/dept/ICME/docs/history/forsythe_knuth.pdf "George Forsythe and the Development of Computer Science"] {{Wayback|url=http://www.stanford.edu/dept/ICME/docs/history/forsythe_knuth.pdf |date=20131020200802 }}. ''Comms. ACM''.</ref> A pesar del nombre de esta disciplina académica, una cantidad significativa de tópicos en ciencias de la computación no involucran el estudio de las computadoras, por esta razón muchos nombres alternativos han sido propuestos.<ref>Matti Tedre (2006). [http://epublications.uef.fi/pub/urn_isbn_952-458-867-6/urn_isbn_952-458-867-6.pdf The Development of Computer Science: A Sociocultural Perspective], p.260</ref> |
||
Algunos departamentos de universidades prefieren |
Algunos departamentos de universidades prefieren la locución «ciencias de la computación» para hacer énfasis en esta diferencia. El científico danés [[Peter Naur]] sugirió el término ''datología'',<ref> |
||
{{cite journal |
{{cite journal |
||
|author=Peter Naur |
|author=Peter Naur |
||
Línea 100: | Línea 100: | ||
|volume=9 |issue=7 |page=485 |
|volume=9 |issue=7 |page=485 |
||
|doi=10.1145/365719.366510 |
|doi=10.1145/365719.366510 |
||
}}</ref> para reflejar el hecho de que esta disciplina científica gira en torno a los datos y a al tratamiento de estos, mientras que no necesariamente involucra a las computadoras. La primera institución científica en usar el término fue el Departamento de Datología de la Universidad de Copenhague, fundado en 1969, con Peter Naur como profesor de datología. El término es usado en países escandinavos. En los primeros años de la computación, un número de terminus para los practicantes del campo de la computación fueron propuestos en la revista ''Communications of the ACM'' – ''turingeniero'', ''turologo'', ''hombre de los diagramas de flujo'', ''matemático meta-aplicado'', y ''[[epistemología|epistemologo]] aplicado''.<ref>Communications of the ACM 1(4):p.6</ref> Tres meses después en esa misma publicación científica, el término ''computólogo'' fue sugerido. El siguiente año en la misma publicación surgió el término ''hypologo''.<ref>Communications of the ACM 2(1):p.4</ref> El término ''computica'' también ha sido sugerido.<ref>IEEE Computer 28(12):p.136</ref> En Europa, términos derivados de traducciones de la expresión "automatic information" (e.g. "informazione automatica" en |
}}</ref> para reflejar el hecho de que esta disciplina científica gira en torno a los datos y a al tratamiento de estos, mientras que no necesariamente involucra a las computadoras. La primera institución científica en usar el término fue el Departamento de Datología de la Universidad de Copenhague, fundado en 1969, con Peter Naur como profesor de datología. El término es usado en países escandinavos. En los primeros años de la computación, un número de terminus para los practicantes del campo de la computación fueron propuestos en la revista ''Communications of the ACM'' – ''turingeniero'', ''turologo'', ''hombre de los diagramas de flujo'', ''matemático meta-aplicado'', y ''[[epistemología|epistemologo]] aplicado''.<ref>Communications of the ACM 1(4):p.6</ref> Tres meses después en esa misma publicación científica, el término ''computólogo'' fue sugerido. El siguiente año en la misma publicación surgió el término ''hypologo''.<ref>Communications of the ACM 2(1):p.4</ref> El término ''computica'' también ha sido sugerido.<ref>IEEE Computer 28(12):p.136</ref> En Europa, términos derivados de traducciones de la expresión "automatic information" (e.g. "informazione automatica" en italiano) or "información y matemáticas" son frecuentemente usados, e.g. ''informatique'' (francés), ''Informatik'' (alemán), ''Informática'' (Italia, Países Bajos), ''Informática'' (España y Portugal), ''informatika'' ([[lenguas eslavas]]) o ''pliroforiki'' (''πληροφορική'', que significa informática) en [[Idioma griego|Griego]]. Palabras similares han sido adoptadas en algunos lugares del Reino Unido, por ejemplo en la [[Universidad de Edimburgo]].<ref>P. Mounier-Kuhn, ''L’Informatique en France, de la seconde guerre mondiale au Plan Calcul. L’émergence d’une science'', Paris, PUPS, 2010, ch. 3 & 4.</ref> Pero estas no reflejan el aspecto de la [[Teoría de la computabilidad|computabilidad]], por esta razón en un contexto de investigación científica tanto académica como industrial el término ciencias de la computación es mayormente usado en publicaciones y conferencias científicas.'' |
||
== Campos de |
== Campos de estudio == |
||
Como [[Disciplina académica|disciplina científica]], las ciencias de la computación |
Como [[Disciplina académica|disciplina científica]], las ciencias de la computación abarca 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.<ref name="CSAB1997">{{cite web|author=Computing Sciences Accreditation Board|title=Computer Science as a Profession|url=http://www.csab.org/comp_sci_profession.html |date=28 de mayo de 1997| accessdate=23 de mayo de 2010 |archiveurl = https://web.archive.org/web/20080617030847/http://www.csab.org/comp_sci_profession.html |archivedate = 17 de junio de 2008}}</ref><ref>{{cite book |author=Committee on the Fundamentals of Computer Science: Challenges and Opportunities, National Research Council |title=Computer Science: Reflections on the Field, Reflections from the Field|url=http://www.nap.edu/catalog.php?record_id=11106#toc|publisher=National Academies Press|isbn=978-0-309-09301-9|year=2004}}</ref> 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 [[IEEE|Sociedad de Computación IEEE]] (IEEE-CS)<ref>{{cite web |url=http://www.csab.org/ |title=Csab, Inc |publisher=Csab.org |date=3 de agosto de 2011 |accessdate=19 de noviembre de 2011}}</ref>– 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]], [[Programación|metodología y lenguajes de programación]], y [[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]], [[bases de datos|sistemas de bases de datos]], [[computación paralela]], [[computación distribuida]], la [[interacción persona-computador]], [[gráficos por ordenador]], [[sistemas operativos]], [[Análisis numérico|cálculo numérico]] y [[Cálculo simbólico|simbólico]] siendo importantes áreas de las ciencias de la computación.<ref name="CSAB1997"/> |
||
=== Ciencias de la computación teóricas === |
|||
El campo más amplio de la [[Ciencia computacional teórica|ciencia de la computación teórica]] abarca tanto la teoría clásica de la computación y una amplia gama de otros temas que se centran en los aspectos más abstractos, lógicos y matemáticos de la computación. |
|||
Las ciencias de la computación teóricas tienen como eje fundamental varias ramas de las [[Matemáticas|ciencias matemáticas]], en especial puras como la [[matemática discreta]], la [[teoría de grafos]] y el [[álgebra]], con el fin de entender la naturaleza de la [[Informática|computación]] y de mejorar sus procesos asociados. |
|||
== Teoría de la computación == |
==== Teoría de la computación ==== |
||
{{ |
{{AP| Teoría de la computación }} |
||
De acuerdo a [[Peter J. Denning]], la pregunta fundamental en ciencias de la computación es, «¿Qué puede ser eficientemente automatizado?»<ref name="Denning_cs_discipline"/> El estudio de la [[teoría de la computación]] está enfocado en responder preguntas fundamentales acerca de qué puede ser computado y qué cantidad de recursos son requeridos para ejecutar tales cómputos. En un esfuerzo por resolver esta pregunta, la [[teoría de la computabilidad]] examina qué problemas computacionales se pueden resolver en varios modelos teóricos de cómputo. La segunda pregunta está dirigida por la [[teoría de la complejidad computacional]], que estudia los costos de tiempo y espacio asociados a diferentes enfoques para resolver una multitud de problemas computacionales. |
De acuerdo a [[Peter J. Denning]], la pregunta fundamental en ciencias de la computación es, «¿Qué puede ser eficientemente automatizado?»<ref name="Denning_cs_discipline"/> El estudio de la [[teoría de la computación]] está enfocado en responder preguntas fundamentales acerca de qué puede ser computado y qué cantidad de recursos son requeridos para ejecutar tales cómputos. En un esfuerzo por resolver esta pregunta, la [[teoría de la computabilidad]] examina qué problemas computacionales se pueden resolver en varios modelos teóricos de cómputo. La segunda pregunta está dirigida por la [[teoría de la complejidad computacional]], que estudia los costos de tiempo y espacio asociados a diferentes enfoques para resolver una multitud de problemas computacionales. |
||
Línea 128: | Línea 129: | ||
|} |
|} |
||
== Teoría de la información y códigos == |
==== Teoría de la información y códigos ==== |
||
{{ |
{{AP|Teoría de la información|Teoría de códigos}} |
||
La teoría de la información está relacionada con la cuantificación de la información. Fue desarrollada por [[Claude Shannon|Claude E. Shannon]] para desarrollar los límites fundamentales del procesamiento de señales así como sus operaciones, tales como compresión y almacenamiento de datos así como la comunicación de los datos de manera fiable.<ref>{{cite web|last=P. Collins|first=Graham|title=Claude E. Shannon: Founder of Information Theory|url=http://www.scientificamerican.com/article.cfm?id=claude-e-shannon-founder|publisher=Scientific American, Inc.}}</ref> |
La teoría de la información está relacionada con la cuantificación de la información. Fue desarrollada por [[Claude Shannon|Claude E. Shannon]] para desarrollar los límites fundamentales del procesamiento de señales así como sus operaciones, tales como compresión y almacenamiento de datos así como la comunicación de los datos de manera fiable.<ref>{{cite web|last=P. Collins|first=Graham|title=Claude E. Shannon: Founder of Information Theory|url=http://www.scientificamerican.com/article.cfm?id=claude-e-shannon-founder|publisher=Scientific American, Inc.}}</ref> |
||
La [[teoría de códigos]] es un área de las matemáticas que busca resolver el problema de detectar y corregir errores al momento de transmitir información.<ref>{{Cita web|url=http://www.cimat.mx/es/node/482|título=Teoría de Códigos {{!}} CIMAT|fechaacceso=26 de septiembre de 2016|sitioweb=www.cimat.mx}}</ref> Los códigos son usados para comprimir datos, criptografía y más recientemente para la codificación de redes. Los códigos son estudiados para el propósito de diseñar métodos eficientes y seguros para la [[transmisión de datos]]. |
La [[teoría de códigos]] es un área de las matemáticas que busca resolver el problema de detectar y corregir errores al momento de transmitir información.<ref>{{Cita web|url=http://www.cimat.mx/es/node/482|título=Teoría de Códigos {{!}} CIMAT|fechaacceso=26 de septiembre de 2016|sitioweb=www.cimat.mx|fechaarchivo=5 de noviembre de 2018|urlarchivo=https://web.archive.org/web/20181105061921/https://www.cimat.mx/es/node/482|deadurl=yes}}</ref> Los códigos son usados para comprimir datos, criptografía y más recientemente para la codificación de redes. Los códigos son estudiados para el propósito de diseñar métodos eficientes y seguros para la [[transmisión de datos]]. |
||
== Algoritmos y estructuras de datos == |
==== Algoritmos y estructuras de datos ==== |
||
{{ |
{{AP|Análisis de algoritmos|Teoría de códigos}} |
||
Los [[algoritmo]]s y las estructuras de datos son el estudio de métodos computacionales comúnmente usados así como su eficiencia computacional. |
Los [[algoritmo]]s y las estructuras de datos son el estudio de métodos computacionales comúnmente usados así como su eficiencia computacional. |
||
Línea 152: | Línea 153: | ||
|} |
|} |
||
== Teoría de lenguajes de programación == |
==== Teoría de lenguajes de programación ==== |
||
{{ |
{{AP|Teoría de lenguajes de programación}} |
||
La teoría del lenguaje de programación es una rama de las ciencias de la computación que se ocupa del diseño, |
La teoría del lenguaje de programación es una rama de las ciencias de la computación que se ocupa del diseño, activación, análisis, caracterización y clasificación de los [[lenguaje de programación]] y sus características individuales, cae dentro de la disciplina de las ciencias de la computación, tanto en dependencia de las [[matemáticas]] y la [[lingüística]]. Es un área de investigación activa, con numerosas revistas académicas y conferencias especializadas en el tema. |
||
{| style="border:1px solid #ccc; text-align:center; margin:auto;" cellspacing="15" |
{| style="border:1px solid #ccc; text-align:center; margin:auto;" cellspacing="15" |
||
Línea 167: | Línea 168: | ||
|} |
|} |
||
=== Métodos formales === |
===== Métodos formales ===== |
||
{{ |
{{AP|Métodos formales}} |
||
Los métodos formales son un tipo particular de la técnica basada en las matemáticas para la [[especificación formal]], desarrollo y [[verificación formal]] de los sistemas de software y hardware. El uso de métodos formales para el diseño de |
Los métodos formales son un tipo particular de la técnica basada en las matemáticas para la [[especificación formal]], desarrollo y [[verificación formal]] de los sistemas de software y hardware. El uso de métodos formales para el diseño de soportes lógico y físico está motivado por la expectativa de que, la realización de un análisis matemático adecuado puede contribuir a la fiabilidad y robustez de un diseño. Estos forman una importante base teórica para la ingeniería de ''software'', especialmente cuando está involucrado la seguridad o robustez. Los métodos formales son un complemento útil para las pruebas de ''software'', ya que ayudan a evitar errores y también pueden dar un marco para hacer pruebas. Para su uso industrial, se requiere el apoyo de herramientas. Sin embargo, el alto costo de la utilización de métodos formales significa que por lo general solo se utilizan en el desarrollo de sistemas críticos de alta integridad donde la vida o la seguridad es de muy alta importancia. |
||
Los métodos formales se describen mejor como la aplicación de una amplia variedad de fundamentos teóricos de las ciencias de la computación, en particular la lógica computacional, [[lenguajes formales]], [[teoría de autómatas]] y [[Semántica de lenguajes de programación]] pero también áreas como [[Sistema de tipos|sistemas de tipos]] y tipos de datos algebraicos a problemas en la especificación y verificación de software y hardware. |
Los métodos formales se describen mejor como la aplicación de una amplia variedad de fundamentos teóricos de las ciencias de la computación, en particular la lógica computacional, [[lenguajes formales]], [[teoría de autómatas]] y [[Semántica de lenguajes de programación]] pero también áreas como [[Sistema de tipos|sistemas de tipos]] y tipos de datos algebraicos a problemas en la especificación y verificación de ''software'' y ''hardware''. |
||
== Ciencias de la computación aplicadas == |
=== Ciencias de la computación aplicadas === |
||
Las ciencias de la computación aplicadas buscan diseñar, desarrollar y continuamente mejorar [[Algoritmo|algoritmos]] y [[Sistema informático|sistemas informáticos]] para la solución de problemas del mundo real, como la generación de contenido [[multimedia]], optimización de [[Red de computadoras|redes de comunicaciones]], implementación de procesos de [[automatización]], descubrimientos [[Ciencia|científicos]], entre otras áreas de aplicación, siendo dependientes de los avances de la [[Ciencias de la computación#Ciencias de la computación teóricas|ciencias de la computación teóricas]] que determinan la capacidad de cómputo. |
|||
Las ciencias de la computación aplicadas tratan de identificar ciertos aspectos conceptuales y teóricos de las ciencias de la computación que pueden ser aplicados directamente para resolver problemas del mundo real. |
|||
==== Gráficos por ordenador ==== |
|||
{{AP|Computación gráfica}} |
|||
También conocida como computación gráfica, es el subcampo de la [[Informática|computación]] que se encarga de la síntesis y manipulación de contenido visual, en especial [[Imagen digital|imágenes digitales]] que pueden representar información de [[Modelado 3D|objetos tridimensionales]]. Si bien es un subcampo de estudio independiente, si depende o está interrelacionada con la [[geometría computacional]], el [[procesamiento digital de imágenes]] y la [[visión artificial]]. |
|||
{| class="wikitable" style="border:1px solid #ccc; text-align:center; margin:auto;" cellspacing="15" |
|||
|[[Archivo:Simx2=transl_OK.svg|100x100px]] |
|||
|[[Archivo:3_rotating_rings.gif|96px]] |
|||
⚫ | |||
|[[Archivo:Hud_on_the_cat.jpg|96x96px]] |
|||
|[[Archivo:Visible_light_eye-tracking_algorithm.jpg|96x96px]] |
|||
|[[Archivo:Csg_tree.png|96x96px]] |
|||
|- |
|||
|[[Computación gráfica 2D]] |
|||
|[[Animación por computadora|Animación por ordenador]] |
|||
|[[Renderización]] |
|||
|[[Realidad mixta]] |
|||
|[[Realidad virtual]] |
|||
|[[Modelado de sólidos]] |
|||
⚫ | |||
==== Procesamiento digital de audio e imágenes ==== |
|||
{{AP|Procesamiento de datos|Procesamiento digital de señales}} |
|||
Parte de dos áreas de estudio conocidas como [[procesamiento de datos]] y [[procesamiento digital de señales]], las [[Imagen|imágenes]] y [[Señal de audio|audios]] son tipos de [[información]] y [[Señal|señales]] ampliamente utilizados en la [[teoría de la información]], la [[computación gráfica]], la [[inteligencia artificial]], los [[Telecomunicación|sistemas de telecomunicación]] y la [[ingeniería de software]], para la aplicación en la [[síntesis de habla]], análisis de [[Imagen médica|imágenes médicas]], [[robótica]], entre otras. |
|||
{| style="border:1px solid #ccc; text-align:center; margin:auto;" cellspacing="15" |
|||
|[[Archivo:DIT-FFT-butterfly.png|96px]] |
|||
|[[Archivo:Bayer_pattern_on_sensor.svg|96x96px]] |
|||
|[[Archivo:Opus_quality_comparison_colorblind_compatible.svg|96x96px]] |
|||
|[[Archivo:Quality_comparison_jpg_vs_saveforweb.jpg|96x96px]] |
|||
|[[Archivo:Ætoms_-_Translation.svg|96x96px]] |
|||
|- |
|||
|[[Transformada rápida de Fourier|Algoritmos FFT]] |
|||
|[[Procesamiento digital de imágenes|Procesamiento de imágenes]] |
|||
|[[Reconocimiento del habla]] |
|||
|[[Compresión de datos]] |
|||
|[[Síntesis de habla]] |
|||
|} |
|||
==== Inteligencia artificial ==== |
==== Inteligencia artificial ==== |
||
{{ |
{{AP|Inteligencia artificial}} |
||
Esta rama de las ciencias de la computación pretende o es requerida para la síntesis de procesos |
Esta rama de las ciencias de la computación pretende o es requerida para la síntesis de procesos metaorientados tales como la resolución de problemas, toma de decisiones, la adaptación del medio ambiente, el aprendizaje y la comunicación que se encuentran en los seres humanos y los animales. Desde sus orígenes en la cibernética y en la Conferencia de Dartmouth (1956), la investigación en inteligencia artificial (IA) ha sido necesariamente multidisciplinaria, aprovechando áreas de especialización, tales como las matemáticas, la lógica simbólica, la semiótica, la ingeniería eléctrica, la filosofía de la mente, la neurofisiología, y la inteligencia social. La IA erróneamente es asociada en la mente popular con el desarrollo robótico, pero el principal campo de aplicación práctica ha sido como un componente integrado en las áreas de desarrollo de programas informáticos que requieren la comprensión y la modelación computacional, tales como las finanzas y la economía, la minería de datos y las ciencias físicas. El término fue acuñado por el científico de la computación y matemático John McCarthy en 1955. |
||
{| style="border:1px solid #ccc; text-align:center; margin:auto;" cellspacing="15" |
{| style="border:1px solid #ccc; text-align:center; margin:auto;" cellspacing="15" |
||
Línea 212: | Línea 249: | ||
| [[Cómputo de imágenes médicas]] |
| [[Cómputo de imágenes médicas]] |
||
|} |
|} |
||
⚫ | |||
{{AP|Interacción persona-computadora}}La interacción persona-computadora o interacción persona-ordenardor, es un área de investigación enfocada en el diseño y uso de [[Sistema informático|sistemas informáticos]], basada en el análisis de la interacción entre las [[Persona|personas]] y las [[Interfaz|interfaces informáticas]]. Tiene múltiples subáreas que estudian la relación entre las [[Emoción|emociones]], el [[comportamiento social]] y la [[Electroencefalografía|actividad cerebral]] con los [[Computadora|ordenadores]]. |
|||
{| cellspacing="15" style="border:1px solid #ccc; text-align:center; margin:auto;" |
|||
|[[Archivo:Maker_Faire,_Berlin_(BL7C0099).jpg|95x95px]] |
|||
|[[Archivo:Physical_computing.svg|96x96px]] |
|||
|[[Archivo:WMID_social_media_network.png|96x96px]] |
|||
|[[Archivo:Human-Centered_Design-Prozess_nach_HBS.png|96x96px]] |
|||
|[[Archivo:InterfaceNeuronaleDirecte-tag.svg|96x96px]] |
|||
|- |
|||
|[[Computación afectiva]] |
|||
|[[Computación física]] |
|||
|[[Computación social]] |
|||
|[[Diseño centrado en el usuario]] |
|||
|[[Interfaz cerebro-computadora]] |
|||
|} |
|||
⚫ | |||
⚫ | |||
⚫ | Ingeniería de ''[[software]]'' consiste en el estudio del diseño, activación y modificación del ''software'' con la finalidad de asegurarse de que es de alta calidad, asequible, fácil de mantener, y rápido de construir. Es un enfoque sistemático para el diseño de software, que implica la aplicación de prácticas de ingeniería de ''software''. Los ingenieros de ''software'' comercian con la organización y análisis de software — no solo lidian con la creación o fabricación de un nuevo soporte lógico, sino también con su mantenimiento y disposición interna. Se prevé que estén entre las ocupaciones de más rápido crecimiento entre 2008 y 2018. Debido a la novedad de este subcampo, la educación formal en Ingeniería de ''software'' generalmente es parte de los planes de estudio de ciencias de la computación, la gran mayoría de ingenieros de ''software'' tienen un grado académico en ciencias de la computación sin tener relación con la ingeniería.<ref>{{citeweb|url=http://computingcareers.acm.org/?page_id=12|title=Software Engineering|accessdate=1 de febrero de 2008|urlarchivo=https://web.archive.org/web/20110617053818/http://computingcareers.acm.org/?page_id=12|fechaarchivo=17 de junio de 2011}}</ref> |
||
==== Arquitectura de computadoras ==== |
==== Arquitectura de computadoras ==== |
||
{{ |
{{AP|Arquitectura de computadoras}} |
||
La arquitectura de computadores u organización de computadoras digitales es el diseño conceptual y la estructura operacional fundamental de un sistema cómputo. Se centra en gran medida de la manera en que la unidad central de procesamiento realiza internamente y accede a las direcciones en la memoria.<ref>{{cite web|last=A. Thisted|first=Ronald|title=COMPUTER ARCHITECTURE|url=http://galton.uchicago.edu/~thisted/Distribute/comparch.pdf|publisher=The University of Chicago|accessdate=7 de abril de 1997}}</ref> El campo involucra disciplinas de la ingeniería en computación y la ingeniería eléctrica, la selección y la interconexión de los componentes |
La arquitectura de computadores u organización de computadoras digitales es el diseño conceptual y la estructura operacional fundamental de un sistema cómputo. Se centra en gran medida de la manera en que la unidad central de procesamiento realiza internamente y accede a las direcciones en la memoria.<ref>{{cite web|last=A. Thisted|first=Ronald|title=COMPUTER ARCHITECTURE|url=http://galton.uchicago.edu/~thisted/Distribute/comparch.pdf|publisher=The University of Chicago|accessdate=7 de abril de 1997}}</ref> El campo involucra disciplinas de la ingeniería en computación y la ingeniería eléctrica, la selección y la interconexión de los componentes físicos para crear los equipos que cumplen funciones, de rendimiento, y costes. |
||
{| style="border:1px solid #ccc; text-align:center; margin:auto;" cellspacing="15" |
{| style="border:1px solid #ccc; text-align:center; margin:auto;" cellspacing="15" |
||
Línea 252: | Línea 309: | ||
Análisis de rendimiento del equipo es el estudio del trabajo que fluye a través de los equipos con el objetivo general de mejora de rendimiento y control de tiempo de respuesta, utilizando los recursos de manera eficiente, la eliminación de los cuellos de botella, y la predicción de rendimiento bajo cargas máximas previstas.<ref>{{cite book | last = Wescott | first = Bob | title = The Every Computer Performance Book, Chapter 3: Useful laws | url= http://www.amazon.com/Every-Computer-Performance-Book-Computers/dp/1482657759/ | publisher = [[CreateSpace]] | date = 2013 | isbn = 1482657759}}</ref> |
Análisis de rendimiento del equipo es el estudio del trabajo que fluye a través de los equipos con el objetivo general de mejora de rendimiento y control de tiempo de respuesta, utilizando los recursos de manera eficiente, la eliminación de los cuellos de botella, y la predicción de rendimiento bajo cargas máximas previstas.<ref>{{cite book | last = Wescott | first = Bob | title = The Every Computer Performance Book, Chapter 3: Useful laws | url= http://www.amazon.com/Every-Computer-Performance-Book-Computers/dp/1482657759/ | publisher = [[CreateSpace]] | date = 2013 | isbn = 1482657759}}</ref> |
||
==== |
==== Computación científica ==== |
||
{{AP|Computación científica}} |
|||
La ciencia computacional (o computación científica) es el campo de estudio que trata con la construcción de modelos matemáticos y técnicas de análisis cuantitativos, así como el uso de computadoras para analizar y resolver problemas científicos. En el uso práctico, es típicamente la aplicación de simulación por ordenador y otras formas de cálculo a los problemas en diversas disciplinas científicas. |
La ciencia computacional (o computación científica) es el campo de estudio que trata con la construcción de modelos matemáticos y técnicas de análisis cuantitativos, así como el uso de computadoras para analizar y resolver problemas científicos. En el uso práctico, es típicamente la aplicación de simulación por ordenador y otras formas de cálculo a los problemas en diversas disciplinas científicas. |
||
Línea 269: | Línea 327: | ||
==== Redes de computadoras ==== |
==== Redes de computadoras ==== |
||
{{ |
{{AP|Redes de computadoras}} |
||
Esta rama de las ciencias de la computación tiene como objetivo gestionar la conectividad entre redes ([[Red de área local|LAN]] / [[Red de área amplia|WAN]]) de computadoras a nivel mundial. |
Esta rama de las ciencias de la computación tiene como objetivo gestionar la conectividad entre redes ([[Red de área local|LAN]] / [[Red de área amplia|WAN]]) de computadoras a nivel mundial. |
||
==== Sistemas concurrentes, paralelos y distribuidos ==== |
==== Sistemas concurrentes, paralelos y distribuidos ==== |
||
{{ |
{{AP|Computación concurrente|Computación distribuida}} |
||
Concurrencia es una propiedad de los sistemas en los que varios cálculos están ejecutando de forma simultánea, y, potencialmente, que interactúan entre sí. Un número de modelos matemáticos han sido desarrollados para el cálculo concurrente general, incluyendo las redes de Petri, cálculos de proceso y del modelo de máquina de acceso aleatorio en paralelo. Un sistema distribuido se extiende la idea de la simultaneidad en varios ordenadores conectados a través de una red. Las computadoras dentro del mismo sistema distribuido tienen su propia memoria privada, y la información es a menudo intercambiada entre sí para lograr un objetivo común. |
Concurrencia es una propiedad de los sistemas en los que varios cálculos están ejecutando de forma simultánea, y, potencialmente, que interactúan entre sí. Un número de modelos matemáticos han sido desarrollados para el cálculo concurrente general, incluyendo las redes de Petri, cálculos de proceso y del modelo de máquina de acceso aleatorio en paralelo. Un sistema distribuido se extiende la idea de la simultaneidad en varios ordenadores conectados a través de una red. Las computadoras dentro del mismo sistema distribuido tienen su propia memoria privada, y la información es a menudo intercambiada entre sí para lograr un objetivo común. |
||
==== Bases de datos ==== |
==== Bases de datos ==== |
||
{{ |
{{AP|Bases de datos|Sistema de gestión de bases de datos}} |
||
Una base de datos tiene la intención de organizar, almacenar y recuperar grandes cantidades de datos de forma sencilla. Bases de datos digitales se gestionan mediante sistemas de gestión de base de datos para almacenar, crear, mantener y consultar los datos, a través de modelos de bases de datos y lenguajes de consulta. Una base de datos es un conjunto de datos interrelacionados entre ellos mismos. |
Una base de datos tiene la intención de organizar, almacenar y recuperar grandes cantidades de datos de forma sencilla. Bases de datos digitales se gestionan mediante sistemas de gestión de base de datos para almacenar, crear, mantener y consultar los datos, a través de modelos de bases de datos y lenguajes de consulta. Una base de datos es un conjunto de datos interrelacionados entre ellos mismos. |
||
Línea 284: | Línea 342: | ||
==== Ciencia de la información ==== |
==== Ciencia de la información ==== |
||
El campo estudia la estructura, algoritmos, comportamiento e interacciones de los sistemas naturales y artificiales que guardan, procesan, acceden a y comunican información. También desarrolla sus propios fundamentos conceptuales y teóricos y emplea fundamentos desarrollados en otros campos. Una aplicación moderna es el [[Big Data]], que consiste en el procesamiento de un conjunto de datos (provenientes de fuentes como por ejemplo: transacciones comerciales, formularios web, imágenes, videos, correos electrónicos, redes sociales, entre otros), los cuales son sometidos a herramientas informáticas de análisis que permiten extraer información valiosa para predecir comportamientos futuros y formular estrategias de [[Toma de decisiones|toma decisiones]].<ref>{{Cita web|url=https://negociosytecnologias.wordpress.com/|título=Datos Digitales conectados en Red|fechaacceso=7 de enero de 2017|autor=|enlaceautor=|fecha=|idioma=|sitioweb=|editorial=}}</ref> |
{{AP|Ciencias de la información (tecnología)}}El campo estudia la estructura, algoritmos, comportamiento e interacciones de los sistemas naturales y artificiales que guardan, procesan, acceden a y comunican información. También desarrolla sus propios fundamentos conceptuales y teóricos y emplea fundamentos desarrollados en otros campos. Una aplicación moderna es el [[Big Data]], que consiste en el procesamiento de un conjunto de datos (provenientes de fuentes como por ejemplo: transacciones comerciales, formularios web, imágenes, videos, correos electrónicos, redes sociales, entre otros), los cuales son sometidos a herramientas informáticas de análisis que permiten extraer información valiosa para predecir comportamientos futuros y formular estrategias de [[Toma de decisiones|toma decisiones]].<ref>{{Cita web|url=https://negociosytecnologias.wordpress.com/|título=Datos Digitales conectados en Red|fechaacceso=7 de enero de 2017|autor=|enlaceautor=|fecha=|idioma=|sitioweb=|editorial=}}</ref> |
||
{{main|Ciencias de la información (tecnología)}} |
|||
{| style="border:1px solid #ccc; text-align:center; margin:auto;" cellspacing="15" |
{| style="border:1px solid #ccc; text-align:center; margin:auto;" cellspacing="15" |
||
Línea 293: | Línea 349: | ||
| [[Archivo:neuron.png|96px]] |
| [[Archivo:neuron.png|96px]] |
||
| [[Archivo:english.png|96px]] |
| [[Archivo:english.png|96px]] |
||
⚫ | |||
|- |
|- |
||
| [[Búsqueda y recuperación de información]] |
| [[Búsqueda y recuperación de información]] |
||
| [[Representación del conocimiento]] |
| [[Representación del conocimiento]] |
||
| [[Procesamiento de lenguaje natural]] |
| [[Procesamiento de lenguaje natural]] |
||
⚫ | |||
|} |
|} |
||
⚫ | |||
⚫ | |||
{{AP|Programación}} |
|||
⚫ | Ingeniería de [[software]] |
||
== Relación con otros campos == |
== Relación con otros campos == |
||
Línea 311: | Línea 360: | ||
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]]. |
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 |
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 los ordenadores como la astronomía con los telescopios». 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. |
||
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 |
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 la lución «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 informática. 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 las matemática o a la ingeniería. Los departamentos de ciencias de la computación orientados a las matemáticas teóricas suelen alinearse del lado de la computación científica y las aplicaciones de cálculo numérico. |
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 las matemática o a la ingeniería. Los departamentos de ciencias de la computación orientados a las matemáticas teóricas suelen alinearse del lado de la computación científica y las aplicaciones de cálculo numérico. |
||
La locución «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 informáticos. 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 |
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 ejecutar aplicaciones de ''software'' como juegos y navegadores web, y utiliza ese entendimiento para crear nuevos programas o mejorar los existentes.<ref>"''Common myths and preconceptions about Cambridge Computer Science''" [https://web.archive.org/web/20101125053859/http://www.cl.cam.ac.uk/admissions/undergraduate/myths/ Computer Science Department], [[University of Cambridge]].</ref> |
||
== Véase también == |
== Véase también == |
||
{{lista de columnas|2| |
|||
* [[Informático teórico|Computólogo]] |
* [[Informático teórico|Computólogo]] |
||
* [[Matemáticas]] |
* [[Matemáticas]] |
||
Línea 336: | Línea 385: | ||
* [[Mujeres en informática]] |
* [[Mujeres en informática]] |
||
* [[Premio Turing]] |
* [[Premio Turing]] |
||
* [[Ciencia web]] |
|||
⚫ | |||
Revisión actual - 13:25 3 nov 2024
Las ciencias de la computación o ciencias de la informática son las ciencias formales que abarcan las bases teóricas de la información y la computación, así como su aplicación en los sistemas informáticos.[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, algoritmos sistematizados y aplicación.[4] En términos más específicos se trata del 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. La información puede estar codificada en forma de bits en una memoria de computadora, o en algún otro objeto, como los genes y proteínas en una célula biológica.[5]
Existen diversas ramas o disciplinas dentro de las ciencias de la computación; 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 informáticos. 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 computólogo se especializa en teoría de la computación y en el diseño e implementación de sistemas computacionales.[6]
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 cimientos de lo que se convertiría en ciencias de la computación son anteriores a la invención de la computadora digital moderna. Se trataba de máquinas para el cálculo de las tareas numéricas fijas, como el ábaco han existido desde la antigüedad, ayudando en cálculos tales como la multiplicación y la división. Además, los algoritmos para realizar cálculos han existido desde la antigüedad, incluso antes de que se crearan equipos de computación sofisticados. Los antiguos sánscritos tratadistas Shulba Sutras, o "Reglas de la cuerda", es un libro de algoritmos escritos en 800 a. C. para la construcción de objetos geométricos como altares utilizando una clavija y cuerda, un precursor temprano del campo moderno de la geometría computacional.
Blaise Pascal diseñó y construyó la primera calculadora mecánica de trabajo, la Pascalina, en 1642.[9] En 1673 Gottfried Leibniz creó una calculadora mecánica digital, llamada Stepped Reckoner.[10] Él puede ser considerado el primer computólogo y teórico de la información, entre otras razones, porque fue el primero en documentar el sistema numérico binario. En 1820, Charles Xavier Thomas de Colmar lanzó la calculadora mecánica industrial[11] cuando lanzó su simplificado aritmómetro, que fue la primera máquina de calcular lo suficientemente fuerte y lo suficientemente fiable para ser usada a diario en un entorno industrial. Charles Babbage inició el diseño de la primera calculadora automática mecánica, su máquina diferencial, en 1822, que finalmente le dio la idea de la primera calculadora mecánica programable, su máquina analítica.[12] Él comenzó a desarrollar esta máquina en 1834 y en menos de dos años había esbozado muchas de las características más destacadas del moderno equipo. Un paso fundamental fue la adopción de un sistema de tarjetas perforadas derivado del telar de Jacquard[13] haciéndolo infinitamente programable.[14] En 1843, durante la traducción de un artículo francés sobre la máquina analítica, Ada Lovelace escribió, en una de las muchas notas que incluye el artículo, un algoritmo para calcular los números de Bernoulli, que es considerado como el primer programa de ordenador.[15] Alrededor de 1885, Herman Hollerith inventó la máquina tabuladora, que usaba tarjetas perforadas para procesar información estadística; finalmente, su compañía se convirtió en parte de IBM. En 1937, cien años después del sueño imposible de Babbage, Howard Aiken fue convencido por IBM (que estaban manufacturando todo tipo de equipos de tarjetas perforadas y así como la calculadora de negocio[16]) para desarrollar su calculadora programable gigante, el ASCC/Harvard Mark I. Se basó en la máquina analítica de Babbage, que a su vez utiliza las tarjetas perforadas y una unidad central de cálculo. Cuando se terminó de construir la máquina, algunas personas lo aclamaron como «el sueño de Babbage hecho realidad».[17]
Nuevas máquinas
[editar]Durante la década de 1940, conforme se desarrollaban las 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.[18] Cuando se hizo evidente que las computadoras no solamente podrían utilizarse para realizar cálculos matemáticos, el campo de las ciencias de la computación se amplió para estudiar cómputo en general. Las ciencias de la computación empezaron a establecerse como una disciplina académica distinta de las demás en la década de 1950 y principios de 1960.[7][19] Entonces surgió el primer programa de grado universitario del mundo, el Cambridge Diploma in Computer Science, del Cambridge Computer Lab (Departamento de Ciencias de la Computación) de la Universidad de Cambridge, en 1953. El primer programa de grado universitario en ciencias de la informática en Estados Unidos se formó en la universidad de Purdue en 1962.[20] Desde que se dispone ordenadores prácticos, muchas aplicaciones la de las ciencias de la computación se convirtieron en diferentes áreas de estudio en sus propios términos.
Aunque inicialmente muchos creyeron que era imposible que las computadoras en sí mismas podrían constituir en realidad un campo científico de estudio, a finales de los años cincuenta se fue volviendo gradualmente aceptada entre la población mayor académica.[21][22]
La disciplina 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 (véase 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 mediados de la década 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] IBM es reconocida como la marca que formó parte de la revolución de las ciencias de la computación durante ese tiempo. IBM (abreviación de International Business Machines) lanzó la IBM 704[23] y más tarde la IBM 709[24] computadoras, que fueron ampliamente utilizadas durante el período de exploración de este tipo de dispositivos. "Sin embargo, el trabajo con la IBM [equipo] era frustrante ... si te equivocas en una letra de alguna instrucción, el programa se arruinaría, y se tendría que empezar todo el proceso otra vez".[21] Durante la década de 1950, la disciplina de las ciencias de la computación estaba en su etapa de desarrollo, y estos problemas eran algo común.
El tiempo ha dado mejoras significativas en la capacidad de uso y la eficacia de la tecnología de la computación. La sociedad moderna ha presenciado un cambio significativo en los usuarios de la tecnología en cómputo, de ser utilizada únicamente por expertos, profesionales y científicos, a una base de usuarios que es casi omnipresente a la teoría con la cual se desarrolló y funciona este tipo de tecnología. Inicialmente, las computadoras eran bastante costosas, y era necesario un cierto grado de ayuda humana para el uso eficiente - en parte de operadores de computadoras profesionales. Como la adopción equipo se hizo más generalizado y asequible, se necesitaba menos asistencia humana en el uso común.
Mayores logros
[editar]A pesar de su corto tiempo de ser una disciplina científica formal, las ciencias de la computación han hecho un gran número de contribuciones importantes a la ciencia y la sociedad –de hecho, junto con la electrónica, es una ciencia fundacional de la época actual de la historia humana llamada Era de la información y la Revolución de la Información, visto como el tercer gran salto en el progreso tecnológico humano después de la Revolución Industrial (1750-1850) y la revolución neolítica (8000-5000 a. C.).
Estas contribuciones a la humanidad incluyen:
- El comienzo de la "Revolución digital", la cual incluye la actual Era de la información y el Internet.[26]
- Una definición formal de computación y computabilidad, y una demostración formal de que existen problemas que son computacionalmente irresolubles e intratables.[27]
- 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.[28]
- En criptología, el criptoanálisis de Enigma fue un factor importante, el cual contribuyó a la victoria Aliada en la Segunda Guerra Mundial.[25]
- El cómputo científico permitió la evaluación de procesos y situaciones de gran complejidad, así como la experimentación mediante software. También permitió el avance en investigación de la mente humana y el mapeo del genoma humano junto el Proyecto Genoma Humano.[26] Proyectos de cómputo distribuido tales como Folding@home que estudiaron el plegamiento de proteínas.
- Computación gráfica e imágenes generadas por computadora se volvieron omnipresentes en la era moderna del entretenimiento, sobre todo en televisión, cine, publicidad, animación y videojuegos. [cita requerida]
- Simulación de varios procesos, incluyendo dinámica de fluidos computacionales, sistemas físicos, eléctricos, electrónicos y de circuitos, así como las sociedades y las situaciones sociales (sobre todo juegos de guerra), junto con sus hábitats, entre muchos otros. Las computadoras modernas permiten la optimización de diseños tales como aviones completos. Se destaca el diseño de circuitos eléctricos y electrónicos con SPICE, así como software para la realización física de nuevos diseños. Este último incluye soporte lógico de diseño esencial para circuito integrados.
- La Inteligencia artificial (IA) es cada vez más importante, ya que se vuelve más eficiente y compleja con el paso del tiempo. Existen muchas aplicaciones de la IA, algunas se pueden ver en el hogar, tales como aspiradores robóticos. También está presente en los videojuegos y en el campo de batalla moderno en aviones no tripulados, sistemas antimisiles, y robots de apoyo para escuadrones.
Filosofía
[editar]Algunos científicos de la computación han argumentado a favor de la distinción de tres paradigmas diferentes en ciencias de la computación. Peter Wegner ha argumentado que esos paradigmas son la ciencia, la tecnología y las matemáticas.[29] El grupo de investigación de Peter Denning argumentó que son la abstracción (modelado), y diseño. Amnon H. Eden lo describe como el «paradigma racionalista» (el cual trata a las ciencias de la computación como una rama de las matemáticas, la cual prevalece en ciencias de la computación teórica y principalmente emplea el razonamiento deductivo), el paradigma tecnocrático (que podría ser encontrado en enfoques ingenieriles, más prominente en la ingeniería de software) y el paradigma científico (que se enfoca a objetos relacionados con la computación desde la perspectiva empírica de las ciencias naturales identificable en algunas ramas de la inteligencia artificial).
A pesar de su primera proposición en 1956,[22] la locución «ciencias de la computación» aparece en 1959 en un artículo de la revista Communications of the ACM (prestigiada publicación científica destinada a lectores con experiencia en todos los ámbitos de la computación y los sistemas de información),[30] en el cual Louis Fein discute sobre la creación de una Escuela de Estudios de Posgrado en Ciencias Computacionales análoga a la creación de Harvard Business School en 1921,[31] justificando el nombre con el argumento de que: Como la ciencia administrativa, el tema o área de conocimiento puede ser aplicado, es de carácter interdisciplinario y que cuenta con las características típicas de una disciplina académica.[32] Sus esfuerzos y los de otros, como el analista numérico George Forsythe, fueron recompensados: universidades pasaron a crear este tipo de programas de estudio, a partir de 1962 en Purdue.[33] A pesar del nombre de esta disciplina académica, una cantidad significativa de tópicos en ciencias de la computación no involucran el estudio de las computadoras, por esta razón muchos nombres alternativos han sido propuestos.[34]
Algunos departamentos de universidades prefieren la locución «ciencias de la computación» para hacer énfasis en esta diferencia. El científico danés Peter Naur sugirió el término datología,[35] para reflejar el hecho de que esta disciplina científica gira en torno a los datos y a al tratamiento de estos, mientras que no necesariamente involucra a las computadoras. La primera institución científica en usar el término fue el Departamento de Datología de la Universidad de Copenhague, fundado en 1969, con Peter Naur como profesor de datología. El término es usado en países escandinavos. En los primeros años de la computación, un número de terminus para los practicantes del campo de la computación fueron propuestos en la revista Communications of the ACM – turingeniero, turologo, hombre de los diagramas de flujo, matemático meta-aplicado, y epistemologo aplicado.[36] Tres meses después en esa misma publicación científica, el término computólogo fue sugerido. El siguiente año en la misma publicación surgió el término hypologo.[37] El término computica también ha sido sugerido.[38] En Europa, términos derivados de traducciones de la expresión "automatic information" (e.g. "informazione automatica" en italiano) or "información y matemáticas" son frecuentemente usados, e.g. informatique (francés), Informatik (alemán), Informática (Italia, Países Bajos), Informática (España y Portugal), informatika (lenguas eslavas) o pliroforiki (πληροφορική, que significa informática) en Griego. Palabras similares han sido adoptadas en algunos lugares del Reino Unido, por ejemplo en la Universidad de Edimburgo.[39] Pero estas no reflejan el aspecto de la computabilidad, por esta razón en un contexto de investigación científica tanto académica como industrial el término ciencias de la computación es mayormente usado en publicaciones y conferencias científicas.
Campos de estudio
[editar]Como disciplina científica, las ciencias de la computación abarca 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.[40][41] 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)[42]– 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, y 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, 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.[40]
Ciencias de la computación teóricas
[editar]Las ciencias de la computación teóricas tienen como eje fundamental varias ramas de las ciencias matemáticas, en especial puras como la matemática discreta, la teoría de grafos y el álgebra, con el fin de entender la naturaleza de la computación y de mejorar sus procesos asociados.
Teoría de la computación
[editar]De acuerdo a Peter J. Denning, la pregunta fundamental en ciencias de la computación es, «¿Qué puede ser eficientemente automatizado?»[7] El estudio de la teoría de la computación está enfocado en responder preguntas fundamentales acerca de qué puede ser computado y qué cantidad de recursos son requeridos para ejecutar tales cómputos. En un esfuerzo por resolver esta pregunta, la teoría de la computabilidad examina qué problemas computacionales se pueden resolver en varios modelos teóricos de cómputo. La segunda pregunta está dirigida por la teoría de la complejidad computacional, que estudia los costos de tiempo y espacio asociados a diferentes enfoques para resolver una multitud de problemas computacionales.
El famoso problema "¿P=NP?" es uno de los Problemas del milenio,[43] es un problema abierto en ciencias de la computación.
P = NP ? | GNITIRW-TERCES | |||
Teoría de autómatas | Teoría de la computabilidad | Teoría de la complejidad computacional | Criptografía | Computación cuántica |
Teoría de la información y códigos
[editar]La teoría de la información está relacionada con la cuantificación de la información. Fue desarrollada por Claude E. Shannon para desarrollar los límites fundamentales del procesamiento de señales así como sus operaciones, tales como compresión y almacenamiento de datos así como la comunicación de los datos de manera fiable.[44] La teoría de códigos es un área de las matemáticas que busca resolver el problema de detectar y corregir errores al momento de transmitir información.[45] Los códigos son usados para comprimir datos, criptografía y más recientemente para la codificación de redes. Los códigos son estudiados para el propósito de diseñar métodos eficientes y seguros para la transmisión de datos.
Algoritmos y estructuras de datos
[editar]Los algoritmos y las estructuras de datos son el estudio de métodos computacionales comúnmente usados así como su eficiencia computacional.
Análisis de algoritmos | Algoritmos | Estructuras de datos | Optimización combinatoria | Geometría computacional |
Teoría de lenguajes de programación
[editar]La teoría del lenguaje de programación es una rama de las ciencias de la computación que se ocupa del diseño, activación, análisis, caracterización y clasificación de los lenguaje de programación y sus características individuales, cae dentro de la disciplina de las ciencias de la computación, tanto en dependencia de las matemáticas y la lingüística. Es un área de investigación activa, con numerosas revistas académicas y conferencias especializadas en el tema.
Teoría de tipos | Compiladores | Lenguajes de programación |
Métodos formales
[editar]Los métodos formales son un tipo particular de la técnica basada en las matemáticas para la especificación formal, desarrollo y verificación formal de los sistemas de software y hardware. El uso de métodos formales para el diseño de soportes lógico y físico está motivado por la expectativa de que, la realización de un análisis matemático adecuado puede contribuir a la fiabilidad y robustez de un diseño. Estos forman una importante base teórica para la ingeniería de software, especialmente cuando está involucrado la seguridad o robustez. Los métodos formales son un complemento útil para las pruebas de software, ya que ayudan a evitar errores y también pueden dar un marco para hacer pruebas. Para su uso industrial, se requiere el apoyo de herramientas. Sin embargo, el alto costo de la utilización de métodos formales significa que por lo general solo se utilizan en el desarrollo de sistemas críticos de alta integridad donde la vida o la seguridad es de muy alta importancia.
Los métodos formales se describen mejor como la aplicación de una amplia variedad de fundamentos teóricos de las ciencias de la computación, en particular la lógica computacional, lenguajes formales, teoría de autómatas y Semántica de lenguajes de programación pero también áreas como sistemas de tipos y tipos de datos algebraicos a problemas en la especificación y verificación de software y hardware.
Ciencias de la computación aplicadas
[editar]Las ciencias de la computación aplicadas buscan diseñar, desarrollar y continuamente mejorar algoritmos y sistemas informáticos para la solución de problemas del mundo real, como la generación de contenido multimedia, optimización de redes de comunicaciones, implementación de procesos de automatización, descubrimientos científicos, entre otras áreas de aplicación, siendo dependientes de los avances de la ciencias de la computación teóricas que determinan la capacidad de cómputo.
Gráficos por ordenador
[editar]También conocida como computación gráfica, es el subcampo de la computación que se encarga de la síntesis y manipulación de contenido visual, en especial imágenes digitales que pueden representar información de objetos tridimensionales. Si bien es un subcampo de estudio independiente, si depende o está interrelacionada con la geometría computacional, el procesamiento digital de imágenes y la visión artificial.
Computación gráfica 2D | Animación por ordenador | Renderización | Realidad mixta | Realidad virtual | Modelado de sólidos |
Procesamiento digital de audio e imágenes
[editar]Parte de dos áreas de estudio conocidas como procesamiento de datos y procesamiento digital de señales, las imágenes y audios son tipos de información y señales ampliamente utilizados en la teoría de la información, la computación gráfica, la inteligencia artificial, los sistemas de telecomunicación y la ingeniería de software, para la aplicación en la síntesis de habla, análisis de imágenes médicas, robótica, entre otras.
Algoritmos FFT | Procesamiento de imágenes | Reconocimiento del habla | Compresión de datos | Síntesis de habla |
Inteligencia artificial
[editar]Esta rama de las ciencias de la computación pretende o es requerida para la síntesis de procesos metaorientados tales como la resolución de problemas, toma de decisiones, la adaptación del medio ambiente, el aprendizaje y la comunicación que se encuentran en los seres humanos y los animales. Desde sus orígenes en la cibernética y en la Conferencia de Dartmouth (1956), la investigación en inteligencia artificial (IA) ha sido necesariamente multidisciplinaria, aprovechando áreas de especialización, tales como las matemáticas, la lógica simbólica, la semiótica, la ingeniería eléctrica, la filosofía de la mente, la neurofisiología, y la inteligencia social. La IA erróneamente es asociada en la mente popular con el desarrollo robótico, pero el principal campo de aplicación práctica ha sido como un componente integrado en las áreas de desarrollo de programas informáticos que requieren la comprensión y la modelación computacional, tales como las finanzas y la economía, la minería de datos y las ciencias físicas. El término fue acuñado por el científico de la computación y matemático John McCarthy en 1955.
Interacción persona-computadora
[editar]La interacción persona-computadora o interacción persona-ordenardor, es un área de investigación enfocada en el diseño y uso de sistemas informáticos, basada en el análisis de la interacción entre las personas y las interfaces informáticas. Tiene múltiples subáreas que estudian la relación entre las emociones, el comportamiento social y la actividad cerebral con los ordenadores.
Computación afectiva | Computación física | Computación social | Diseño centrado en el usuario | Interfaz cerebro-computadora |
Ingeniería de software
[editar]Ingeniería de software consiste en el estudio del diseño, activación y modificación del software con la finalidad de asegurarse de que es de alta calidad, asequible, fácil de mantener, y rápido de construir. Es un enfoque sistemático para el diseño de software, que implica la aplicación de prácticas de ingeniería de software. Los ingenieros de software comercian con la organización y análisis de software — no solo lidian con la creación o fabricación de un nuevo soporte lógico, sino también con su mantenimiento y disposición interna. Se prevé que estén entre las ocupaciones de más rápido crecimiento entre 2008 y 2018. Debido a la novedad de este subcampo, la educación formal en Ingeniería de software generalmente es parte de los planes de estudio de ciencias de la computación, la gran mayoría de ingenieros de software tienen un grado académico en ciencias de la computación sin tener relación con la ingeniería.[46]
Arquitectura de computadoras
[editar]La arquitectura de computadores u organización de computadoras digitales es el diseño conceptual y la estructura operacional fundamental de un sistema cómputo. Se centra en gran medida de la manera en que la unidad central de procesamiento realiza internamente y accede a las direcciones en la memoria.[47] El campo involucra disciplinas de la ingeniería en computación y la ingeniería eléctrica, la selección y la interconexión de los componentes físicos para crear los equipos que cumplen funciones, de rendimiento, y costes.
Análisis de rendimiento de computadoras
[editar]Análisis de rendimiento del equipo es el estudio del trabajo que fluye a través de los equipos con el objetivo general de mejora de rendimiento y control de tiempo de respuesta, utilizando los recursos de manera eficiente, la eliminación de los cuellos de botella, y la predicción de rendimiento bajo cargas máximas previstas.[48]
Computación científica
[editar]La ciencia computacional (o computación científica) es el campo de estudio que trata con la construcción de modelos matemáticos y técnicas de análisis cuantitativos, así como el uso de computadoras para analizar y resolver problemas científicos. En el uso práctico, es típicamente la aplicación de simulación por ordenador y otras formas de cálculo a los problemas en diversas disciplinas científicas.
Análisis numérico | Física computacional | Química computacional | Bioinformática |
Redes de computadoras
[editar]Esta rama de las ciencias de la computación tiene como objetivo gestionar la conectividad entre redes (LAN / WAN) de computadoras a nivel mundial.
Sistemas concurrentes, paralelos y distribuidos
[editar]Concurrencia es una propiedad de los sistemas en los que varios cálculos están ejecutando de forma simultánea, y, potencialmente, que interactúan entre sí. Un número de modelos matemáticos han sido desarrollados para el cálculo concurrente general, incluyendo las redes de Petri, cálculos de proceso y del modelo de máquina de acceso aleatorio en paralelo. Un sistema distribuido se extiende la idea de la simultaneidad en varios ordenadores conectados a través de una red. Las computadoras dentro del mismo sistema distribuido tienen su propia memoria privada, y la información es a menudo intercambiada entre sí para lograr un objetivo común.
Bases de datos
[editar]Una base de datos tiene la intención de organizar, almacenar y recuperar grandes cantidades de datos de forma sencilla. Bases de datos digitales se gestionan mediante sistemas de gestión de base de datos para almacenar, crear, mantener y consultar los datos, a través de modelos de bases de datos y lenguajes de consulta. Una base de datos es un conjunto de datos interrelacionados entre ellos mismos.
Informática en salud
[editar]Ciencia de la información
[editar]El campo estudia la estructura, algoritmos, comportamiento e interacciones de los sistemas naturales y artificiales que guardan, procesan, acceden a y comunican información. También desarrolla sus propios fundamentos conceptuales y teóricos y emplea fundamentos desarrollados en otros campos. Una aplicación moderna es el Big Data, que consiste en el procesamiento de un conjunto de datos (provenientes de fuentes como por ejemplo: transacciones comerciales, formularios web, imágenes, videos, correos electrónicos, redes sociales, entre otros), los cuales son sometidos a herramientas informáticas de análisis que permiten extraer información valiosa para predecir comportamientos futuros y formular estrategias de toma decisiones.[50]
Búsqueda y recuperación de información | Representación del conocimiento | Procesamiento de lenguaje natural |
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 los ordenadores como la astronomía con los telescopios». 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.
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 la lución «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 informática. 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 las matemática o a la ingeniería. Los departamentos de ciencias de la computación orientados a las matemáticas teóricas suelen alinearse del lado de la computación científica y las aplicaciones de cálculo numérico.
La locución «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 informáticos. 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 ejecutar aplicaciones de software como juegos y navegadores web, y utiliza ese entendimiento para crear nuevos programas o mejorar los existentes.[51]
Véase también
[editar]- Computólogo
- Matemáticas
- Ciencias de la información
- Ingeniería en computación
- Anexo:Informáticos teóricos
- Programación
- Teoría de la computación
- Teoría de la complejidad computacional
- Problema de la cena de los filósofos
- Problemas no resueltos de las Ciencias de la Computación
- Anexo:Informáticos teóricos
- Mujeres en informática
- Premio Turing
- Ciencia web
Referencias
[editar]- ↑ "Computer science is the study of information" Department of Computer and Information Science, Guttenberg Information Technologies
- ↑ "Computer science is the study of computation." Computer Science Department, College of Saint Benedict Archivado el 3 de febrero de 2007 en Wayback Machine., Saint John's University
- ↑ "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
- ↑ a b c Anthony Ralston, Edwin D. Reilly, David Hemmendinger (2000). Encyclopedia of Computer Science. Wiley. 978-0-470-86412-8.
- ↑ http://www.cs.bu.edu/AboutCS/WhatIsCS.pdf Archivado el 18 de febrero de 2015 en Wayback Machine..
- ↑ «WordNet Search - 3.1». Wordnetweb.princeton.edu. Consultado el 14 de mayo de 2012.
- ↑ a b c Denning, P.J. (2000). «Computer Science: The Discipline» (PDF). Encyclopedia of Computer Science. Archivado desde el original el 25 de mayo de 2006.
- ↑ David Alan Grier (2005). When computers were human. Princeton University Press. ISBN 84-89660-00-X.
- ↑ «Blaise Pascal». School of Mathematics and Statistics University of St Andrews, Scotland.
- ↑ «A Brief History of Computing». Archivado desde el original el 29 de junio de 2012. Consultado el 26 de diciembre de 2014.
- ↑ En 1851
- ↑ «Science Museum - Introduction to Babbage». Archivado desde el original el 8 de septiembre de 2006. Consultado el 24 de septiembre de 2006.
- ↑ Anthony Hyman (1982). Charles Babbage, pioneer of the computer.
- ↑ "La introducción de tarjetas perforadas en el nuevo motor era importante no sólo como una forma más conveniente de control que los tambores, si no porque se podría programar de forma ilimitada, y estos programas podrían ser almacenados y repetidos sin el peligro de introducir errores en la configuración a mano de la máquina; era importante también porque sirvió para cristalizar sensación de Babbage que había inventado algo realmente nuevo, algo mucho más que una máquina calculadora sofisticada." Bruce Collier, 1970
- ↑ «A Selection and Adaptation From Ada's Notes found in Ada, The Enchantress of Numbers, by Betty Alexandra Toole Ed.D. Strawberry Press, Mill Valley, CA». Archivado desde el original el 10 de febrero de 2006. Consultado el 4 de mayo de 2006.
- ↑ "En este sentido Aiken necesitaba de IBM, cuya tecnología incluida el uso de tarjetas perforadas, la acumulación de datos numéricos, y la transferencia de los datos numéricos de un registro a otro ", Bernard Cohen, p.44 (2000)
- ↑ Brian Randell, p. 187, 1975
- ↑ La Association for Computing Machinery (ACM) fue fundada en 1947.
- ↑ «Some EDSAC statistics». Cl.cam.ac.uk. Consultado el 19 de noviembre de 2011.
- ↑ «Computer science pioneer Samuel D. Conte dies at 85». Purdue Computer Science. 1 de julio de 2002. Consultado el 12 de diciembre de 2014.
- ↑ a b Levy, Steven (1984). Hackers: Heroes of the Computer Revolution. Doubleday. ISBN 0-385-19195-2.
- ↑ a b Tedre, Matti (2014). The Science of Computing: Shaping a Discipline. Taylor and Francis / CRC Press.
- ↑ «IBM 704 Electronic Data Processing System - CHM Revolution». Computerhistory.org. Consultado el 7 de julio de 2013.
- ↑ «IBM 709: a powerful new data processing system». Computer History Museum. Archivado desde el original el 4 de marzo de 2016. Consultado el 12 de diciembre de 2014.
- ↑ a b David Kahn, The Codebreakers, 1967, ISBN 0-684-83130-9.
- ↑ a b https://web.archive.org/web/20060911104502/http://www.cis.cornell.edu/Dean/Presentations/Slides/bgu.pdf
- ↑ Constable, R.L. (March 2000). Computer Science: Achievements and Challenges circa 2000 (PDF). Archivado desde el original el 21 de julio de 2010.
- ↑ Abelson, H.; G.J. Sussman with J. Sussman (1996). Structure and Interpretation of Computer Programs (2nd edición). MIT Press. ISBN 0-262-01153-0. «La revolución de la computadora es una revolución en la manera de pensar y en la forma en que expresamos lo que pensamos. La esencia de este cambio es la aparición de lo que podría llamarse mejor epistemología procedimental —el estudio de la estructura del conocimiento desde un punto de vista imperativo, en oposición al punto de vista más declarativo tomada por temas matemáticos clásicos–.»
- ↑ Wegner, P. (October 13–15, 1976). «Research paradigms in computer science». San Francisco, California, United States: IEEE Computer Society Press, Los Alamitos, CA.
- ↑ Louis Fine (1959). «The Role of the University in Computers, Data Processing, and Related Fields». Communications of the ACM 2 (9): 7-14. doi:10.1145/368424.368427.
- ↑ «Stanford University Oral History». Stanford University. Consultado el 30 de mayo de 2013.
- ↑ id., p. 11
- ↑ Donald Knuth (1972). "George Forsythe and the Development of Computer Science" Archivado el 20 de octubre de 2013 en Wayback Machine.. Comms. ACM.
- ↑ Matti Tedre (2006). The Development of Computer Science: A Sociocultural Perspective, p.260
- ↑ Peter Naur (1966). «The science of datalogy». Communications of the ACM 9 (7): 485. doi:10.1145/365719.366510.
- ↑ Communications of the ACM 1(4):p.6
- ↑ Communications of the ACM 2(1):p.4
- ↑ IEEE Computer 28(12):p.136
- ↑ P. Mounier-Kuhn, L’Informatique en France, de la seconde guerre mondiale au Plan Calcul. L’émergence d’une science, Paris, PUPS, 2010, ch. 3 & 4.
- ↑ a b Computing Sciences Accreditation Board (28 de mayo de 1997). «Computer Science as a Profession». Archivado desde el original el 17 de junio de 2008. Consultado el 23 de mayo de 2010.
- ↑ 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.
- ↑ «Csab, Inc». Csab.org. 3 de agosto de 2011. Consultado el 19 de noviembre de 2011.
- ↑ Clay Mathematics Institute P=NP
- ↑ P. Collins, Graham. «Claude E. Shannon: Founder of Information Theory». Scientific American, Inc.
- ↑ «Teoría de Códigos | CIMAT». www.cimat.mx. Archivado desde el original el 5 de noviembre de 2018. Consultado el 26 de septiembre de 2016.
- ↑ «Software Engineering». Archivado desde el original el 17 de junio de 2011. Consultado el 1 de febrero de 2008.
- ↑ A. Thisted, Ronald. «COMPUTER ARCHITECTURE». The University of Chicago. Consultado el 7 de abril de 1997.
- ↑ Wescott, Bob (2013). The Every Computer Performance Book, Chapter 3: Useful laws. CreateSpace. ISBN 1482657759.
- ↑ de Quir, F. G. B., & Plazzotta, F. (2015). INFORMÁTICA EN SALUD.
- ↑ «Datos Digitales conectados en Red». Consultado el 7 de enero de 2017.
- ↑ "Common myths and preconceptions about Cambridge Computer Science" Computer Science Department, University of Cambridge.
Bibliografía
[editar]- Abelson, H. y Sussman, G.J. con Sussman, J. (1996). Structure and Interpretation of Computer Programs, 2nd Ed. EUA: MIT Press. ISBN 0-262-01153-0.
- Constable, R. L. (1997). "Nature of the Information Sciences".
- Constable, R. L. (2000, marzo). "Computer Science: Achievements and Challenges circa 2000".
- Parnas, D. L. (1998). "Software engineering programmes are not computer science programmes". Annals of Software Engineering 6: 19–37. doi:10.1023/A:1018949113292.
Enlaces externos
[editar]- Wikiversidad alberga proyectos de aprendizaje sobre Ciencias de la computación.
- Scholarly Societies in Computer Science
- Best Papers Awards in Computer Science since 1996
- Photographs of computer scientists by Bertrand Meyer
- Fuentes bibliográficas y motores de búsqueda académicos enfocados a ciencias de la computación
- CiteSeerx (artículo): motor de búsqueda, biblioteca digital y repositorio de artículos científicos y académicos enfocados a las ciencias de la computación y de la información.
- DBLP Computer Science Bibliography (artículo): bibliografía sobre ciencias de la computación alojada en Universität Trier, en Alemania.
- Comunicaciones de la ACM
- Colección de Ciencias de la Computación Bibliografías (artículo)
- Organizaciones Profesionales
- Association for Computing Machinery
- IEEE Computer Society
- Informatics Europe
- Computer Science - Stack Exchange comunidad de preguntas y respuestas sobre ciencias de la computación]
- ¿Qué son las ciencias de la computación? Archivado el 18 de febrero de 2015 en Wayback Machine.