stringtranslate.com

Ciencias de la Computación

Áreas fundamentales de la informática.

La informática es el estudio de la computación , la información y la automatización . [1] [2] [3] La informática abarca disciplinas teóricas (como algoritmos , teoría de la computación y teoría de la información ) hasta disciplinas aplicadas (incluido el diseño y la implementación de hardware y software ). [4] [5] [6] Aunque se considera más a menudo una disciplina académica , la informática está estrechamente relacionada con la programación informática . [7]

Los algoritmos y las estructuras de datos son fundamentales para la informática. [8] La teoría de la computación se refiere a modelos abstractos de computación y clases generales de problemas que pueden resolverse usándolos. Los campos de la criptografía y la seguridad informática implican el estudio de los medios para una comunicación segura y para prevenir vulnerabilidades de seguridad . Los gráficos por computadora y la geometría computacional abordan la generación de imágenes. La teoría del lenguaje de programación considera diferentes formas de describir los procesos computacionales y la teoría de las bases de datos se ocupa de la gestión de repositorios de datos. La interacción persona-computadora investiga las interfaces a través de las cuales interactúan los humanos y las computadoras, y la ingeniería de software se centra en el diseño y los principios detrás del desarrollo de software. Áreas como sistemas operativos , redes y sistemas integrados investigan los principios y el diseño detrás de sistemas complejos . La arquitectura informática describe la construcción de componentes informáticos y equipos operados por computadora. La inteligencia artificial y el aprendizaje automático tienen como objetivo sintetizar procesos orientados a objetivos, como la resolución de problemas, la toma de decisiones, la adaptación ambiental, la planificación y el aprendizaje, que se encuentran en humanos y animales. Dentro de la inteligencia artificial, la visión por computadora tiene como objetivo comprender y procesar datos de imágenes y videos, mientras que el procesamiento del lenguaje natural tiene como objetivo comprender y procesar datos textuales y lingüísticos.

La preocupación fundamental de la informática es determinar qué se puede y qué no se puede automatizar. [2] [9] [3] [10] [11] El Premio Turing es generalmente reconocido como la más alta distinción en informática. [12] [13]

Historia

Gottfried Wilhelm Leibniz (1646-1716) desarrolló la lógica en un sistema numérico binario y ha sido llamado el "fundador de la informática". [14]
A Charles Babbage a veces se le conoce como el "padre de la informática". [15]
Ada Lovelace publicó el primer algoritmo destinado al procesamiento en una computadora. [dieciséis]

Los primeros fundamentos de lo que se convertiría en ciencias de la computación son anteriores a la invención de la computadora digital moderna . Desde la antigüedad existen máquinas para calcular tareas numéricas fijas, como el ábaco , que ayudan en cálculos como la multiplicación y la división. Los algoritmos para realizar cálculos han existido desde la antigüedad, incluso antes del desarrollo de equipos informáticos sofisticados. [17]

Wilhelm Schickard diseñó y construyó la primera calculadora mecánica funcional en 1623. [18] En 1673, Gottfried Leibniz demostró una calculadora mecánica digital, llamada Stepped Reckoner . [19] Leibniz puede ser considerado el primer científico informático y teórico de la información, por varias razones, incluido el hecho de que documentó el sistema numérico binario. En 1820, Thomas de Colmar lanzó la industria de las calculadoras mecánicas [nota 1] cuando inventó su aritmómetro simplificado , la primera máquina calculadora lo suficientemente fuerte y fiable para ser utilizada diariamente en un entorno de oficina. Charles Babbage inició el diseño de la primera calculadora mecánica automática , su máquina diferencial , en 1822, lo que finalmente le dio la idea de la primera calculadora mecánica programable , su máquina analítica . [20] 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 de la computadora moderna". [21] "Un paso crucial fue la adopción de un sistema de tarjetas perforadas derivado del telar Jacquard " [21] que lo hacía infinitamente programable. [nota 2] En 1843, durante la traducción de un artículo francés sobre el motor analítico, Ada Lovelace escribió, en una de las muchas notas que incluyó, un algoritmo para calcular los números de Bernoulli , que se considera el primer algoritmo publicado jamás. diseñado específicamente para su implementación en una computadora. [22] Alrededor de 1885, Herman Hollerith inventó el tabulador , que utilizaba tarjetas perforadas para procesar información estadística; Finalmente su empresa pasó a formar parte de IBM . Siguiendo a Babbage, aunque desconocía su trabajo anterior, Percy Ludgate publicó en 1909 [23] el segundo de los dos únicos diseños de máquinas analíticas mecánicas de la historia. En 1914, el ingeniero español Leonardo Torres Quevedo publicó sus Ensayos sobre automática , [24] y diseñó, inspirado en Babbage, una máquina calculadora electromecánica teórica que debía ser controlada por un programa de sólo lectura. El artículo también introdujo la idea de la aritmética de punto flotante . [25] [26]En 1920, para celebrar el centenario de la invención del aritmómetro , Torres presentó en París el Aritmómetro Electromecánico , un prototipo que demostraba la viabilidad de un motor analítico electromecánico, [27] en el que se podían teclear comandos y los resultados imprimirse automáticamente. [28] En 1937, cien años después del sueño imposible de Babbage, Howard Aiken convenció a IBM, que fabricaba todo tipo de equipos de tarjetas perforadas y también estaba en el negocio de las calculadoras [29] para desarrollar su calculadora programable gigante, la ASCC/Harvard Mark. I , basado en el motor analítico de Babbage, que a su vez utilizaba tarjetas y una unidad informática central. Cuando la máquina estuvo terminada, algunos la aclamaron como "el sueño de Babbage hecho realidad". [30]

Durante la década de 1940, con el desarrollo de máquinas informáticas nuevas y más potentes , como la computadora Atanasoff-Berry y ENIAC , el término computadora pasó a referirse a las máquinas en lugar de a sus predecesores humanos. [31] A medida que quedó claro que las computadoras podían usarse para algo más que cálculos matemáticos, el campo de la informática se amplió para estudiar la computación en general. En 1945, IBM fundó el Laboratorio de Computación Científica Watson en la Universidad de Columbia en la ciudad de Nueva York . La renovada casa de la fraternidad en el West Side de Manhattan fue el primer laboratorio de IBM dedicado a la ciencia pura. El laboratorio es el precursor de la División de Investigación de IBM, que hoy opera instalaciones de investigación en todo el mundo. [32] En última instancia, la estrecha relación entre IBM y la Universidad de Columbia fue fundamental para el surgimiento de una nueva disciplina científica, y Columbia ofreció uno de los primeros cursos con créditos académicos en informática en 1946. [33] La informática comenzó a establecerse como disciplina académica distinta en los años cincuenta y principios de los sesenta. [7] [34] El primer programa de grado en informática del mundo, el Diploma de Cambridge en Ciencias de la Computación , comenzó en el Laboratorio de Computación de la Universidad de Cambridge en 1953. El primer departamento de informática en los Estados Unidos se formó en la Universidad Purdue en 1962. [ 35] Desde que estuvieron disponibles las computadoras prácticas, muchas aplicaciones de la informática se han convertido en áreas de estudio distintas por derecho propio.

Etimología y alcance

Aunque se propuso por primera vez en 1956, [36] el término "ciencias de la computación" aparece en un artículo de 1959 en Communications of the ACM , [37] en el que Louis Fein aboga por la creación de una Escuela de Graduados en Ciencias de la Computación análoga a la creación de Harvard. Business School en 1921. [38] Louis justifica el nombre argumentando que, al igual que las ciencias de la gestión , la materia es de naturaleza aplicada e interdisciplinaria, aunque tiene las características propias de una disciplina académica. [37] Sus esfuerzos, y los de otros como el analista numérico George Forsythe , fueron recompensados: las universidades crearon departamentos de este tipo, comenzando con Purdue en 1962. [39] A pesar de su nombre, una cantidad significativa de ciencias de la computación no involucra el estudio de las computadoras mismas. Debido a esto, se han propuesto varios nombres alternativos. [40] Ciertos departamentos de las principales universidades prefieren el término ciencias de la computación , para enfatizar precisamente esa diferencia. El científico danés Peter Naur sugirió el término datalogía , [41] para reflejar el hecho de que la disciplina científica gira en torno a datos y su tratamiento, aunque no necesariamente involucra computadoras. La primera institución científica en utilizar el término fue el Departamento de Datalogía de la Universidad de Copenhague, fundado en 1969, siendo Peter Naur el primer profesor de datalogía. El término se utiliza principalmente en los países escandinavos. Un término alternativo, también propuesto por Naur, es ciencia de datos ; esto ahora se utiliza para un campo multidisciplinario de análisis de datos, incluidas estadísticas y bases de datos.

En los primeros días de la informática, en las Comunicaciones de la ACM se sugirieron varios términos para los profesionales del campo de la informática : turingineer , turólogo , diagramas de flujo , metamatemático aplicado y epistemólogo aplicado . [42] Tres meses después, en la misma revista, se sugirió un comptólogo , seguido el año siguiente por un hipólogo . [43] También se ha sugerido el término informática . [44] En Europa, a menudo se utilizan términos derivados de traducciones contratadas de la expresión "información automática" (por ejemplo, "informazione automatica" en italiano) o "información y matemáticas", por ejemplo, informatique (francés), Informatik (alemán), informatica (italiano, holandés ). ), informática (español, portugués), informatika ( lenguas eslavas y húngaro ) o pliroforiki ( πληροφορική , que significa informática) en griego . También se han adoptado palabras similares en el Reino Unido (como en la Escuela de Informática de la Universidad de Edimburgo ). [45] "En los EE.UU., sin embargo, la informática está vinculada con la informática aplicada, o la informática en el contexto de otro dominio". [46]

Una cita folclórica, a menudo atribuida a Edsger Dijkstra (pero casi con seguridad no formulada por primera vez por él) , afirma que "la informática no se trata de computadoras más de lo que la astronomía se trata de telescopios". [nota 3] El diseño y la implementación de computadoras y sistemas informáticos generalmente se considera competencia de disciplinas distintas a la informática. Por ejemplo, el estudio del hardware informático suele considerarse parte de la ingeniería informática , mientras que el estudio de los sistemas informáticos comerciales y su implementación suele denominarse tecnología de la información o sistemas de información . Sin embargo, ha habido intercambio de ideas entre las diversas disciplinas relacionadas con la informática. La investigación en informática a menudo también cruza otras disciplinas, como la ciencia cognitiva , la lingüística , las matemáticas , la física , la biología , las ciencias de la Tierra , la estadística , la filosofía y la lógica .

Algunos consideran que la informática tiene una relación mucho más estrecha con las matemáticas que muchas disciplinas científicas, y algunos observadores dicen que la informática es una ciencia matemática. [7] Las primeras ciencias informáticas estuvieron fuertemente influenciadas por el trabajo de matemáticos como Kurt Gödel , Alan Turing , John von Neumann , Rózsa Péter y Alonzo Church y continúa habiendo un útil intercambio de ideas entre los dos campos en áreas como la matemática. lógica , teoría de categorías , teoría de dominios y álgebra . [36]

La relación entre la informática y la ingeniería de software es un tema polémico, que se ve aún más confuso por las disputas sobre lo que significa el término "ingeniería de software" y cómo se define la informática. [47] David Parnas , siguiendo el ejemplo de la relación entre otras disciplinas científicas y de ingeniería, ha afirmado que el enfoque principal de la informática es estudiar las propiedades de la computación en general, mientras que el enfoque principal de la ingeniería de software es el diseño de cálculos específicos. para lograr objetivos prácticos, haciendo que las dos disciplinas sean separadas pero complementarias. [48]

Los aspectos académicos, políticos y financieros de la informática tienden a depender de si un departamento se forma con énfasis en matemáticas o en ingeniería. Los departamentos de informática con énfasis en matemáticas y con orientación numérica consideran el alineamiento con la ciencia computacional . Ambos tipos de departamentos tienden a esforzarse por unir el campo educativamente, si no a través de toda la investigación.

Filosofía

Epistemología de la informática.

A pesar de la palabra "ciencia" en su nombre, existe un debate sobre si la informática es o no una disciplina de la ciencia, [49] de las matemáticas, [50] o de la ingeniería. [51] Allen Newell y Herbert A. Simon argumentaron en 1975,

La informática es una disciplina empírica. La habríamos llamado ciencia experimental, pero al igual que la astronomía, la economía y la geología, algunas de sus formas únicas de observación y experiencia no se ajustan a un estereotipo estrecho del método experimental. Sin embargo, son experimentos. Cada nueva máquina que se construye es un experimento. En realidad, la construcción de la máquina plantea una cuestión a la naturaleza; y escuchamos la respuesta observando la máquina en funcionamiento y analizándola por todos los medios analíticos y de medición disponibles. [51]

Desde entonces se ha argumentado que la informática puede clasificarse como una ciencia empírica ya que hace uso de pruebas empíricas para evaluar la corrección de los programas , pero persiste el problema de definir las leyes y teoremas de la informática (si existen) y definir las Naturaleza de los experimentos en informática. [51] Los defensores de clasificar la informática como una disciplina de ingeniería argumentan que la confiabilidad de los sistemas computacionales se investiga de la misma manera que los puentes en la ingeniería civil y los aviones en la ingeniería aeroespacial . [51] También argumentan que mientras las ciencias empíricas observan lo que existe actualmente, la informática observa lo que es posible que exista y mientras los científicos descubren leyes a partir de la observación, no se han encontrado leyes adecuadas en la informática y, en cambio, se ocupa de crear fenómenos. [51]

Los defensores de clasificar la informática como una disciplina matemática argumentan que los programas de computadora son realizaciones físicas de entidades matemáticas y que los programas pueden razonarse deductivamente mediante métodos matemáticos formales . [51] Los científicos informáticos Edsger W. Dijkstra y Tony Hoare consideran las instrucciones para programas de computadora como oraciones matemáticas e interpretan la semántica formal de los lenguajes de programación como sistemas axiomáticos matemáticos . [51]

Paradigmas de la informática

Varios científicos informáticos han abogado por la distinción de tres paradigmas separados en la informática. Peter Wegner sostuvo que esos paradigmas son la ciencia, la tecnología y las matemáticas. [52] El grupo de trabajo de Peter Denning argumentó que son teoría, abstracción (modelado) y diseño. [7] Amnon H. Eden los describió como el "paradigma racionalista" (que trata la informática como una rama de las matemáticas, que prevalece en la informática teórica, y emplea principalmente el razonamiento deductivo ), el "paradigma tecnocrático" (que podría ser encontrado en enfoques de ingeniería, más prominentemente en ingeniería de software), y el "paradigma científico" (que aborda los artefactos relacionados con la computadora desde la perspectiva empírica de las ciencias naturales , [53] identificable en algunas ramas de la inteligencia artificial ). [54] La informática se centra en los métodos implicados en el diseño, especificación, programación, verificación, implementación y prueba de sistemas informáticos creados por humanos. [55]

Campos

Como disciplina, la informática abarca una variedad de temas, desde estudios teóricos de algoritmos y los límites de la computación hasta cuestiones prácticas de implementación de sistemas informáticos en hardware y software. [56] [57] CSAB , anteriormente llamada Computing Sciences Accreditation Board, que está formada por representantes de la Association for Computing Machinery (ACM) y la IEEE Computer Society (IEEE CS) [58] , identifica cuatro áreas que considera crucial para la disciplina de la informática: teoría de la computación , algoritmos y estructuras de datos , metodología y lenguajes de programación , y elementos y arquitectura de la computadora . Además de estas cuatro áreas, CSAB también identifica campos como la ingeniería de software, la inteligencia artificial, las redes y comunicaciones informáticas, los sistemas de bases de datos, la computación paralela, la computación distribuida, la interacción persona-computadora, los gráficos por computadora, los sistemas operativos y la computación numérica y simbólica como siendo áreas importantes de la informática. [56]

informática teórica

La Informática Teórica es matemática y abstracta en espíritu, pero deriva su motivación de la computación práctica y cotidiana. Su objetivo es comprender la naturaleza de la computación y, como consecuencia de esta comprensión, proporcionar metodologías más eficientes.

teoría de la computación

Según Peter Denning , la pregunta fundamental que subyace a la informática es: "¿Qué se puede automatizar?" [3] La teoría de la computación se centra en responder preguntas fundamentales sobre qué se puede calcular y qué cantidad de recursos se requieren para realizar esos cálculos. En un esfuerzo por responder a la primera pregunta, la teoría de la computabilidad examina qué problemas computacionales se pueden resolver en varios modelos teóricos de computación . La segunda pregunta la aborda la teoría de la complejidad computacional , que estudia los costos de tiempo y espacio asociados con diferentes enfoques para resolver una multitud de problemas computacionales.

¿El famoso P=NP? El problema, uno de los Problemas del Premio del Milenio , [59] es un problema abierto en la teoría de la computación.

Teoría de la información y la codificación.

La teoría de la información, muy relacionada con la probabilidad y la estadística , está relacionada con la cuantificación de la información. Fue desarrollado por Claude Shannon para encontrar límites fundamentales en las operaciones de procesamiento de señales , como la compresión de datos y el almacenamiento y comunicación confiables de datos. [60] La teoría de la codificación es el estudio de las propiedades de los códigos (sistemas para convertir información de una forma a otra) y su idoneidad para una aplicación específica. Los códigos se utilizan para la compresión de datos , criptografía , detección y corrección de errores y, más recientemente, también para codificación de redes . Los códigos se estudian con el fin de diseñar métodos de transmisión de datos eficientes y confiables .[61]

Estructuras de datos y algoritmos.

Las estructuras de datos y los algoritmos son los estudios de los métodos computacionales comúnmente utilizados y su eficiencia computacional.

Teoría del lenguaje de programación y métodos formales.

La teoría de los lenguajes de programación es una rama de la informática que se ocupa del diseño, implementación, análisis, caracterización y clasificación de los lenguajes de programación y sus características individuales . Se incluye dentro de la disciplina de la informática, dependiendo y afectando a las matemáticas , la ingeniería de software y la lingüística . Es un área de investigación activa, con numerosas revistas académicas dedicadas.

Los métodos formales son un tipo particular de técnica matemática para la especificación , desarrollo y verificación de sistemas de software y hardware . [62] El uso de métodos formales para el diseño de software y hardware está motivado por la expectativa de que, como en otras disciplinas de ingeniería, la realización de un análisis matemático apropiado puede contribuir a la confiabilidad y solidez de un diseño. Forman una base teórica importante para la ingeniería de software, especialmente cuando está involucrada la seguridad. Los métodos formales son un complemento útil para las pruebas de software, ya que ayudan a evitar errores y también pueden proporcionar un marco para las pruebas. Para uso industrial se requiere soporte de herramientas. Sin embargo, el alto costo de usar métodos formales significa que generalmente solo se usan en el desarrollo de sistemas de alta integridad y críticos para la vida , donde la seguridad es de suma importancia. Los métodos formales se describen mejor como la aplicación de una variedad bastante amplia de fundamentos teóricos de la informática , en particular cálculos lógicos , lenguajes formales , teoría de autómatas y semántica de programas , pero también sistemas de tipos y tipos de datos algebraicos a problemas de especificación y especificación de software y hardware. verificación.

informática aplicada

Gráficos y visualización por computadora.

Los gráficos por computadora son el estudio de contenidos visuales digitales e implican la síntesis y manipulación de datos de imágenes. El estudio está relacionado con muchos otros campos de la informática, incluida la visión por computadora , el procesamiento de imágenes y la geometría computacional , y se aplica en gran medida en los campos de los efectos especiales y los videojuegos .

Procesamiento de imagen y sonido.

La información puede tomar forma de imágenes, sonido, vídeo u otros multimedia. Se pueden transmitir fragmentos de información a través de señales . Su procesamiento es la noción central de la informática , la visión europea de la informática , que estudia los algoritmos de procesamiento de información independientemente del tipo de soporte de información, ya sea eléctrico, mecánico o biológico. Este campo juega un papel importante en la teoría de la información , las telecomunicaciones , la ingeniería de la información y tiene aplicaciones en la computación de imágenes médicas y la síntesis del habla , entre otros. ¿ Cuál es el límite inferior de la complejidad de los algoritmos de transformada rápida de Fourier ? Es uno de los problemas no resueltos en la informática teórica .

Ciencias computacionales, finanzas e ingeniería.

La informática científica (o ciencia computacional ) es el campo de estudio que se ocupa de la construcción de modelos matemáticos y técnicas de análisis cuantitativo y del uso de computadoras para analizar y resolver problemas científicos . Un uso importante de la informática científica es la simulación de diversos procesos, incluida la dinámica de fluidos computacional , sistemas y circuitos físicos, eléctricos y electrónicos, así como sociedades y situaciones sociales (en particular, juegos de guerra) junto con sus hábitats, entre muchos otros. Los ordenadores modernos permiten optimizar diseños como aviones completos. En el diseño de circuitos eléctricos y electrónicos destacan SPICE, [63] , así como el software para la realización física de diseños nuevos (o modificados). Este último incluye software de diseño esencial para circuitos integrados . [64]

Computación social e interacción persona-computadora

La informática social es un área que se ocupa de la intersección del comportamiento social y los sistemas computacionales. La investigación sobre la interacción persona-computadora desarrolla teorías, principios y pautas para los diseñadores de interfaces de usuario.

Ingeniería de software

La ingeniería de software es el estudio del diseño, implementación y modificación del software para garantizar que sea de alta calidad, asequible, mantenible 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 al software. La ingeniería de software se ocupa de la organización y el análisis del software; no se ocupa sólo de la creación o fabricación de nuevo software, sino de su disposición interna y mantenimiento. Por ejemplo pruebas de software , ingeniería de sistemas , deuda técnica y procesos de desarrollo de software .

Inteligencia artificial

La inteligencia artificial (IA) tiene como objetivo o es necesaria para sintetizar procesos orientados a objetivos, como la resolución de problemas, la toma de decisiones, la adaptación ambiental, el aprendizaje y la comunicación que se encuentran en humanos y animales. Desde sus orígenes en la cibernética y en la Conferencia de Dartmouth (1956), la investigación sobre inteligencia artificial ha sido necesariamente interdisciplinaria, recurriendo a áreas de especialización como las matemáticas aplicadas , la lógica simbólica , la semiótica , la ingeniería eléctrica , la filosofía de la mente , la neurofisiología y las ciencias sociales. inteligencia . En la mente popular, la IA se asocia con el desarrollo robótico , pero el principal campo de aplicación práctica ha sido como componente integrado en áreas de desarrollo de software , que requieren comprensión computacional. El punto de partida a finales de la década de 1940 fue la pregunta de Alan Turing " ¿Pueden pensar las computadoras? ", y la pregunta sigue sin respuesta, aunque la prueba de Turing todavía se utiliza para evaluar el rendimiento de las computadoras en la escala de la inteligencia humana. Pero la automatización de tareas de evaluación y predicción ha tenido cada vez más éxito como sustituto del seguimiento y la intervención humanos en dominios de aplicaciones informáticas que implican datos complejos del mundo real.

Sistemas informáticos

Arquitectura y organización de computadoras.

La arquitectura informática, u organización informática digital, es el diseño conceptual y la estructura operativa fundamental de un sistema informático. Se centra en gran medida en la forma en que la unidad central de procesamiento se desempeña internamente y accede a las direcciones en la memoria. [65] Los ingenieros informáticos estudian la lógica computacional y el diseño de hardware informático , desde componentes de procesadores individuales, microcontroladores , computadoras personales hasta supercomputadoras y sistemas integrados . El término "arquitectura" en la literatura informática se remonta al trabajo de Lyle R. Johnson y Frederick P. Brooks Jr. , miembros del departamento de Organización de Máquinas del principal centro de investigación de IBM en 1959.

Computación concurrente, paralela y distribuida

La concurrencia es una propiedad de los sistemas en los que varios cálculos se ejecutan simultáneamente y potencialmente interactúan entre sí. [66] Se han desarrollado varios modelos matemáticos para el cálculo concurrente general, incluidas las redes de Petri , los cálculos de procesos y el modelo de máquina paralela de acceso aleatorio . [67] Cuando varias computadoras están conectadas en una red mientras se usa concurrencia, esto se conoce como sistema distribuido. Las computadoras dentro de ese sistema distribuido tienen su propia memoria privada y se puede intercambiar información para lograr objetivos comunes. [68]

Red de computadoras

Esta rama de la informática tiene como objetivo gestionar redes entre ordenadores de todo el mundo.

Seguridad informática y criptografía.

La seguridad informática es una rama de la tecnología informática cuyo objetivo es proteger la información contra accesos, interrupciones o modificaciones no autorizados mientras se mantiene la accesibilidad y usabilidad del sistema para los usuarios previstos.

La criptografía histórica es el arte de escribir y descifrar mensajes secretos. La criptografía moderna es el estudio científico de los problemas relacionados con los cálculos distribuidos que pueden atacarse. [69] Las tecnologías estudiadas en la criptografía moderna incluyen cifrado simétrico y asimétrico , firmas digitales , funciones hash criptográficas , protocolos de acuerdo de claves , blockchain , pruebas de conocimiento cero y circuitos confusos .

Bases de datos y minería de datos.

Una base de datos está destinada a organizar, almacenar y recuperar grandes cantidades de datos fácilmente. Las bases de datos digitales se gestionan utilizando sistemas de gestión de bases de datos para almacenar, crear, mantener y buscar datos, a través de modelos de bases de datos y lenguajes de consulta . La minería de datos es un proceso de descubrimiento de patrones en grandes conjuntos de datos.

Descubrimientos

El filósofo de la informática Bill Rapaport señaló tres grandes conocimientos de la informática : [70]

Toda la información sobre cualquier problema computable se puede representar usando sólo 0 y 1 (o cualquier otro par biestable que pueda alternar entre dos estados fácilmente distinguibles, como "encendido/apagado", "magnetizado/desmagnetizado", "alta -tensión/baja tensión", etc.).
Cada algoritmo se puede expresar en un lenguaje para computadora que consta de solo cinco instrucciones básicas: [71]
  • moverse a la izquierda una ubicación;
  • moverse a la derecha una ubicación;
  • leer el símbolo en la ubicación actual;
  • imprimir 0 en la ubicación actual;
  • imprimir 1 en la ubicación actual.
Sólo se necesitan tres reglas para combinar cualquier conjunto de instrucciones básicas en otras más complejas:
  • secuencia : primero haz esto, luego haz aquello;
  • selección : SI tal o cual es el caso, ENTONCES haz esto, O MÁS haz aquello;
  • repetición : MIENTRAS tal o cual sea el caso, HAGA esto.
Las tres reglas de la visión de Boehm y Jacopini se pueden simplificar aún más con el uso de goto (lo que significa que es más elemental que la programación estructurada ).

Paradigmas de programación

Los lenguajes de programación se pueden utilizar para realizar diferentes tareas de diferentes maneras. Los paradigmas de programación comunes incluyen:

Muchos lenguajes ofrecen soporte para múltiples paradigmas, lo que hace que la distinción sea más una cuestión de estilo que de capacidades técnicas. [76]

Investigación

Las conferencias son eventos importantes para la investigación en informática. Durante estas jornadas, investigadores del sector público y privado presentan sus trabajos recientes y se reúnen. A diferencia de la mayoría de los demás campos académicos, en informática el prestigio de los artículos de congresos es mayor que el de las publicaciones en revistas. [77] [78] Una explicación propuesta para esto es que el rápido desarrollo de este campo relativamente nuevo requiere una rápida revisión y distribución de los resultados, una tarea mejor manejada por conferencias que por revistas. [79]

Educación

Ciencias de la Computación , conocida por sus casi sinónimos, Computación , Estudios de Computación , se ha enseñado en las escuelas del Reino Unido desde los días del procesamiento por lotes , tarjetas sensibles a marcas y cinta de papel , pero generalmente a unos pocos estudiantes selectos. [80] En 1981, la BBC produjo una red de microcomputadoras y aulas y los estudios de informática se volvieron comunes para los estudiantes de nivel GCE O (de 11 a 16 años) y para los estudiantes de informática de nivel A. Se reconoció su importancia y se convirtió en una parte obligatoria del plan de estudios nacional para Key Stage 3 y 4. En septiembre de 2014 se convirtió en un derecho para todos los alumnos mayores de 4 años. [81]

En Estados Unidos , con 14.000 distritos escolares decidiendo el plan de estudios, la oferta estaba fracturada. [82] Según un informe de 2010 de la Association for Computing Machinery (ACM) y la Computer Science Teachers Association (CSTA), solo 14 de 50 estados han adoptado estándares educativos significativos para la informática en la escuela secundaria. [83] Según un informe de 2021, solo el 51% de las escuelas secundarias de EE. UU. ofrecen informática. [84]

Israel, Nueva Zelanda y Corea del Sur han incluido la informática en sus planes de estudios nacionales de educación secundaria, [85] [86] y varios otros están siguiendo sus pasos. [87]

Ver también

Notas

  1. ^ En 1851
  2. ^ "La introducción de tarjetas perforadas en el nuevo motor fue importante no sólo como una forma de control más conveniente que los tambores, o porque los programas ahora podían tener un alcance ilimitado y podían almacenarse y repetirse sin el peligro de introducir errores en la configuración. la máquina a mano; fue importante también porque sirvió para cristalizar el sentimiento de Babbage de que había inventado algo realmente nuevo, algo mucho más que una máquina calculadora sofisticada." Bruce Collier, 1970
  3. ^ Consulte la entrada "Informática" en Wikiquote para conocer la historia de esta cita.
  4. ^ La palabra "cualquier cosa" está escrita entre comillas porque hay cosas que las computadoras no pueden hacer. Un ejemplo es: responder a la pregunta de si un programa informático determinado arbitrariamente terminará o se ejecutará para siempre (el problema de la detención ).

Referencias

  1. ^ "¿Qué es la informática?". Departamento de Ciencias de la Computación, Universidad de York . Archivado desde el original el 11 de junio de 2020 . Consultado el 11 de junio de 2020 .
  2. ^ ab ¿Qué se puede automatizar? Estudio de Investigación en Ingeniería y Ciencias de la Computación. Serie de Ciencias de la Computación. Prensa del MIT. 1980.ISBN _ 978-0262010603. Archivado desde el original el 9 de enero de 2021.
  3. ^ abc Denning, PJ; Comer, DE; Gries, D.; Mulder, MC; Tucker, A.; Turner, AJ; Young, PR (febrero de 1989). "La informática como disciplina". Computadora . 22 (2): 63–70. doi :10.1109/2.19833. ISSN  1558-0814. Archivado desde el original el 3 de marzo de 2022 . Consultado el 3 de marzo de 2022 . La disciplina de la informática es el estudio sistemático de los procesos algorítmicos que describen y transforman la información, su teoría, análisis, diseño, eficiencia, implementación y aplicación. La pregunta fundamental que subyace a toda la informática es: "¿Qué se puede automatizar (eficientemente)?
  4. ^ "Búsqueda en WordNet: 3.1". Búsqueda de WordNet . Wordnetweb.princeton.edu. Archivado desde el original el 18 de octubre de 2017 . Consultado el 14 de mayo de 2012 .
  5. ^ "Definición de informática | Dictionary.com". www.diccionario.com . Archivado desde el original el 11 de junio de 2020 . Consultado el 11 de junio de 2020 .
  6. ^ "¿Qué es la Informática? | Licenciatura en Informática en la UMD". undergrad.cs.umd.edu . Archivado desde el original el 27 de noviembre de 2020 . Consultado el 15 de julio de 2022 .
  7. ^ abcd Denning, PJ; Comer, DE; Gries, D.; Mulder, MC; Tucker, A.; Turner, AJ; Young, PR (febrero de 1989). "La informática como disciplina". Computadora . 22 (2): 63–70. doi :10.1109/2.19833. ISSN  1558-0814. Archivado desde el original el 3 de marzo de 2022 . Consultado el 3 de marzo de 2022 .
  8. ^ Harel, David (2014). Algorítmica El espíritu de la informática. Springer Berlín. ISBN 978-3-642-44135-6. OCLC  876384882. Archivado desde el original el 17 de junio de 2020 . Consultado el 17 de junio de 2020 .
  9. ^ Patton, Richard D.; Patton, Peter C. (2009), Nof, Shimon Y. (ed.), "¿Qué se puede automatizar? ¿Qué no se puede automatizar?", Springer Handbook of Automation , Springer Handbooks, Berlín, Heidelberg: Springer, págs. 313, doi :10.1007/978-3-540-78831-7_18, ISBN 978-3-540-78831-7, archivado desde el original el 11 de enero de 2023 , consultado el 3 de marzo de 2022
  10. ^ Forsythe, George (5 al 10 de agosto de 1969). "Informática y Educación". Actas del Congreso IFIP 1968 . La pregunta "¿Qué se puede automatizar?" es una de las cuestiones filosóficas y prácticas más inspiradoras de la civilización contemporánea.
  11. ^ Knuth, Donald E. (1 de agosto de 1972). "George Forsythe y el desarrollo de la informática". Comunicaciones de la ACM . 15 (8): 721–726. doi : 10.1145/361532.361538 . ISSN  0001-0782. S2CID  12512057.
  12. ^ Hanson, Vicki L. (23 de enero de 2017). "Celebrando los 50 años del premio Turing". Comunicaciones de la ACM . 60 (2): 5. doi : 10.1145/3033604 . ISSN  0001-0782. S2CID  29984960.
  13. ^ Scott, Eric; Martins, Marcella Scoczynski Ribeiro; Yafrani, Mohamed El; Volz, Vanessa; Wilson, Dennis G (5 de junio de 2018). "ACM cumple 50 años del premio ACM AM Turing y de los mayores logros de la informática". ACM SIGEVOlución . 10 (3): 9-11. doi :10.1145/3231560.3231563. S2CID  47021559.
  14. ^ "2021: 375 cumpleaños de Leibniz, padre de la informática". gente.idsia.ch . Archivado desde el original el 21 de septiembre de 2022 . Consultado el 4 de febrero de 2023 .
  15. ^ "Instituto Charles Babbage: ¿Quién era Charles Babbage?". cbi.umn.edu . Archivado desde el original el 9 de enero de 2007 . Consultado el 28 de diciembre de 2016 .
  16. ^ "Ada Lovelace | Babbage Engine | Museo de Historia de la Computación". www.computerhistory.org . Archivado desde el original el 25 de diciembre de 2018 . Consultado el 28 de diciembre de 2016 .
  17. ^ "Historia de la Informática". cs.uwaterloo.ca . Archivado desde el original el 29 de julio de 2017 . Consultado el 15 de julio de 2022 .
  18. ^ "Wilhelm Schickard - Ein Computerpionier" (PDF) (en alemán). Archivado desde el original (PDF) el 19 de septiembre de 2020 . Consultado el 4 de diciembre de 2016 .
  19. ^ Keates, Fiona (25 de junio de 2012). "Una breve historia de la informática". El repositorio . La Sociedad Real. Archivado desde el original el 29 de junio de 2012 . Consultado el 19 de enero de 2014 .
  20. ^ "Museo de Ciencias, máquina analítica de Babbage, 1834-1871 (modelo de prueba)". Archivado desde el original el 30 de agosto de 2019 . Consultado el 11 de mayo de 2020 .
  21. ^ ab Hyman, Anthony (1982). Charles Babbage: pionero de la computadora . Prensa de la Universidad de Oxford . ISBN 978-0691083032.
  22. ^ "Una selección y adaptación de las notas de Ada que se encuentran en Ada, la hechicera de los números", por 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 .
  23. ^ "Colección de informática de John Gabriel Byrne" (PDF) . Archivado desde el original el 16 de abril de 2019 . Consultado el 8 de agosto de 2019 .
  24. Torres Quevedo, L. (1914). "Ensayos sobre Automática – Su definición. Extensión teórica de sus aplicaciones". Revista de la Academia de Ciencias Exacta , 12, págs. 391–418.
  25. ^ Torres Quevedo, Leonardo. Automática: Complemento de la Teoría de las Máquinas, (pdf), pp. 575-583, Revista de Obras Públicas, 19 de noviembre de 1914.
  26. ^ Ronald T. Kneusel. Números y computadoras, Springer, págs. 84-85, 2017. ISBN 978-3319505084 
  27. ^ Randell, Brian. Computadoras digitales, Historia de los orígenes, (pdf), p. 545, Computadoras digitales: orígenes, Enciclopedia de Ciencias de la Computación, enero de 2003.
  28. ^ Randell 1982, pag. 6, 11-13.
  29. ^ "En este sentido, Aiken necesitaba a IBM, cuya tecnología incluía el uso de tarjetas perforadas, la acumulación de datos numéricos y la transferencia de datos numéricos de un registro a otro", Bernard Cohen, p.44 (2000)
  30. ^ Brian Randell, pág. 187, 1975
  31. ^ La Asociación de Maquinaria de Computación (ACM) se fundó en 1947.
  32. ^ "Archivos de IBM: 1945". IBM.com. 23 de enero de 2003. Archivado desde el original el 5 de enero de 2019 . Consultado el 19 de marzo de 2019 .
  33. ^ "IBM100: los orígenes de la informática". IBM.com. 15 de septiembre de 1995. Archivado desde el original el 5 de enero de 2019 . Consultado el 19 de marzo de 2019 .
  34. ^ "Algunas estadísticas de la EDSAC". Universidad de Cambridge. Archivado desde el original el 3 de septiembre de 2007 . Consultado el 19 de noviembre de 2011 .
  35. ^ "El pionero de la informática Samuel D. Conte muere a los 85 años". Purdue Ciencias de la Computación. 1 de julio de 2002. Archivado desde el original el 6 de octubre de 2014 . Consultado el 12 de diciembre de 2014 .
  36. ^ ab Tedre, Matti (2014). La ciencia de la informática: dando forma a una disciplina . Taylor y Francis / Prensa CRC.
  37. ^ ab Louis bien (1960). "El papel de la universidad en la informática, el procesamiento de datos y campos afines". Comunicaciones de la ACM . 2 (9): 7–14. doi : 10.1145/368424.368427 . S2CID  6740821.
  38. ^ "Historia oral de la Universidad de Stanford". Universidad Stanford. Archivado desde el original el 4 de abril de 2017 . Consultado el 30 de mayo de 2013 .
  39. ^ Donald Knuth (1972). "George Forsythe y el desarrollo de la informática" . Comunicaciones. ACM . Archivado el 20 de octubre de 2013 en Wayback Machine .
  40. ^ Matti Tedre (2006). "El desarrollo de la informática: una perspectiva sociocultural" (PDF) . pag. 260. Archivado (PDF) desde el original el 9 de octubre de 2022 . Consultado el 12 de diciembre de 2014 .
  41. ^ Peter Naur (1966). "La ciencia de la datalogía". Comunicaciones de la ACM . 9 (7): 485. doi : 10.1145/365719.366510 . S2CID  47558402.
  42. ^ Weiss, EA; Corley, Henry PT "Cartas al editor". Comunicaciones de la ACM . 1 (4): 6.doi : 10.1145 /368796.368802 . S2CID  5379449.
  43. ^ Comunicaciones de la ACM 2 (1): p.4
  44. ^ Computadora IEEE 28 (12): p.136
  45. ^ P. Mounier-Kuhn, L'Informatique en France, de la seconde guerre mondiale au Plan Calcul. L'émergence d'une science , París, PUPS, 2010, cap. 3 y 4.
  46. ^ Groth, Dennis P. (febrero de 2010). "¿Por qué una Licenciatura en Informática?". Comunicaciones de la ACM . Cacm.acm.org. Archivado desde el original el 11 de enero de 2023 . Consultado el 14 de junio de 2016 .
  47. ^ Tedre, M. (2011). "La informática como ciencia: un estudio de puntos de vista opuestos". Mentes y Máquinas . 21 (3): 361–387. doi :10.1007/s11023-011-9240-4. S2CID  14263916.
  48. ^ Parnas, DL (1998). "Los programas de ingeniería de software no son programas de informática". Anales de ingeniería de software . 6 : 19–37. doi :10.1023/A:1018949113292. S2CID  35786237., pag. 19: "En lugar de tratar la ingeniería de software como un subcampo de la informática, la trato como un elemento del conjunto, ingeniería civil, ingeniería mecánica, ingeniería química, ingeniería eléctrica, [...]"
  49. ^ Luk, RWP (2020). "Visión de cómo la informática puede ser una ciencia". Ciencia y Filosofía . 8 (2): 17–47. doi : 10.23756/sp.v8i2.531.
  50. ^ Knuth, DE (1974). "La informática y su relación con las matemáticas". El Mensual Matemático Estadounidense . 81 (4): 323–343. doi :10.2307/2318994. JSTOR  2318994.
  51. ^ abcdefg "La Filosofía de la Informática". La Filosofía de la Informática (Enciclopedia de Filosofía de Stanford) . Laboratorio de Investigación en Metafísica, Universidad de Stanford. 2021. Archivado desde el original el 16 de septiembre de 2021 . Consultado el 16 de septiembre de 2021 .
  52. ^ Wegner, P. (13 al 15 de octubre de 1976). Paradigmas de investigación en informática: actas de la segunda conferencia internacional sobre ingeniería de software . San Francisco, California, Estados Unidos: IEEE Computer Society Press, Los Alamitos, CA.
  53. ^ Denning, Peter J. (2007). "La informática es una ciencia natural". Comunicaciones de la ACM . 50 (7): 13-18. doi :10.1145/1272516.1272529. S2CID  20045303.
  54. ^ Edén, AH (2007). "Tres paradigmas de la informática" (PDF) . Mentes y Máquinas . 17 (2): 135–167. CiteSeerX 10.1.1.304.7763 . doi :10.1007/s11023-007-9060-8. S2CID  3023076. Archivado desde el original (PDF) el 15 de febrero de 2016. 
  55. ^ Turner, Raymond; Angius, Nicola (2019). "La Filosofía de la Informática". En Zalta, Edward N. (ed.). La Enciclopedia de Filosofía de Stanford . Archivado desde el original el 14 de octubre de 2019 . Consultado el 14 de octubre de 2019 .
  56. ^ ab "La informática como profesión". Junta de Acreditación de Ciencias de la Computación. 28 de mayo de 1997. Archivado desde el original el 17 de junio de 2008 . Consultado el 23 de mayo de 2010 .
  57. ^ Comité de Fundamentos de la Informática: Desafíos y Oportunidades, Consejo Nacional de Investigación (2004). Informática: Reflexiones sobre el campo, Reflexiones desde el campo. Prensa de Academias Nacionales. ISBN 978-0-309-09301-9. Archivado desde el original el 18 de febrero de 2011 . Consultado el 31 de agosto de 2008 .
  58. ^ "CSAB líder en educación informática". CSAB. 3 de agosto de 2011. Archivado desde el original el 20 de enero de 2019 . Consultado el 19 de noviembre de 2011 .
  59. ^ Clay Mathematics Institute P = NP Archivado el 14 de octubre de 2013 en Wayback Machine.
  60. ^ P. Collins, Graham (14 de octubre de 2002). "Claude E. Shannon: fundador de la teoría de la información". Científico americano . Archivado desde el original el 16 de enero de 2014 . Consultado el 12 de diciembre de 2014 .
  61. ^ Van Nam Huynh; Vladik Kreinovich; Songsak Sriboonchitta; 2012. Análisis de incertidumbre en econometría con aplicaciones . Medios de ciencia y negocios de Springer. pag. 63. ISBN 978-3-642-35443-4
  62. ^ Phillip A. Laplante, (2010). Enciclopedia de ingeniería de software, conjunto de tres volúmenes (impreso). Prensa CRC. pag. 309. ISBN 978-1-351-24926-3
  63. ^ Muhammad H. Rashid, (2016). SPICE para Electrónica de Potencia y Energía Eléctrica . Prensa CRC. pag. 6. ISBN 978-1-4398-6047-2
  64. ^ "¿Qué es un circuito integrado (CI)? Un componente vital de la electrónica moderna". WhatIs.com . Archivado desde el original el 15 de noviembre de 2021 . Consultado el 15 de noviembre de 2021 .
  65. ^ A. Thisted, Ronald (7 de abril de 1997). "Arquitectura de Computadores" (PDF) . La Universidad de Chicago. Archivado (PDF) desde el original el 9 de octubre de 2022.
  66. ^ Jiacun Wang, (2017). Sistemas Embebidos en Tiempo Real . Wiley. pag. 12. ISBN 978-1-119-42070-5
  67. ^ Gordana Dodig-Crnkovic; Raffaela Giovagnoli, (2013). Naturaleza informática: perspectiva del centenario de Turing . Medios de ciencia y negocios de Springer. pag. 247. ISBN 978-3-642-37225-4
  68. ^ Simón Elías Bibri (2018). Ciudades inteligentes y sostenibles del futuro: el potencial sin explotar del análisis de big data y la informática consciente del contexto para promover la sostenibilidad . Saltador. pag. 74. ISBN 978-3-319-73981-6
  69. ^ Katz, Jonathan (2008). Introducción a la criptografía moderna. Yehuda Lindell. Boca Ratón: Chapman & Hall/CRC. ISBN 978-1-58488-551-1. OCLC  137325053. Archivado desde el original el 6 de mayo de 2022 . Consultado el 17 de noviembre de 2021 .
  70. ^ Rapaport, William J. (20 de septiembre de 2013). "¿Qué es la computación?". Universidad Estatal de Nueva York en Buffalo. Archivado desde el original el 14 de febrero de 2001 . Consultado el 31 de agosto de 2013 .
  71. ^ B. Jack Copeland, (2012). El cerebro electrónico de Alan Turing: la lucha por construir ACE, la computadora más rápida del mundo . OUP Oxford. pag. 107. ISBN 978-0-19-960915-4
  72. ^ Charles W. Herbert, (2010). Introducción a la programación con Alice 2.2 . Aprendizaje Cengage. pag. 122. ISBN 0-538-47866-7
  73. ^ Doctor Rezaul Karim; Sridhar Alla, (2017). Scala y Spark para Big Data Analytics: explore los conceptos de programación funcional, transmisión de datos y aprendizaje automático . Packt Publishing Ltd. pág. 87. ISBN 978-1-78355-050-0
  74. ^ Lex Sheehan, (2017). Aprender programación funcional en Go: cambie la forma en que aborda sus aplicaciones utilizando la programación funcional en Go . Packt Publishing Ltd. pág. 16. ISBN 978-1-78728-604-7
  75. Evelio Padilla, (2015). Sistemas de Automatización de Subestaciones: Diseño e Implementación . Wiley. pag. 245. ISBN 978-1-118-98730-8
  76. ^ "Lenguaje de programación multiparadigma". Documentos web de MDN . Fundación Mozilla . Archivado desde el original el 21 de agosto de 2013.
  77. ^ Meyer, Bertrand (abril de 2009). "Punto de vista: Evaluación de la investigación en informática". Comunicaciones de la ACM . 25 (4): 31–34. doi :10.1145/1498765.1498780. S2CID  8625066.
  78. ^ Patterson, David (agosto de 1999). "Evaluación de científicos e ingenieros informáticos para su ascenso y titularidad". Asociación de Investigación en Computación. Archivado desde el original el 22 de julio de 2015 . Consultado el 19 de julio de 2015 .
  79. ^ Fortnow, Lance (agosto de 2009). "Punto de vista: es hora de que la informática crezca". Comunicaciones de la ACM . 52 (8): 33–35. doi : 10.1145/1536616.1536631 .
  80. ^ Burns, Judith (3 de abril de 2016). "Informática de nivel A al estilo de los años 70". Archivado desde el original el 9 de febrero de 2019 . Consultado el 9 de febrero de 2019 .
  81. ^ Jones, Michael (octubre de 1915). "Desarrollo de un plan de estudios de informática en Inglaterra: exploración de enfoques en los EE. UU." (PDF) . Fideicomiso en memoria de Winston Churchill. Archivado desde el original (PDF) el 22 de octubre de 2016 . Consultado el 9 de febrero de 2019 .
  82. ^ "Ciencias de la Computación: ya no es solo una asignatura optativa". Semana de la Educación . 25 de febrero de 2014. Archivado desde el original el 1 de diciembre de 2016 . Consultado el 20 de julio de 2015 .
  83. ^ Wilson, Cameron; Sudol, Leigh Ann; Stephenson, Chris; Stehlik, Mark (2010). "Quedarse sin nada: el fracaso en la enseñanza de informática desde jardín de infantes hasta 12.º grado en la era digital" (PDF) . ACM. Archivado (PDF) desde el original el 12 de junio de 2013 . Consultado el 20 de julio de 2015 .
  84. ^ "Estado de la educación en informática en 2021: acelerar la acción mediante la promoción" (PDF) . Code.org, CSTA y ECEP Alliance. 2021. Archivado (PDF) desde el original el 9 de octubre de 2022.
  85. ^ "A es para algoritmo". El economista . 26 de abril de 2014. Archivado desde el original el 18 de octubre de 2017 . Consultado el 26 de agosto de 2017 .
  86. ^ "Comparaciones internacionales de informática en la escuela" (PDF) . Archivado desde el original (PDF) el 8 de mayo de 2013 . Consultado el 20 de julio de 2015 .
  87. ^ "Agregar codificación al plan de estudios". Los New York Times . 23 de marzo de 2014. Archivado desde el original el 1 de enero de 2022.

Otras lecturas

enlaces externos