Ciencias de la Computación


De Wikipedia, la enciclopedia libre
  (Redirigido desde Estudios de Computación )
Saltar a navegación Saltar a búsqueda

La informática se ocupa de los fundamentos teóricos de la información, los algoritmos y las arquitecturas de su computación, así como las técnicas prácticas para su aplicación.

La informática es el estudio de la computación , la automatización y la información . [1] La informática abarca desde disciplinas teóricas, como algoritmos , teoría de la computación y teoría de la información , hasta disciplinas prácticas que incluyen el diseño e implementación de hardware y software . [2] [3] Las ciencias de la computación generalmente se consideran un área de investigación académica y distinta de la programación de computadoras .

Los algoritmos y las estructuras de datos se han denominado el corazón de la informática. [4] La teoría de la computación se refiere a modelos abstractos de computación y clases generales de problemas que pueden resolverse con ellos. La criptografía y la seguridad informática estudian los medios de comunicación segura y previenen vulnerabilidades de seguridad . La infografía y la geometría computacional estudian la generación de imágenes. La teoría del lenguaje de programación considera enfoques para la descripción de procesos computacionales y bases de datos.La teoría se refiere a la gestión de repositorios de datos. La interacción persona-computadora investiga las interfaces a través de las cuales los humanos y las computadoras interactúan, y la ingeniería de software se enfoca 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 los sistemas complejos . La arquitectura de computadora describe la construcción de componentes de computadora y equipo operado por computadora. Inteligencia artificial y aprendizaje automáticotienen 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. [5] El premio Turing es generalmente reconocido como la más alta distinción en ciencias de la computación.

Historia

Charles Babbage , a veces referido como el "padre de la informática". [6]
Ada Lovelace publicó el primer algoritmo destinado a ser procesado en una computadora. [7]

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

Wilhelm Schickard diseñó y construyó la primera calculadora mecánica en funcionamiento en 1623. [8] En 1673, Gottfried Leibniz hizo una demostración de una calculadora mecánica digital, llamada Stepped Reckoner . [9] Leibniz puede ser considerado el primer científico informático y teórico de la información, entre otras razones, por documentar 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 de calcular lo suficientemente fuerte y confiable para usarse a diario en un entorno de oficina.Charles Babbage inició el diseño de la primera calculadora mecánica automática , su motor diferencial , en 1822, lo que finalmente le dio la idea de la primera calculadora mecánica programable , su motor analítico . [10] 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". [11] "Un paso crucial fue la adopción de un sistema de tarjetas perforadas derivado del telar Jacquard " [11] haciéndolo 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 diseñado específicamente para su implementación. en una computadora. [12] 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 en 1909 publicó [13]el segundo de los dos únicos diseños de motores analíticos mecánicos de la historia. En 1937, cien años después del sueño imposible de Babbage, Howard Aiken convenció a IBM, que estaba fabricando todo tipo de equipos de tarjetas perforadas y también estaba en el negocio de las calculadoras [14] para desarrollar su calculadora programable gigante, la ASCC / Harvard Mark I , basada en en el motor analítico de Babbage, que a su vez utilizaba tarjetas y una unidad central de cómputo. Cuando la máquina estuvo terminada, algunos la aclamaron como "el sueño de Babbage hecho realidad". [15]

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. [16] Cuando quedó claro que las computadoras podrían usarse para algo más que cálculos matemáticos, el campo de las ciencias de la computación 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 actualmente opera instalaciones de investigación en todo el mundo. [17] En última instancia, la estrecha relación entre IBM y la universidad fue fundamental para el surgimiento de una nueva disciplina científica, con Columbia ofreciendo uno de los primeros cursos académicos con créditos en ciencias de la computación en 1946. [18] La ciencia de la computación comenzó a establecerse como una disciplina académica distinta en la década de 1950 y principios de la de 1960. [19] [20] 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 la Universidad de Cambridge. Laboratorio de Computación en 1953. El primer departamento de ciencias de la computación en los Estados Unidos se formó en la Universidad de Purdue en 1962. [21] 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

Aunque fue propuesto por primera vez en 1956, [22] el término "ciencias de la computación" aparece en un artículo de 1959 en Communications of the ACM , [23] 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, [24] justificando el nombre con el argumento de que, al igual que la ciencia de la gestión , la asignatura es de naturaleza aplicada e interdisciplinar, aunque tiene las características propias de una disciplina académica. [23] Sus esfuerzos, y los de otros como el analista numérico George Forsythe, fueron recompensados: las universidades crearon dichos departamentos, comenzando con Purdue en 1962. [25] A pesar de su nombre, una cantidad significativa de ciencias de la computación no involucra el estudio de las computadoras en sí. Debido a esto, se han propuesto varios nombres alternativos. [26] 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 , [27]para reflejar el hecho de que la disciplina científica gira en torno a los datos y el tratamiento de datos, 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, fundada 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 ; 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 practicantes del campo de la informática : turingineer , turólogo , organizador de diagramas de flujo , metamatemático aplicado y epistemólogo aplicado . [28] Tres meses después, en la misma revista, se sugirió un comptólogo , seguido el año siguiente por un hipólogo . [29] También se ha sugerido el término cómplices . [30] En Europa, los términos derivados de traducciones contratadas de la expresión "información automática" (p. Ej., "Informazione automatica" en italiano) o "información y matemáticas" se utilizan a menudo, p. Ej. Informatique (francés), Informatik (alemán), informatica (italiano, holandés ), informática (español, portugués), informatika ( lenguas eslavas y Hungría ) o Pliroforiki ( πληροφορική , lo que significa informáticos) 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 ). [31]"En Estados Unidos, sin embargo, la informática está vinculada con la informática aplicada o la informática en el contexto de otro dominio". [32]

Una cita folclórica, a menudo atribuida a Edsger Dijkstra , pero casi con certeza no formulada por primera vez , afirma que "la informática no se trata más de ordenadores que la astronomía de telescopios". [nota 3] El diseño y despliegue de computadoras y sistemas informáticos generalmente se considera competencia de disciplinas distintas de la informática. Por ejemplo, el estudio del hardware informático generalmente se considera parte de la ingeniería informática , mientras que el estudio de los sistemas informáticos comerciales y su implementación a menudo se denomina tecnología de la información o sistemas de información.. Sin embargo, ha habido mucha fertilización cruzada de ideas entre las diversas disciplinas relacionadas con la informática. La investigación en ciencias de la computación también se cruza a menudo 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 informática es una ciencia matemática. [19] Las primeras ciencias de la computación 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. la lógica , la teoría de categorías , la teoría de dominios , y el álgebra . [22]

La relación entre Ciencias de la Computación e Ingeniería de Software es un tema polémico, que se ve aún más enturbiado por disputas sobre lo que significa el término "Ingeniería de Software" y cómo se define la ciencia de la computación. [33] David Parnas , siguiendo el ejemplo de la relación entre otras disciplinas de la ingeniería y la ciencia, 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 las dos disciplinas separadas pero complementarias. [34]

Los aspectos académicos, políticos y de financiación de la informática tienden a depender de si un departamento se forma con un énfasis matemático o con un énfasis en ingeniería. Los departamentos de informática con énfasis en matemáticas y con orientación numérica consideran la alineación con la ciencia computacional . Ambos tipos de departamentos tienden a hacer esfuerzos para unir el campo desde el punto de vista educativo, 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 una disciplina de la ciencia, las matemáticas o la ingeniería. [35] Allen Newell y Herbert A. Simon argumentaron en 1975,

La informática es una disciplina empírica. La hubiéramos 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. [35]

Desde entonces se ha argumentado que la ciencia de la computación puede clasificarse como una ciencia empírica ya que hace uso de pruebas empíricas para evaluar la corrección de los programas, pero sigue existiendo un problema en la definición de las leyes y teoremas de la ciencia de la computación (si existen) y la definición de las naturaleza de los experimentos en informática. [35] 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 . [35]También argumentan que mientras las ciencias empíricas observan lo que existe actualmente, la ciencia de la computación 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 ciencia de la computación y, en cambio, se preocupa por crear fenómenos. [35]

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 que los programas pueden razonarse deductivamente mediante métodos matemáticos formales . [35] Los científicos informáticos Edsger W. Dijkstra y Tony Hoare consideran las instrucciones para 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 . [35]

Paradigmas de la informática

Varios científicos de la computación han abogado por la distinción de tres paradigmas separados en la ciencia de la computación. Peter Wegner argumentó que esos paradigmas son la ciencia, la tecnología y las matemáticas. [36] El grupo de trabajo de Peter Denning argumentó que son teoría, abstracción (modelado) y diseño. [37] Amnon H. Eden los describió como el "paradigma racionalista" (que trata a 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 se puede encontrar en los enfoques de ingeniería, más prominentemente en la 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 , identificables en algunas ramas de la tecnología artificial). inteligencia ). [38] La informática se centra en los métodos que intervienen en el diseño, la especificación, la programación, la verificación, la implementación y la prueba de sistemas informáticos creados por el hombre. [39]

Los campos

La informática no se trata más de ordenadores que la astronomía de telescopios.

-  Edsger Dijkstra

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 las cuestiones prácticas de la implementación de sistemas informáticos en hardware y software. [40] [41] CSAB , anteriormente denominada Junta de Acreditación de Ciencias de la Computación, que está compuesta por representantes de la Asociación de Maquinaria de Computación (ACM) y la Sociedad de Computación de IEEE (IEEE CS) [42], 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 , yelementos informáticos y arquitectura . Además de estas cuatro áreas, CSAB también identifica campos como ingeniería de software, inteligencia artificial, redes y comunicaciones de computadoras, sistemas de bases de datos, computación paralela, computación distribuida, interacción persona-computadora, gráficos por computadora, sistemas operativos y computación numérica y simbólica como siendo áreas importantes de la informática. [40]

Ciencias de la computación teóricas

La informática teórica es matemática y de espíritu abstracto, 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?" [19] 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 se pueden resolver en varios modelos teóricos de computación . La segunda pregunta se aborda mediante 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? problema, uno de los problemas del premio Millennium , [43] 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 , está relacionada con la cuantificación de la información. Esto fue desarrollado por Claude Shannon para encontrar límites fundamentales en las operaciones de procesamiento de señales , como comprimir datos y almacenar y comunicar datos de manera confiable. [44] 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 , la criptografía , la detección y corrección de errores y , más recientemente, también para la 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 .[45]

Estructuras de datos y algoritmos

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

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

La teoría del lenguaje 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 enmarca dentro de la disciplina de las ciencias de la computación, y depende de las matemáticas , la ingeniería de software y la lingüística y las afecta . 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 . [46]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 la 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 se trata de seguridad o protección. 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 o la protecciónes de suma importancia. Los métodos formales se describen mejor como la aplicación de un bastante amplia variedad de la informática teórica fundamentales, en particular la lógica cálculos, los lenguajes formales , la teoría de autómatas , y la semántica del programa , sino también de tipo de sistemas y tipos de datos algebraicos a los problemas en la especificación de software y hardware y verificación.

Sistemas informáticos y procesos computacionales

Inteligencia artificial

La inteligencia artificial (IA) tiene como objetivo o se requiere 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 en inteligencia artificial ha sido necesariamente interdisciplinaria, basándose en á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 . La IA está asociada en la mente popular con el desarrollo robótico, pero el campo principal de aplicación práctica ha sido como un componente integrado en áreas de desarrollo de software , que requieren comprensión computacional. El punto de partida a fines 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 usa para evaluar la producción de las computadoras en la escala de la inteligencia humana. Pero la automatización de tareas evaluativas y predictivas ha tenido cada vez más éxito como sustituto de la supervisión e intervención humanas en dominios de aplicaciones informáticas que involucran datos complejos del mundo real.

Arquitectura y organización informática

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 funciona internamente y accede a las direcciones en la memoria. [47] 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 en el 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í. [48] 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 de acceso aleatorio paralelo . [49] Cuando se conectan varias computadoras en una red mientras se usa 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 se puede intercambiar para lograr objetivos comunes. [50]

Red de computadoras

Esta rama de la informática tiene como objetivo administrar redes entre computadoras en todo el mundo.

Seguridad informática y criptografía

La seguridad informática es una rama de la tecnología informática con el objetivo de proteger la información del acceso no autorizado, la interrupción o la modificación 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 problemas relacionados con cálculos distribuidos que pueden ser atacados. [51] Tecnologías estudió en la criptografía moderna incluyen simétrica y asimétrica cifrado , firmas digitales , las funciones hash criptográficas , protocolos clave del acuerdo , blockchain , pruebas de conocimiento cero y circuitos ilegibles .

Bases de datos y minería de datos

Una base de datos está diseñada para 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 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.

Gráficos y visualización por computadora

La infografía es el estudio de contenidos visuales digitales e implica 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 la forma de imágenes, sonido, video u otro tipo de multimedia. Se pueden transmitir bits 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 la información independientemente del tipo de portador 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 de voz , entre otras.¿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 de la informática teórica .

Ciencias de la computación aplicadas

Ciencias computacionales, finanzas e ingeniería

La computación científica (o ciencia computacional ) es el campo de estudio relacionado con la construcción de modelos matemáticos y técnicas de análisis cuantitativo y el uso de computadoras para analizar y resolver problemas científicos . Un uso importante de la computación científica es la simulación de varios procesos, incluida la dinámica de fluidos computacional , los sistemas y circuitos físicos, eléctricos y electrónicos, así como las sociedades y situaciones sociales (especialmente los juegos de guerra) junto con sus hábitats, entre muchos otros. Las computadoras modernas permiten la optimización de diseños como aviones completos. Destacan en el diseño de circuitos eléctricos y electrónicos SPICE, [52]así como software para la realización física de diseños nuevos (o modificados). Este último incluye software de diseño esencial para circuitos integrados . [53]

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, fácil de mantener y rápido de construir. Es un enfoque sistemático para el diseño de software, que implica la aplicación de prácticas de ingeniería al software. La ingeniería de software se ocupa de la organización y el análisis del software; no solo se ocupa de la creación o fabricación de nuevo software, sino de su organización y mantenimiento internos. Por ejemplo , pruebas de software , ingeniería de sistemas , deuda técnica y procesos de desarrollo de software .

Descubrimientos

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

  • La intuición de Gottfried Wilhelm Leibniz , George Boole , Alan Turing , Claude Shannon y Samuel Morse : sólo hay dos objetos con los que una computadora tiene que lidiar para representar "cualquier cosa". [nota 4]
Toda la información sobre cualquier problema computable se puede representar usando solo 0 y 1 (o cualquier otro par biestable que pueda cambiar entre dos estados fácilmente distinguibles, como "encendido / apagado", "magnetizado / desmagnetizado", "alto -tensión / baja tensión ", etc.).
  • Perspectiva de Alan Turing : sólo hay cinco acciones que una computadora debe realizar para hacer "cualquier cosa".
Cada algoritmo puede expresarse en un lenguaje para una computadora que consta de solo cinco instrucciones básicas: [55]
  • muévase a la izquierda una ubicación;
  • muévase a la derecha una ubicación;
  • leer el símbolo en la ubicación actual;
  • imprime 0 en la ubicación actual;
  • imprimir 1 en la ubicación actual.
  • Perspectiva de Corrado Böhm y Giuseppe Jacopini: solo hay tres formas de combinar estas acciones (en otras más complejas) que son necesarias para que una computadora pueda hacer "cualquier cosa". [56]
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 tal o cual es el caso, ENTONCES haga esto, ELSE haga lo otro;
  • repetición : MIENTRAS tal y tal es el caso, HAGA esto.
Tenga en cuenta que 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 formas. Los paradigmas de programación comunes incluyen:

  • Programación funcional , un estilo de construcción de la estructura y los elementos de los programas de computadora que trata la computación como la evaluación de funciones matemáticas y evita estados y 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 declaraciones. [57]
  • Programación imperativa , un paradigma de programación que utiliza declaraciones que cambian el estado de un programa. [58] De la misma manera que el modo imperativo en los lenguajes naturales expresa comandos, un programa imperativo consiste en comandos que debe ejecutar la computadora. La programación imperativa se centra en describir cómo funciona un programa.
  • Programación orientada a objetos , un paradigma de programación basado en el concepto de "objetos", que pueden contener datos, en forma de campos, a menudo conocidos como atributos; y código, en forma de procedimientos, a menudo conocidos como métodos. Una característica de los objetos es que los procedimientos de un objeto pueden acceder y, a menudo, modificar los campos de datos del objeto con el que están asociados. Por lo tanto, los programas de computadora orientados a objetos están hechos de objetos que interactúan entre sí. [59]
  • Programación orientada a servicios , un paradigma de programación que utiliza "servicios" como la unidad de trabajo de la computadora, para diseñar e implementar aplicaciones comerciales 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. [60]

Academia

Las conferencias son eventos importantes para la investigación en ciencias de la computación. Durante estas jornadas, investigadores del sector público y privado presentan su trabajo reciente y se reúnen. A diferencia de la mayoría de los otros campos académicos, en la informática, el prestigio de los artículos de conferencias es mayor que el de las publicaciones en revistas. [61] [62] 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. [63]

Educación

La informática , 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 , las tarjetas de marcación sensibles y la cinta de papel, pero generalmente a unos pocos estudiantes selectos. [64] En 1981, la BBC produjo un micro-ordenador y la red de aulas e Informática se convirtió en común para la CME o Nivel estudiantes (11-16 años de edad), y Ciencias de la Computación a nivel A los estudiantes. Se reconoció su importancia y se convirtió en parte obligatoria del Currículo 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. [65]

En los EE . UU. , Con 14.000 distritos escolares decidiendo el plan de estudios, la provisión se fracturó. [66] Según un informe de 2010 de la Asociación de Maquinaria de Computación (ACM) y la Asociación de Maestros de Ciencias de la Computación (CSTA), solo 14 de 50 estados han adoptado estándares educativos significativos para la informática de la escuela secundaria. [67]

Israel, Nueva Zelanda y Corea del Sur han incluido la informática en sus planes de estudios nacionales de educación secundaria, [68] [69] y varios otros lo están siguiendo. [70]

Ver también

  • Comercio algorítmico
  • Ingeniería Informática
  • Ciencia computacional e ingeniería
  • Revolución digital
  • Tecnología de información y comunicaciones
  • Tecnologías de la información
  • Lista de informáticos
  • Lista de premios de informática
  • Lista de publicaciones importantes en informática
  • Lista de pioneros en informática
  • Lista de problemas no resueltos en informática
  • Lista de términos relacionados con algoritmos y estructuras de datos
  • Lenguaje de programación
  • Ingeniería de software
  • WYSIWIS

Notas

  1. ^ En 1851
  2. ^ "La introducción de tarjetas perforadas en el nuevo motor fue importante no solo como una forma de control más conveniente que los tambores, o porque los programas ahora podían tener una extensión ilimitada, 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 la sensación de Babbage de que había 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 dado arbitrario eventualmente terminará o se ejecutará para siempre (el problema de la detención ).

Referencias

  1. ^ "¿Qué es la informática? - Informática. La Universidad de York" . www.cs.york.ac.uk . Consultado el 11 de junio de 2020 .
  2. ^ "Búsqueda de WordNet — 3.1" . Wordnetweb.princeton.edu . Consultado el 14 de mayo de 2012 .
  3. ^ "Definición de informática | Dictionary.com" . www.dictionary.com . Consultado el 11 de junio de 2020 .
  4. ^ Harel, David. (2014). Algoritmos El espíritu de la informática . Springer Berlín. ISBN 978-3-642-44135-6. OCLC  876384882 .
  5. ^ La prensa del MIT. "¿Qué se puede automatizar? Estudio de investigación en ingeniería y ciencias de la computación | The MIT Press" . mitpress.mit.edu .
  6. ^ "Instituto Charles Babbage: ¿Quién era Charles Babbage?" . cbi.umn.edu . Consultado el 28 de diciembre de 2016 .
  7. ^ "Ada Lovelace | Motor Babbage | Museo de Historia de la Computación" . www.computerhistory.org . Consultado el 28 de diciembre de 2016 .
  8. ^ "Wilhelm Schickard - Ein Computerpionier" (PDF) (en alemán).
  9. ^ Keates, Fiona (25 de junio de 2012). "Una breve historia de la informática" . El repositorio . La Royal Society.
  10. ^ "Museo de la ciencia, motor analítico de Babbage, 1834-1871 (modelo de prueba)" . Consultado el 11 de mayo de 2020 .
  11. ↑ a b Anthony Hyman (1982). Charles Babbage, pionero de la informática .
  12. ^ "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 .
  13. ^ "La 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 .
  14. ^ "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)
  15. ^ Brian Randell , p. 187, 1975
  16. ^ La Asociación de Maquinaria de Computación (ACM) se fundó en 1947.
  17. ^ "Archivos de IBM: 1945" . Ibm.com . Consultado el 19 de marzo de 2019 .
  18. ^ "IBM100 - Los orígenes de la informática" . Ibm.com. 15 de septiembre de 1995 . Consultado el 19 de marzo de 2019 .
  19. ↑ a b c Denning, Peter J. (2000). "Informática: la disciplina" (PDF) . Enciclopedia de Ciencias de la Computación . Archivado desde el original (PDF) el 25 de mayo de 2006.
  20. ^ "Algunas estadísticas de EDSAC" . Universidad de Cambridge . Consultado el 19 de noviembre de 2011 .
  21. ^ "El pionero de la informática Samuel D. Conte muere a los 85" . Ciencias de la Computación de Purdue. 1 de julio de 2002 . Consultado el 12 de diciembre de 2014 .
  22. ↑ a b Tedre, Matti (2014). La ciencia de la informática: dar forma a una disciplina . Taylor y Francis / CRC Press.
  23. ↑ a b Louis Fine (1959). "El papel de la universidad en informática, procesamiento de datos y campos relacionados". Comunicaciones de la ACM . 2 (9): 7–14. doi : 10.1145 / 368424.368427 . S2CID 6740821 . 
  24. ^ "Historia oral de la Universidad de Stanford" . Universidad de Stanford . Consultado el 30 de mayo de 2013 .
  25. ^ Donald Knuth (1972). "George Forsythe y el desarrollo de la informática" . Comms. ACM . Archivado el 20 de octubre de 2013 en la Wayback Machine.
  26. ^ Matti Tedre (2006). "El desarrollo de la informática: una perspectiva sociocultural" (PDF) . pag. 260 . Consultado el 12 de diciembre de 2014 .
  27. ^ Peter Naur (1966). "La ciencia de la datalogía". Comunicaciones de la ACM . 9 (7): 485. doi : 10.1145 / 365719.366510 . S2CID 47558402 . 
  28. ^ Weiss, EA; Corley, Henry PT "Cartas al editor". Comunicaciones de la ACM . 1 (4): 6. doi : 10.1145 / 368796.368802 . S2CID 5379449 . 
  29. ^ Comunicaciones del ACM 2 (1): p.4
  30. ^ Computadora IEEE 28 (12): p.136
  31. ^ 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.
  32. ^ Groth, Dennis P. (febrero de 2010). "¿Por qué una Licenciatura en Informática?" . Comunicaciones de la ACM . Cacm.acm.org.
  33. ^ Tedre, M. (2011). "Computación como ciencia: una encuesta de puntos de vista en competencia". Mentes y Máquinas . 21 (3): 361–387. doi : 10.1007 / s11023-011-9240-4 . S2CID 14263916 . 
  34. ^ 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, […]"
  35. ^ a b c d e f g https://plato.stanford.edu/entries/computer-science/#EpisStatCompScie
  36. ^ Wegner, P. (13 al 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.
  37. ^ Denning, PJ; Comer, DE; Gries, D .; Mulder, MC; Tucker, A .; Turner, AJ; Young, PR (enero de 1989). "Computación como disciplina". Comunicaciones de la ACM . 32 : 9-23. doi : 10.1145 / 63238.63239 . S2CID 723103 . 
  38. ^ 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.   
  39. ^ Turner, Raymond; Angius, Nicola (2019). "La filosofía de la informática" . En Zalta, Edward N. (ed.). La Enciclopedia de Filosofía de Stanford .
  40. ^ a b "Ciencias de la computación 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 .
  41. ^ Comité sobre los fundamentos de la informática: desafíos y oportunidades, Consejo Nacional de Investigación (2004). Informática: Reflexiones sobre el terreno, Reflexiones sobre el terreno . Prensa de Academias Nacionales. ISBN 978-0-309-09301-9.
  42. ^ "Educación informática líder de CSAB" . CSAB. 3 de agosto de 2011 . Consultado el 19 de noviembre de 2011 .
  43. ^ Clay Mathematics Institute P = NP Archivado el 14 de octubre de 2013 en la Wayback Machine.
  44. ^ P. Collins, Graham (14 de octubre de 2002). "Claude E. Shannon: fundador de la teoría de la información" . Scientific American . Consultado el 12 de diciembre de 2014 .
  45. ^ Van-Nam Huynh; Vladik Kreinovich; Songsak Sriboonchitta; 2012. Análisis de incertidumbre en econometría con aplicaciones. Springer Science & Business Media. pag. 63. ISBN 978-3-642-35443-4 . 
  46. ^ Phillip A. Laplante, 2010. Enciclopedia de conjunto de tres volúmenes de ingeniería de software (impresión). Prensa CRC. pag. 309. ISBN 978-1-351-24926-3 . 
  47. ^ A. Thisted, Ronald (7 de abril de 1997). "Arquitectura informática" (PDF) . Universidad de Chicago.
  48. ^ Jiacun Wang, 2017. Sistemas integrados en tiempo real. Wiley. pag. 12. ISBN 978-1-119-42070-5 . 
  49. ^ Gordana Dodig-Crnkovic; Raffaela Giovagnoli; 2013. Computación de la naturaleza: perspectiva del centenario de Turing. Springer Science & Business Media. pag. 247. ISBN 978-3-642-37225-4 . 
  50. ^ Simon Elias Bibri; 2018. Ciudades inteligentes y sostenibles del futuro: el potencial sin explotar de la analítica de Big Data y la informática sensible al contexto para promover la sostenibilidad. Saltador. pag. 74. ISBN 978-3-319-73981-6 . 
  51. ^ 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 .
  52. ^ 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 . 
  53. ^ "¿Qué es un circuito integrado (IC)? Un componente vital de la electrónica moderna" . WhatIs.com . Consultado el 15 de noviembre de 2021 .
  54. ^ Rapaport, William J. (20 de septiembre de 2013). "¿Qué es la Computación?" . Universidad Estatal de Nueva York en Buffalo.
  55. ^ B. Jack Copeland, 2012. Cerebro electrónico de Alan Turing: La lucha para construir el ACE, la computadora más rápida del mundo. OUP Oxford. pag. 107. ISBN 978-0-19-960915-4 . 
  56. ^ Charles W. Herbert, 2010. Introducción a la programación con Alice 2.2. Aprendizaje Cengage. pag. 122. ISBN 0-538-47866-7 . 
  57. ^ Md. 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 . 
  58. ^ Lex Sheehan, 2017. Aprendizaje de programación funcional en Go: cambie la forma en que aborda sus aplicaciones mediante la programación funcional en Go. Packt Publishing Ltd. pág. 16. ISBN 978-1-78728-604-7 . 
  59. ^ Evelio Padilla, 2015. Sistemas de automatización de subestaciones: diseño e implementación. Wiley. pag. 245. ISBN 978-1-118-98730-8 . 
  60. ^ "Lenguaje de programación de múltiples paradigmas" . developer.mozilla.org . Fundación Mozilla . Archivado desde el original el 21 de agosto de 2013.
  61. ^ Meyer, Bertrand (abril de 2009). "Punto de vista: Evaluación de la investigación para la informática". Comunicaciones de la ACM . 25 (4): 31–34. doi : 10.1145 / 1498765.1498780 . S2CID 8625066 . 
  62. ^ Patterson, David (agosto de 1999). "Evaluación de ingenieros y científicos informáticos para la promoción y la tenencia" . Asociación de Investigación en Computación.
  63. ^ Fortnow, Lance (agosto de 2009). "Punto de vista: tiempo para que la informática crezca" . Comunicaciones de la ACM . 52 (8): 33–35. doi : 10.1145 / 1536616.1536631 .
  64. ^ Burns, Judith (3 de abril de 2016). "Ciencias de la computación al estilo de los años setenta" . Consultado el 9 de febrero de 2019 .
  65. ^ Jones, Michael (octubre de 1915). "Desarrollo de un plan de estudios de informática en Inglaterra: explorando enfoques en los Estados Unidos" (PDF) . Fideicomiso en memoria de Winston Churchill . Consultado el 9 de febrero de 2019 .
  66. ^ "Ciencias de la computación: ya no es solo una optativa" . Semana de la Educación . 25 de febrero de 2014.
  67. ^ Wilson, Cameron; Sudol, Leigh Ann; Stephenson, Chris; Stehlik, Mark (2010). "Corriendo en vacío: el fracaso en la enseñanza de la informática K-12 en la era digital" (PDF) . ACM.
  68. ^ "A es para algoritmo" . The Economist . 26 de abril de 2014.
  69. ^ "Computación en comparaciones internacionales de la escuela" (PDF) . Consultado el 20 de julio de 2015 .
  70. ^ "Agregar codificación al plan de estudios" . The New York Times . 23 de marzo de 2014.

Otras lecturas

Visión general

  • Tucker, Allen B. (2004). Manual de Ciencias de la Computación (2ª ed.). Chapman y Hall / CRC. ISBN 978-1-58488-360-9.
    • "En más de 70 capítulos, cada uno nuevo o significativamente revisado, se puede encontrar cualquier tipo de información y referencias sobre informática que se pueda imaginar. […] En general, no hay absolutamente nada sobre informática que no se pueda encontrar en la enciclopedia de 2,5 kilogramos con sus 110 artículos de encuesta […] ". (Christoph Meinel, Zentralblatt MATH )
  • van Leeuwen, Jan (1994). Manual de Informática Teórica . La prensa del MIT. ISBN 978-0-262-72020-5.
    • "[…] Este conjunto es el más exclusivo y posiblemente el más útil para la comunidad [informática teórica], en apoyo tanto de la enseñanza como de la investigación […]. Los libros pueden ser utilizados por cualquiera que desee simplemente obtener una comprensión de uno de estas áreas, o por alguien que desee estar en una investigación sobre un tema, o por instructores que deseen encontrar información oportuna sobre un tema que están enseñando fuera de sus áreas principales de especialización ". (Rocky Ross, Noticias SIGACT )
  • Ralston, Anthony ; Reilly, Edwin D .; Hemmendinger, David (2000). Enciclopedia de Ciencias de la Computación (4ª ed.). Diccionarios de Grove. ISBN 978-1-56159-248-7.
    • "Desde 1976, esta ha sido la obra de referencia definitiva en informática, informática y ciencias de la computación. […] Ordenadas alfabéticamente y clasificadas en áreas temáticas amplias, las entradas abarcan hardware, sistemas informáticos, información y datos, software, las matemáticas de la informática , teoría de la computación, metodologías, aplicaciones y medio informático. Los editores han realizado un trabajo encomiable al combinar la perspectiva histórica y la información de referencia práctica. La enciclopedia sigue siendo esencial para la mayoría de las colecciones de referencia de bibliotecas públicas y académicas ". (Joe Accardin, Universidad del Noreste de Illinois, Chicago)
  • Edwin D. Reilly (2003). Hitos en informática y tecnologías de la información . Grupo editorial de Greenwood. ISBN 978-1-57356-521-9.

Literatura seleccionada

  • Knuth, Donald E. (1996). Artículos seleccionados sobre informática . Publicaciones de CSLI, Cambridge University Press .
  • Collier, Bruce (1990). El pequeño motor que podría haberlo hecho: las máquinas calculadoras de Charles Babbage . ISBN de Garland Publishing Inc. 978-0-8240-0043-1.
  • Cohen, Bernard (2000). Howard Aiken, Retrato de un pionero de la informática . La prensa del MIT. ISBN 978-0-262-53179-5.
  • Tedre, Matti (2014). La ciencia de la informática: dar forma a una disciplina . CRC Press, Taylor y Francis .
  • Randell, Brian (1973). Los orígenes de las computadoras digitales, artículos seleccionados . Springer-Verlag. ISBN 978-3-540-06169-4.
    • "Abarcando un período de 1966 a 1993, su interés radica no solo en el contenido de cada uno de estos artículos, que siguen siendo de actualidad en la actualidad, sino también en que estén reunidos para que las ideas expresadas en diferentes momentos se complementen entre sí". (N. Bernard, Zentralblatt MATEMÁTICAS )

Artículos

  • Peter J. Denning. ¿Es la ciencia de la computación? , Comunicaciones de la ACM, abril de 2005.
  • Peter J. Denning, Grandes principios en los planes de estudio de la informática , Simposio técnico sobre educación en ciencias de la computación, 2004.
  • Evaluación de la investigación para ciencias de la computación, Informe de Informatics Europe Archivado el 18 de octubre de 2017 en Wayback Machine . Versión de revista más corta: Bertrand Meyer, Christine Choppy, Jan van Leeuwen y Jorgen Staunstrup, Evaluación de la investigación para ciencias de la computación , en Communications of the ACM , vol. 52, no. 4, págs. 31–34, abril de 2009.

Plan de estudios y clasificación

  • Asociación de Maquinaria Informática . 1998 Sistema de clasificación informática ACM . 1998.
  • Grupo de trabajo conjunto de la Asociación de Maquinaria de Computación (ACM), la Asociación de Sistemas de Información (AIS) y la Sociedad de Computación IEEE (IEEE CS). Cursos de informática 2005: Informe general . 30 de septiembre de 2005.
  • Norman Gibbs , Allen Tucker. "Un plan de estudios modelo para una licenciatura en artes liberales en informática". Communications of the ACM , Volume 29 Issue 3, marzo de 1986.

enlaces externos

  • Ciencias de la computación en Curlie
  • Sociedades académicas en informática
  • ¿Qué es la informática?
  • Premios a los mejores trabajos en informática desde 1996
  • Fotografías de informáticos de Bertrand Meyer
  • EECS.berkeley.edu

Bibliografía y buscadores académicos

  • CiteSeer x ( artículo ): motor de búsqueda, biblioteca digital y repositorio de artículos científicos y académicos con enfoque en informática y ciencias de la información.
  • DBLP Computer Science Bibliography ( artículo ): sitio web de bibliografía informática alojado en la Universität Trier, en Alemania.
  • La Colección de Bibliografías de Ciencias de la Computación ( Colección de Bibliografías de Ciencias de la Computación )

Organizaciones profesionales

  • Asociación para Maquinaria de Computación
  • Sociedad de Informática IEEE
  • Europa de la informática
  • AAAI
  • Ciencias de la Computación AAAS

Misc

  • Ciencias de la computación — Stack Exchange : un sitio de preguntas y respuestas administrado por la comunidad para ciencias de la computación
  • Que es la informática
  • ¿Es la ciencia de la computación?
  • La informática (software) debe considerarse una disciplina independiente.
Obtenido de " https://en.wikipedia.org/w/index.php?title=Computer_science&oldid=1056411809#Education "