Articulo de referencia

Ciencias de la Computación

Áreas fundamentales de la informática teoría de lenguajes de programación Arquitectura de computadoras Inteligencia artificial Teoría de la complejidad computacional La informát...

Página semiprotegida

La informática es el estudio de la computación , la información y la automatización . [ 1 ] [ 2 ] [ 3 ] Incluida ampliamente en las ciencias , 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 e implementación de hardware y software ). [ 4 ] [ 5 ] [ 6 ] Un experto en el campo se conoce como científico informático .

Los algoritmos y las estructuras de datos son fundamentales para la informática. [ 7 ] La teoría de la computación se ocupa de los modelos abstractos de computación y las clases generales de problemas que pueden resolverse utilizando ellos. Los campos de la criptografía y la seguridad informática implican el estudio de los medios para la comunicación segura y la prevención de vulnerabilidades de seguridad . Los gráficos por computadora y la geometría computacional abordan la generación de imágenes. La teoría de los lenguajes de programación considera diferentes formas de describir los procesos computacionales, y la teoría de 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 humanos y computadoras, y la ingeniería de software se centra en el diseño y los principios que subyacen al desarrollo de software. Áreas como los sistemas operativos , las redes y los sistemas embebidos investigan los principios y el diseño de sistemas complejos . La arquitectura de computadoras 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 imagen y video, 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 ] [ 8 ] [ 3 ] [ 9 ] [ 10 ] El Premio Turing es generalmente reconocido como la máxima distinción en informática. [ 11 ] [ 12 ]

Historia

Thomas Harriot (1646–1716) desarrolló la notación binaria y la aritmética a principios del siglo XVII. [ 13 ]
A Charles Babbage se le suele llamar el "padre de la informática". [ 14 ]
Ada Lovelace publicó el primer algoritmo destinado a ser procesado en una computadora. [ 15 ]

Los primeros fundamentos de lo que se convertiría en la informática son anteriores a la invención del ordenador digital moderno . Máquinas para calcular tareas numéricas fijas, como el ábaco , existen desde la antigüedad y facilitan operaciones como la multiplicación y la división. Algoritmos para realizar cálculos existen desde la antigüedad, incluso antes del desarrollo de equipos informáticos sofisticados. [ 16 ]

Wilhelm Schickard diseñó y construyó la primera calculadora mecánica funcional en 1623. [ 17 ] En 1673, Gottfried Leibniz demostró una calculadora mecánica digital, llamada Stepped Reckoner . [ 18 ] [ 19 ] Leibniz puede ser considerado el primer científico informático y teórico de la información, debido a varias razones, incluido el hecho de que documentó el sistema numérico binario, aunque Thomas Harriot ya lo había hecho décadas antes. [ 13 ] 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 de calcular lo suficientemente fuerte y confiable como para ser utilizada diariamente en un entorno de oficina. Charles Babbage comenzó el diseño de la primera calculadora mecánica automática , su Difference Machine , en 1822, lo que finalmente le dio la idea de la primera calculadora mecánica programable , su Analytical Machine . [ 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 ] lo que lo hizo infinitamente programable. [ nota 2 ] 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 incluyó, un algoritmo para calcular los números de Bernoulli , que se considera el primer algoritmo publicado específicamente diseñado para su implementación en una computadora. [ 22 ] Alrededor de 1885, Herman Hollerith inventó la tabuladora , que utilizaba tarjetas perforadas para procesar información estadística; finalmente, su empresa pasó a formar parte de IBM . Siguiendo a Babbage, aunque sin conocer 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ñolLeonardo Torres Quevedo publicó sus Ensayos sobre Automática [ 24 ] y diseñó, inspirado por Babbage, una máquina de calcular electromecánica teórica que sería controlada por un programa de solo 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 demostró la viabilidad de una máquina analítica electromecánica [ 27 ] en la que se podían escribir comandos y los resultados se imprimían 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 se dedicaba a la fabricación de calculadoras [ 29 ], para que desarrollara su gigantesca calculadora programable, la ASCC/Harvard Mark I , basada en la Máquina Analítica de Babbage, que a su vez utilizaba tarjetas perforadas y una unidad central de procesamiento . 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 nuevas y más potentes máquinas de computación como la computadora Atanasoff-Berry y la ENIAC , el término "computadora" pasó a referirse a las máquinas en lugar de a sus predecesores humanos. [ 31 ] A medida que se hizo evidente 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 casa de fraternidad renovada 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 una disciplina académica distinta en las décadas de 1950 y principios de 1960. [ 34 ] [ 35 ] El primer programa de grado en ciencias de la computación 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 ciencias de la computación en los Estados Unidos se formó en la Universidad de Purdue en 1962. [ 36 ] Desde que las computadoras prácticas estuvieron disponibles, muchas aplicaciones de la computación se han convertido en áreas de estudio distintas por derecho propio.

Etimología y alcance

Aunque se propuso por primera vez en 1956, [ 37 ] el término "ciencia de la computación" aparece en un artículo de 1959 en Communications of the ACM , [ 38 ] en el que Louis Fein aboga por la creación de una Escuela de Posgrado en Ciencias de la Computación análoga a la creación de la Escuela de Negocios de Harvard en 1921. [ 39 ] Louis justifica el nombre argumentando que, al igual que la ciencia de la administración , la materia es aplicada e interdisciplinaria por naturaleza, a la vez que posee las características típicas de una disciplina académica. [ 38 ] Este esfuerzo, y los de otros como el analista numérico George Forsythe , tuvieron éxito, y las universidades procedieron a crear dichos departamentos, comenzando con Purdue en 1962. [ 40 ] A pesar de su nombre, una cantidad significativa de la ciencia de la computación no implica el estudio de las computadoras en sí mismas. Debido a esto, se han propuesto varios nombres alternativos. [ 41 ] Ciertos departamentos de universidades importantes prefieren el término ciencia de la computación , para enfatizar precisamente esa diferencia. El científico danés Peter Naur propuso el término «datalogía » [ 42 ] para reflejar que la disciplina científica gira en torno a los datos y su procesamiento, sin que ello implique necesariamente el uso de ordenadores. La primera institución científica en emplear este término fue el Departamento de Datalogía de la Universidad de Copenhague , fundado en 1969, siendo Peter Naur su primer catedrático. El término se utiliza principalmente en los países escandinavos. Un término alternativo, también propuesto por Naur, es « ciencia de datos »; este se emplea actualmente para referirse a un campo multidisciplinar del análisis de datos, que incluye la estadística y las bases de datos.

En los primeros días de la informática, se sugirieron varios términos para los profesionales del campo de la informática (aunque de forma jocosa) en Communications of the ACM : turingineer , turologist , flow-charts-man , applied meta-mathematician y applied epistemologist . [ 43 ] Tres meses después, en la misma revista, se sugirió comptologist , seguido al año siguiente por hypologist . [ 44 ] También se ha sugerido el término computics . [ 45 ] En Europa, se suelen utilizar términos derivados de traducciones abreviadas de la expresión "automatic information" (por ejemplo, " informazione automatica " en italiano) o "information and mathematics", por ejemplo informatique (francés), Informatik (alemán), informatica (italiano, neerlandés), informática (español, portugués), informatika ( lenguas eslavas y húngaro ) o pliroforiki ( πληροφορική , que significa informática) en griego . Palabras similares también se han adoptado en el Reino Unido (como en la Escuela de Informática de la Universidad de Edimburgo ). [ 46 ] "En los EE. UU., sin embargo, la informática está vinculada con la computación aplicada, o la computación en el contexto de otro dominio." [ 47 ]

Una cita popular, a menudo atribuida a Edsger Dijkstra —aunque casi con toda seguridad no fue él quien la formuló por primera vez— , afirma que «la informática no trata más sobre ordenadores que la astronomía sobre telescopios». [ nota 3 ] El diseño y la implementación de ordenadores y sistemas informáticos se consideran generalmente ámbito de disciplinas distintas a la informática. Por ejemplo, el estudio del hardware informático se suele considerar parte de la ingeniería informática , mientras que el estudio de los sistemas informáticos comerciales y su implementación se denomina a menudo tecnología de la información o sistemas de información . Sin embargo, ha habido un intercambio de ideas entre las diversas disciplinas relacionadas con la informática. La investigación en informática también suele intersectar con 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 afirman que la computación es una ciencia matemática. [ 34 ] Los inicios de la informática estuvieron fuertemente influenciados por el trabajo de matemáticos como Kurt Gödel , Alan Turing , John von Neumann , Rózsa Péter , Stephen Kleene y Alonzo Church , y continúa existiendo un útil intercambio de ideas entre ambos campos en áreas como la lógica matemática , la teoría de categorías , la teoría de dominios y el álgebra . [ 37 ]

La relación entre la informática y la ingeniería de software es un tema controvertido, que se complica aún más por las disputas sobre el significado del término "ingeniería de software" y la definición de la informática. [ 48 ] David Parnas , inspirándose en la relación entre otras disciplinas de ingeniería y ciencias, ha afirmado que el enfoque principal de la informática es el estudio de 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, lo que las convierte en disciplinas separadas pero complementarias. [ 49 ]

Los aspectos académicos, políticos y de financiación de la informática suelen depender de si un departamento se forma con un enfoque matemático o con uno ingenieril. Los departamentos de informática con un enfoque matemático y una orientación numérica buscan alinearse con la ciencia computacional . Ambos tipos de departamentos tienden a esforzarse por tender puentes entre el campo, ya sea en el ámbito educativo o en el de 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, [ 50 ] las matemáticas, [ 51 ] o la ingeniería. [ 52 ] 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 al estereotipo estricto del método experimental. Sin embargo, son experimentos. Cada nueva máquina que se construye es un experimento. La construcción misma de la máquina plantea un interrogante a la naturaleza; y buscamos la respuesta observando la máquina en funcionamiento y analizándola mediante todos los medios analíticos y de medición disponibles. [ 52 ]

Desde entonces se ha argumentado que la informática puede clasificarse como una ciencia empírica, ya que utiliza pruebas empíricas para evaluar la corrección de los programas ; sin embargo, persiste el problema de definir las leyes y teoremas de la informática (si es que existen) y la naturaleza de los experimentos en esta disciplina. [ 52 ] Los defensores de clasificar la informática como una disciplina de ingeniería argumentan que la fiabilidad 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 . [ 52 ] También argumentan que, mientras que las ciencias empíricas observan lo que existe actualmente, la informática observa lo que es posible que exista, y mientras que los científicos descubren leyes a partir de la observación, no se han encontrado leyes propias en la informática, que en cambio se ocupa de crear fenómenos. [ 52 ]

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

Paradigmas de la informática

Varios científicos informáticos han defendido la distinción de tres paradigmas separados en la informática. Peter Wegner argumentó que esos paradigmas son la ciencia, la tecnología y las matemáticas. [ 53 ] El grupo de trabajo de Peter Denning argumentó que son la teoría, la abstracción (modelado) y el diseño. [ 34 ] 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 encontrarse en enfoques de ingeniería, sobre todo en la ingeniería de software) y el "paradigma científico" (que aborda los artefactos relacionados con la informática desde la perspectiva empírica de las ciencias naturales , [ 54 ] identificable en algunas ramas de la inteligencia artificial ). [ 55 ] La informática se centra en los métodos involucrados en el diseño, la especificación, la programación, la verificación, la implementación y las pruebas de sistemas informáticos creados por el hombre. [ 56 ]

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 los aspectos prácticos de la implementación de sistemas informáticos en hardware y software. [ 57 ] [ 58 ] CSAB , anteriormente llamada Computing Sciences Accreditation Board, compuesta por representantes de la Association for Computing Machinery (ACM) y la IEEE Computer Society (IEEE CS) [ 59 ] , identifica cuatro áreas que considera cruciales 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 computadoras . 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 áreas importantes de la informática. [ 57 ]

informática teórica

La informática teórica es matemática y abstracta por naturaleza, pero su motivación proviene 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 computar 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 son resolubles en varios modelos teóricos de computación . La segunda pregunta es abordada por 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 problema P = NP?, uno de los Problemas del Premio del Milenio , [ 60 ] 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, estrechamente relacionada con la probabilidad y la estadística , se centra en la cuantificación de la información. Fue desarrollada por Claude Shannon para determinar los límites fundamentales de las operaciones de procesamiento de señales, como la compresión de datos y el almacenamiento y la comunicación fiables de los mismos. [ 61 ] La teoría de la codificación estudia 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 , la criptografía , la detección y corrección de errores y, más recientemente, también para la codificación de redes . Se estudian con el fin de diseñar métodos de transmisión de datos eficientes y fiables . [ 62 ]

Estructuras de datos y algoritmos

Las estructuras de datos y los algoritmos son el estudio de los métodos computacionales de uso común y su eficiencia computacional.

Teoría de lenguajes 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, la implementación, el análisis, la caracterización y la clasificación de los lenguajes de programación y sus características individuales . Pertenece a la disciplina de la informática, y depende de las matemáticas, la ingeniería de software y la lingüística , a la vez que las influye . Es un área de investigación activa, con numerosas revistas académicas especializadas.

Los métodos formales son un tipo particular de técnica matemática para la especificación , el desarrollo y la verificación de sistemas de software y hardware . [ 63 ] El uso de métodos formales para el diseño de software y hardware se basa en la expectativa de que, como en otras disciplinas de ingeniería, realizar un análisis matemático apropiado puede contribuir a la fiabilidad y robustez de un diseño. Constituyen un fundamento teórico importante para la ingeniería de software, especialmente cuando la seguridad está en juego. 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 su uso industrial, se requiere soporte de herramientas. Sin embargo, el alto costo de usar métodos formales significa que generalmente solo se utilizan 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 amplia variedad 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 verificación de software y hardware.

Ciencias de la computación aplicada

Gráficos y visualización por computadora

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

Procesamiento de imágenes y sonido

La información puede adoptar la forma de imágenes, sonido, vídeo u otros formatos multimedia. Los bits de información pueden transmitirse mediante señales . Su procesamiento es el concepto central de la informática, la perspectiva europea sobre la computación, 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 desempeña un papel importante en la teoría de la información , las telecomunicaciones , la ingeniería de la información y tiene aplicaciones en el procesamiento de imágenes médicas y la síntesis de voz , entre otras. ¿Cuál es el límite inferior de la complejidad de los algoritmos de la transformada rápida de Fourier ? es uno de los problemas sin resolver en la informática teórica .

Ciencias computacionales, finanzas e ingeniería

La computación 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 , así como del uso de ordenadores para analizar y resolver problemas científicos . Un uso importante de la computación científica es la simulación de diversos procesos, incluyendo la dinámica de fluidos computacional , sistemas y circuitos físicos, eléctricos y electrónicos, sociedades y situaciones sociales (en particular, juegos de guerra) junto con sus hábitats, e interacciones entre células biológicas. Los ordenadores modernos permiten la optimización de diseños como aeronaves completas. Destacan en el diseño de circuitos eléctricos y electrónicos SPICE, [ 64 ] 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 . [ 65 ]

Interacción persona-ordenador

La interacción persona-ordenador (IPO) es el campo de estudio e investigación que se ocupa del diseño y uso de sistemas informáticos , basado principalmente en el análisis de la interacción entre los seres humanos y las interfaces informáticas . La IPO cuenta con varios subcampos que se centran en la relación entre las emociones , el comportamiento social y la actividad cerebral con los ordenadores .

Ingeniería de software

La ingeniería de software estudia el diseño, la implementación y la modificación del software para garantizar su alta calidad, asequibilidad, mantenibilidad y rapidez de desarrollo. Se trata de un enfoque sistemático del diseño de software que implica la aplicación de prácticas de ingeniería. La ingeniería de software se ocupa de la organización y el análisis del software; no solo abarca la creación o fabricación de software nuevo, sino también su organización interna y mantenimiento. Algunos ejemplos son las pruebas de software , la ingeniería de sistemas , la deuda técnica y los procesos de desarrollo de software .

Inteligencia artificial

La inteligencia artificial (IA) busca sintetizar, o requiere, procesos orientados a objetivos como la resolución de problemas, la toma de decisiones, la adaptación al entorno, el aprendizaje y la comunicación, presentes en humanos y animales. Desde sus orígenes en la cibernética y en la Conferencia de Dartmouth (1956), la investigación en 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 la inteligencia social . Si bien popularmente se asocia la IA con el desarrollo robótico , su 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? ", una pregunta que aún permanece sin respuesta, aunque la prueba de Turing se sigue utilizando para evaluar el rendimiento informático en la escala de la inteligencia humana. Sin embargo, la automatización de tareas evaluativas y predictivas ha tenido cada vez más éxito como sustituto de la supervisión e intervención humana en ámbitos de aplicación informática que involucran datos complejos del mundo real.

Sistemas informáticos

Arquitectura de computadoras y microarquitectura

La arquitectura de computadoras, u organización digital de computadoras, es el diseño conceptual y la estructura operativa fundamental de un sistema informático. Se centra principalmente en la forma en que la unidad central de procesamiento opera internamente y accede a las direcciones en la memoria. [ 66 ] Los ingenieros informáticos estudian la lógica computacional y el diseño del hardware de las computadoras, desde componentes individuales del procesador , microcontroladores , computadoras personales hasta supercomputadoras y sistemas embebidos . 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 en el centro de investigación principal 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 pueden interactuar entre sí. [ 67 ] Se han desarrollado varios modelos matemáticos para la computación concurrente general, incluyendo redes de Petri , cálculos de procesos y el modelo de máquina de acceso aleatorio paralelo . [ 68 ] Cuando múltiples computadoras están conectadas en una red mientras se utiliza la concurrencia, esto se conoce como un sistema distribuido. Las computadoras dentro de ese sistema distribuido tienen su propia memoria privada y la información puede intercambiarse para lograr objetivos comunes. [ 69 ]

Redes informáticas

Esta rama de la informática estudia la construcción y el comportamiento de las redes informáticas. Aborda su rendimiento, resiliencia, seguridad, escalabilidad y rentabilidad, así como la variedad de servicios que pueden proporcionar. [ 70 ]

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 el acceso no autorizado, la interrupción o la modificación, manteniendo al mismo tiempo la accesibilidad y la usabilidad del sistema para sus 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 problemas relacionados con cálculos distribuidos que pueden ser atacados. [ 71 ] Las tecnologías estudiadas en criptografía moderna incluyen el cifrado simétrico y asimétrico , las firmas digitales , las funciones hash criptográficas , los protocolos de acuerdo de claves , la cadena de bloques , las pruebas de conocimiento cero y los circuitos ofuscados .

Bases de datos y minería de datos

Una base de datos tiene como objetivo organizar, almacenar y recuperar grandes cantidades de datos fácilmente. Las bases de datos digitales se gestionan mediante sistemas de gestión de bases de datos (SGBD) 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 para descubrir patrones en grandes conjuntos de datos.

Descubrimientos

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

Toda la información sobre cualquier problema computable puede representarse utilizando únicamente 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 puede expresarse en un lenguaje para computadora que consta de solo cinco instrucciones básicas: [ 73 ]
  • mover una posición a la izquierda;
  • Muévase 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.
  • La idea de Corrado Böhm y Giuseppe Jacopini: solo hay tres maneras de combinar estas acciones (en otras más complejas) que son necesarias para que una computadora haga "algo". [ 74 ]
Solo 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 se da tal o cual caso, ENTONCES haz esto, DE LO CONTRARIO haz aquello;
  • Repetición : MIENTRAS tal y cual sea el caso, HAGA esto.
Las tres reglas de la intuició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. Algunos paradigmas de programación comunes son:

  • La programación funcional es un estilo de construcción de la estructura y los elementos de los programas informáticos que trata la computación como la evaluación de funciones matemáticas y evita el estado y los datos mutables. Es un paradigma de programación declarativa, lo que significa que la programación se realiza con expresiones o declaraciones en lugar de sentencias. [ 75 ]
  • La programación imperativa es un paradigma de programación que utiliza instrucciones que modifican el estado de un programa. [ 76 ] De forma similar a como el modo imperativo en los lenguajes naturales expresa órdenes, un programa imperativo consta de instrucciones que la computadora debe ejecutar. La programación imperativa se centra en describir cómo funciona un programa.
  • La programación orientada a objetos es un paradigma de programación basado en el concepto de "objetos", que pueden contener datos, en forma de campos, a menudo denominados atributos; y código, en forma de procedimientos, a menudo denominados métodos. Una característica de los objetos es que los procedimientos de un objeto pueden acceder y, con frecuencia, modificar los campos de datos del objeto con el que están asociados. Por lo tanto, los programas informáticos orientados a objetos están formados por objetos que interactúan entre sí. [ 77 ]
  • La programación orientada a servicios es un paradigma de programación que utiliza "servicios" como unidad de trabajo informático para diseñar e implementar aplicaciones empresariales integradas y programas de software de misión crítica .

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

Investigación

Las conferencias son eventos importantes para la investigación en ciencias de la computación. Durante estas conferencias, investigadores de los sectores 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 ciencias de la computación, el prestigio de los artículos de conferencias es mayor que el de las publicaciones en revistas. [ 79 ] [ 80 ] Una explicación propuesta para esto es que el rápido desarrollo de este campo relativamente nuevo requiere una revisión y distribución rápidas de los resultados, una tarea que las conferencias manejan mejor que las revistas. [ 81 ]

Véase también

Notas

  1. En 1851
  2. «La introducción de tarjetas perforadas en la nueva máquina fue importante no solo por ser una forma de control más práctica que los tambores, o porque ahora los programas podían tener una extensión ilimitada y podían almacenarse y repetirse sin el peligro de introducir errores al configurar la máquina manualmente; también fue importante porque sirvió para cristalizar la sensación de Babbage de haber inventado algo realmente nuevo, algo mucho más que una sofisticada máquina de calcular.» Bruce Collier , 1970
  3. Consulte la entrada " Ciencias de la computación " 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 arbitrario terminará o se ejecutará indefinidamente (el problema de la parada ).

Referencias

  1. "¿Qué es la informática?" . Departamento de Informática, Universidad de York . Archivado del original el 11 de junio de 2020 . Consultado el 11 de junio de 2020 .
  2. 1 2 ¿Qué se puede automatizar? Estudio de investigación en ciencias de la computación e ingeniería . Serie de ciencias de la computación. MIT Press. 1980. ISBN 978-0262010603Archivado del original el 9 de enero de 2021 .
  3. 1 2 3 Denning, PJ; Comer, DE; Gries, D.; Mulder, MC; Tucker, A.; Turner, AJ; Young, PR (febrero de 1989). "La informática como disciplina". Computer . 22 (2): 63– 70. Bibcode : 1989Compr..22b..63D . doi : 10.1109/2.19833 . ISSN 1558-0814 . 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 (de manera eficiente)?". 
  4. "Búsqueda en WordNet—3.1" . Búsqueda en WordNet . Wordnetweb.princeton.edu. Archivado del original el 18 de octubre de 2017. Recuperado el 14 de mayo de 2012 .
  5. "Definición de informática | Dictionary.com" . www.dictionary.com . Archivado del original el 11 de junio de 2020. Consultado el 11 de junio de 2020 .
  6. "¿Qué es la informática? | Informática para estudiantes de pregrado en la UMD" . undergrad.cs.umd.edu . Archivado del original el 27 de noviembre de 2020. Consultado el 15 de julio de 2022 .
  7. Harel, David (2014). Algorithmics: The Spirit of Computing . Springer Berlin. ISBN 978-3-642-44135-6OCLC 876384882 
  8. Patton, Richard D.; Patton, Peter C. (2009), "¿Qué se puede automatizar? ¿Qué no se puede automatizar?" , en Nof, Shimon Y. (ed.), Springer Handbook of Automation , Springer Handbooks, Berlín, Heidelberg: Springer, pp. 305–313 , doi : 10.1007/978-3-540-78831-7_18 , ISBN  978-3-540-78831-7Archivado del original el 11 de enero de 2023 , consultado el 3 de marzo de 2022 .
  9. Forsythe, George (5-10 de agosto de 1969). «Informática y educación». Actas del Congreso IFIP de 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.
  10. Knuth, Donald E. (1 de agosto de 1972). "George Forsythe y el desarrollo de la ciencia de la computación" . Communications of the ACM . 15 (8): 721– 726. doi : 10.1145/361532.361538 . ISSN 0001-0782 . S2CID 12512057 .  
  11. Hanson, Vicki L. (23 de enero de 2017). "Celebrando 50 años del premio Turing" . Communications of the ACM . 60 (2): 5. doi : 10.1145/3033604 . ISSN 0001-0782 . S2CID 29984960 .  
  12. Scott, Eric; Martins, Marcella Scoczynski Ribeiro; Yafrani, Mohamed El; Volz, Vanessa; Wilson, Dennis G (5 de junio de 2018). "ACM celebra 50 años del premio ACM AM Turing y los mayores logros de la informática" . ACM SIGEVOlution . 10 (3): 9– 11. doi : 10.1145/3231560.3231563 . ISSN 1931-8499 . S2CID 47021559 .  
  13. 1 2 Strickland, Lloyd (2023). "¿Por qué Thomas Harriot inventó el sistema binario?" . The Mathematical Intelligencer . 46 : 57– 62. doi : 10.1007/s00283-023-10271-9 .
  14. "Instituto Charles Babbage: ¿Quién fue Charles Babbage?" . cbi.umn.edu . Archivado del original el 9 de enero de 2007 . Consultado el 28 de diciembre de 2016 .
  15. "Ada Lovelace | Máquina de Babbage | Museo de Historia de la Computación" . www.computerhistory.org . Archivado del original el 25 de diciembre de 2018. Consultado el 28 de diciembre de 2016 .
  16. "Historia de la informática" . cs.uwaterloo.ca . Archivado del original el 29 de julio de 2017. Consultado el 15 de julio de 2022 .
  17. "Wilhelm Schickard – Ein Computerpionier" (PDF) (en alemán). Archivado del original (PDF) el 19 de septiembre de 2020. Consultado el 4 de diciembre de 2016 .
  18. "Prehistoria de la informática" . www.i-programmer.info . Consultado el 16 de marzo de 2026 .
  19. "La calculadora Leibniz Step Reckoner y las calculadoras Curta" . Museo de Historia de la Computación . Consultado el 16 de marzo de 2026 .
  20. "Museo de Ciencias, Máquina Analítica de Babbage, 1834–1871 (Modelo de prueba)" . Archivado del original el 30 de agosto de 2019. Consultado el 11 de mayo de 2020 .
  21. 1 2 Hyman, Anthony (1982). Charles Babbage: Pionero de la computadora . Oxford University Press . 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 del original el 10 de febrero de 2006. Recuperado el 4 de mayo de 2006 .
  23. "La colección de informática de John Gabriel Byrne" (PDF) . Archivado del 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) , págs. 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 sus orígenes, (pdf) , pág. 545, Computadoras digitales: orígenes, Enciclopedia de la informática, enero de 2003.
  28. Randell 1982 , págs. 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 para la Maquinaria Informática (ACM) fue fundada en 1947.
  32. "Archivos de IBM: 1945" . Ibm.com. 23 de enero de 2003. Archivado del 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 del original el 5 de enero de 2019. Consultado el 19 de marzo de 2019 .
  34. 1 2 3 Denning, PJ; Comer, DE; Gries, D.; Mulder, MC; Tucker, A.; Turner, AJ; Young, PR (febrero de 1989). "La informática como disciplina". Computer . 22 (2): 63– 70. Bibcode : 1989Compr..22b..63D . doi : 10.1109/2.19833 . ISSN 1558-0814 . 
  35. "Algunas estadísticas de EDSAC" . Universidad de Cambridge. Archivado del original el 3 de septiembre de 2007. Consultado el 19 de noviembre de 2011 .
  36. «Muere a los 85 años Samuel D. Conte, pionero de la informática» . Departamento de Informática de Purdue. 1 de julio de 2002. Archivado del original el 6 de octubre de 2014. Consultado el 12 de diciembre de 2014 .
  37. 1 2 Tedre, Matti (2014). La ciencia de la computación: dando forma a una disciplina . Taylor and Francis / CRC Press.
  38. 1 2 Louis Fine (1960). "El papel de la universidad en las computadoras, el procesamiento de datos y campos relacionados" . Communications of the ACM . 2 (9): 7– 14. doi : 10.1145/368424.368427 . S2CID 6740821 . 
  39. "Historia Oral de la Universidad de Stanford" . Bibliotecas de Stanford . Universidad de Stanford. Archivado del original el 4 de abril de 2017. Recuperado el 30 de mayo de 2013 .
  40. Donald Knuth (1972). "George Forsythe y el desarrollo de la informática" . Comunicaciones de la ACM . Archivado el 20 de octubre de 2013 en Wayback Machine .
  41. Matti Tedre (2006). "El desarrollo de la informática: una perspectiva sociocultural" (PDF) . pág. 260. Archivado (PDF) del original el 9 de octubre de 2022. Recuperado el 12 de diciembre de 2014 . 
  42. Peter Naur (1966). "La ciencia de la datalogía" . Communications of the ACM . 9 (7): 485. doi : 10.1145/365719.366510 . S2CID 47558402 . 
  43. Weiss, EA; Corley, Henry PT "Cartas al editor" . Communications of the ACM . 1 (4): 6. doi : 10.1145/368796.368802 . S2CID 5379449 . 
  44. Comunicaciones de la ACM 2(1):p.4
  45. IEEE Computer 28(12): pág. 136
  46. ^ 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.
  47. Groth, Dennis P. (febrero de 2010). "¿Por qué una licenciatura en informática?" . Communications of the ACM . Cacm.acm.org. Archivado del original el 11 de enero de 2023. Recuperado el 14 de junio de 2016 .
  48. Tedre, M. (2011). "La computación como ciencia: un estudio de puntos de vista contrapuestos". Minds and Machines . 21 (3): 361– 387. doi : 10.1007/s11023-011-9240-4 . S2CID 14263916 . 
  49. Parnas, DL (1998). "Los programas de ingeniería de software no son programas de ciencias de la computación". Annals of Software Engineering . 6 ( 1– 4): 19– 37. doi : 10.1023/A:1018949113292 . S2CID 35786237 . , pág. 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, [...]"
  50. Luk, RWP (2020). "Perspectivas sobre cómo la informática puede ser una ciencia". Ciencia y Filosofía . 8 (2): 17– 47. doi : 10.23756/sp.v8i2.531 .
  51. Knuth, DE (1974). "La informática y su relación con las matemáticas". The American Mathematical Monthly . 81 (4): 323– 343. doi : 10.2307/2318994 . JSTOR 2318994 . 
  52. 1 2 3 4 5 6 7 "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 del original el 16 de septiembre de 2021. Recuperado el 16 de septiembre de 2021 .
  53. Wegner, P. (13-15 de octubre de 1976). Paradigmas de investigación en ciencias de la computación: Actas de la 2.ª Conferencia Internacional sobre Ingeniería de Software . San Francisco, California, Estados Unidos: IEEE Computer Society Press, Los Alamitos, CA.
  54. Denning, Peter J. (2007). "La computación es una ciencia natural". Communications of the ACM . 50 (7): 13– 18. doi : 10.1145/1272516.1272529 . S2CID 20045303 . 
  55. Eden, AH (2007). "Tres paradigmas de la informática" (PDF) . Minds and Machines . 17 (2): 135– 167. CiteSeerX 10.1.1.304.7763 . doi : 10.1007/s11023-007-9060-8 . S2CID 3023076. Archivado del original (PDF) el 15 de febrero de 2016.  
  56. 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 del original el 14 de octubre de 2019. Recuperado el 14 de octubre de 2019 .
  57. 1 2 "La informática como profesión" . Consejo de Acreditación de Ciencias de la Computación. 28 de mayo de 1997. Archivado del original el 17 de junio de 2008. Recuperado el 23 de mayo de 2010 .
  58. Comité sobre los 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 . National Academies Press. ISBN 978-0-309-09301-9Archivado del original el 18 de febrero de 2011. Consultado el 31 de agosto de 2008 .
  59. "CSAB Liderando la Educación en Informática" . CSAB. 3 de agosto de 2011. Archivado del original el 20 de enero de 2019. Consultado el 19 de noviembre de 2011 .
  60. Instituto de Matemáticas Clay P = NP Archivado el 14 de octubre de 2013 en Wayback Machine
  61. P. Collins, Graham (14 de octubre de 2002). "Claude E. Shannon: Fundador de la teoría de la información" . Scientific American . Archivado del original el 16 de enero de 2014. Consultado el 12 de diciembre de 2014 .
  62. Van-Nam Huynh; Vladik Kreinovich; Songsak Sriboonchitta; 2012. Análisis de incertidumbre en econometría con aplicaciones . Springer Science & Business Media. pág. 63. ISBN 978-3-642-35443-4.
  63. Phillip A. Laplante, (2010). Enciclopedia de Ingeniería de Software, Conjunto de Tres Volúmenes (Impreso). CRC Press. pág. 309. ISBN 978-1-351-24926-3.
  64. Muhammad H. Rashid, (2016). SPICE para electrónica de potencia y energía eléctrica . CRC Press. pág. 6. ISBN 978-1-4398-6047-2.
  65. "¿Qué es un circuito integrado (CI)? Un componente vital de la electrónica moderna" . WhatIs.com . Archivado del original el 15 de noviembre de 2021. Consultado el 15 de noviembre de 2021 .
  66. A. Thisted, Ronald (7 de abril de 1997). "Arquitectura de computadoras" (PDF) . Universidad de Chicago. Archivado (PDF) del original el 9 de octubre de 2022.
  67. Jiacun Wang, (2017). Sistemas embebidos en tiempo real . Wiley. pág. 12. ISBN 978-1-119-42070-5.
  68. Gordana Dodig-Crnkovic; Raffaela Giovagnoli, (2013). Computing Nature: Turing Centenary Perspective . Springer Science & Business Media. p. 247. ISBN 978-3-642-37225-4.
  69. Simon Elias Bibri (2018). Ciudades inteligentes y sostenibles del futuro: El potencial sin explotar del análisis de macrodatos y la computación contextual para el avance de la sostenibilidad . Springer. pág. 74. ISBN 978-3-319-73981-6.
  70. Peterson, Larry; Davie, Bruce (2000). Redes informáticas: Un enfoque de sistemas . Singapur: Harcourt Asia. ISBN 9789814066433. Consultado el 24 de mayo de 2025 .
  71. Katz, Jonathan (2008). Introducción a la criptografía moderna . Yehuda Lindell. Boca Raton: Chapman & Hall/CRC. ISBN 978-1-58488-551-1OCLC 137325053 
  72. Rapaport, William J. (20 de septiembre de 2013). "¿Qué es la computación?" . Universidad Estatal de Nueva York en Buffalo. Archivado del original el 14 de febrero de 2001. Recuperado el 31 de agosto de 2013 .
  73. B. Jack Copeland, (2012). El cerebro electrónico de Alan Turing: La lucha por construir el ACE, el ordenador más rápido del mundo . OUP Oxford. pág. 107. ISBN 978-0-19-960915-4.
  74. Charles W. Herbert, (2010). Introducción a la programación con Alice 2.2 . Cengage Learning. pág. 122. ISBN 0-538-47866-7.
  75. Md. Rezaul Karim; Sridhar Alla, (2017). Scala y Spark para el análisis de macrodatos: Exploración de 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.
  76. Lex Sheehan, (2017). Aprendiendo programación funcional en Go: Cambia tu enfoque de las aplicaciones usando programación funcional en Go . Packt Publishing Ltd. pág. 16. ISBN 978-1-78728-604-7.
  77. Evelio Padilla, (2015). Sistemas de automatización de subestaciones: diseño e implementación . Wiley. pág. 245. ISBN 978-1-118-98730-8.
  78. "Lenguaje de programación multiparadigma" . Documentación web de MDN . Fundación Mozilla . Archivado del original el 21 de agosto de 2013.
  79. Meyer, Bertrand (abril de 2009). "Punto de vista: evaluación de la investigación para la ciencia de la computación" . Communications of the ACM . 25 (4): 31– 34. doi : 10.1145/1498765.1498780 . S2CID 8625066 . 
  80. Patterson, David (agosto de 1999). "Evaluación de científicos e ingenieros informáticos para ascensos y permanencia" . Computing Research Association. Archivado del original el 22 de julio de 2015. Recuperado el 19 de julio de 2015 .
  81. Fortnow, Lance (agosto de 2009). "Punto de vista: es hora de que la informática madure" . Communications of the ACM . 52 (8): 33– 35. doi : 10.1145/1536616.1536631 .

Lecturas adicionales

  • Tucker, Allen B. (2004). Manual de informática (2.ª  ed.). Chapman and Hall/CRC. ISBN 978-1-58488-360-9.
  • Ralston, Anthony ; Reilly, Edwin D.; Hemmendinger, David (2000). Enciclopedia de Ciencias de la Computación (4.ª  ed.). Diccionarios Grove. ISBN 978-1-56159-248-7Archivado del original el 8 de junio de 2020. Consultado el 6 de febrero de 2011 .
  • Edwin D. Reilly (2003). Hitos en Ciencias de la Computación y Tecnologías de la Información . Greenwood Publishing Group. ISBN 978-1-57356-521-9.
  • Knuth, Donald E. (1996). Artículos seleccionados sobre informática . CSLI Publications, Cambridge University Press .
  • Collier, Bruce (1990). La pequeña máquina que pudo: Las máquinas calculadoras de Charles Babbage . Garland Publishing Inc. ISBN 978-0-8240-0043-1Archivado del original el 20 de enero de 2007. Consultado el 4 de mayo de 2013 .
  • Cohen, Bernard (2000). Howard Aiken, Retrato de un pionero de la informática . The MIT Press. ISBN 978-0-262-53179-5.
  • Tedre, Matti (2014). La ciencia de la computación: dando forma a una disciplina . CRC Press, Taylor & Francis .
  • Randell, Brian (1973). Los orígenes de las computadoras digitales, Artículos seleccionados . Springer-Verlag. ISBN 978-3-540-06169-4.
  • Randell, Brian (octubre-diciembre de 1982). "De la máquina analítica a la computadora digital electrónica: las contribuciones de Ludgate, Torres y Bush" (PDF) . IEEE Annals of the History of Computing . 4 (4): 327–341 . Bibcode : 1982IAHC....4d.327R . doi : 10.1109/mahc.1982.10042 . S2CID 1737953. Archivado del original (PDF) el 21 de septiembre de 2013. 
  • Peter J. Denning. ¿Es la informática ciencia?, Communications of the ACM, abril de 2005.
  • Peter J. Denning, Grandes principios en los planes de estudio de informática , Simposio Técnico sobre Educación en Ciencias de la Computación, 2004.
  • Bibliografía de Ciencias de la Computación de DBLP
  • Asociación para la Maquinaria Informática
  • Instituto de Ingenieros Eléctricos y Electrónicos