Ciencias de la Computación


Definición


gran capital lambdaArgumento de un algoritmo de quicksort
Tetera de Utah que representa gráficos de computadoraRatón de Microsoft Tastenmaus que representa la interacción humano-computadora

La informática se ocupa de los fundamentos teóricos de la información y la computación, junto con técnicas prácticas para la implementación y aplicación de estas bases.
La informática  es el estudio de la teoría, la experimentación y la ingeniería que forman la base para el diseño y uso de las computadoras. Es el enfoque científico y práctico de la computación y sus aplicaciones y el estudio sistemático de la viabilidad, estructura, expresión y mecanización de los procedimientos (o algoritmos) metódicos que subyacen a la adquisición, representación, procesamiento, almacenamiento, comunicación y acceso. a, información. Una definición alternativa, más sucinta de informática es el estudio de la automatización de procesos algorítmicos que escala. Un científico de la computación se especializa en la teoría de la computación y el diseño de sistemas computacionales. Véase el glosario de ciencias de la computación.
Sus campos se pueden dividir en una variedad de disciplinas teóricas y prácticas. Algunos campos, como la teoría de la complejidad computacional (que explora las propiedades fundamentales de los problemas computacionales e intratables), son muy abstractos, mientras que los campos, como los gráficos por computadora, resaltan las aplicaciones visuales del mundo real. Otros campos todavía se centran en los desafíos para implementar el cálculo. Por ejemplo, la teoría del lenguaje de programación considera varios enfoques para la descripción de la computación, mientras que el estudio de la programación informática en sí investiga varios aspectos del uso del lenguaje de programación y los sistemas complejos. La interacción humano-computadora considera los desafíos para hacer que las computadoras y los cómputos sean útiles, utilizables y universalmente accesibles para los humanos.

Historia


Charles Babbage a veces se refiere como "padre de la computación".

Ada Lovelace tiene el crédito de haber escrito el primer algoritmo diseñado para procesar en una computadora.
Los primeros fundamentos de lo que se convertiría en ciencias de la computación son anteriores a la invención de la computadora digital moderna. 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. Además, los algoritmos para realizar cálculos han existido desde la antigüedad, incluso antes del desarrollo de sofisticados equipos informáticos.
Wilhelm Schickard diseñó y construyó la primera calculadora mecánica funcional en 1623. En 1673, Gottfried Leibniz demostró una calculadora mecánica digital, llamada Steped Reckoner. Se le puede considerar el primer científico informático y teórico de la información, entre otras cosas, porque documenta el sistema de números binarios. En 1820, Thomas de Colmar lanzó la industria de la calculadora mecánica cuando lanzó su aritmometro simplificado, que fue 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 motor de diferencia, en 1822, que finalmente le dio la idea de la primera  calculadora mecánica programable, su motor analítico. 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". "Un paso crucial fue la adopción de un sistema de tarjeta perforada derivado del telar Jacquard" que lo hace infinitamente programable. 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 programa de computadora. Alrededor de 1885, Herman Hollerith inventó el tabulador, que usaba tarjetas perforadas para procesar información estadística; finalmente su compañía se convirtió en parte de IBM. En 1937, cien años después del sueño imposible de Babbage, Howard Aiken convenció a IBM, que estaba fabricando todo tipo de equipos de tarjetas perforadas y también estaba en el negocio de las calculadoras para desarrollar su calculadora programable gigante, la ASCC / Harvard Mark I, basada en el motor analítico de Babbage, que a su vez usaba tarjetas y una unidad central de computación. Cuando la máquina se terminó, algunos lo aclamaron como "el sueño de Babbage hecho realidad".
Durante la década de 1940, a medida que se desarrollaban máquinas informáticas nuevas y más potentes, el término  computadora llegó a referirse a las máquinas en lugar de a sus predecesores humanos. Cuando 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 el cálculo en general. La informática comenzó a establecerse como una disciplina académica distinta en los años cincuenta y principios de los sesenta. El primer programa universitario de ciencias de la computación, 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 programa de licenciatura en informática en los Estados Unidos se formó en la Universidad Purdue en 1962. Desde que las computadoras prácticas estuvieron disponibles, muchas aplicaciones de la informática se han convertido en distintas áreas de estudio en sus propios derechos.
Aunque inicialmente muchos creían que era imposible que las computadoras en sí mismas pudieran ser un campo de estudio científico, a fines de la década de los cincuenta se fue aceptando gradualmente entre la mayor población académica. Es la marca de IBM ahora bien conocida que formó parte de la revolución de la informática durante este tiempo. IBM (abreviatura de International Business Machines) lanzó la IBM 704 y más tarde las computadoras IBM 709, que fueron ampliamente utilizadas durante el período de exploración de dichos dispositivos. "De todos modos, trabajar con la [computadora] de IBM era frustrante [...] si te equivocaste tanto como una letra en una instrucción, el programa se bloqueaba, y tendrías que comenzar todo el proceso otra vez". A fines de la década de 1950, la disciplina de la ciencia de la computación estaba en sus etapas de desarrollo, y tales problemas eran comunes.
El tiempo ha visto mejoras significativas en la usabilidad y efectividad de la tecnología informática. La sociedad moderna ha visto un cambio significativo en los usuarios de la tecnología informática, desde el uso exclusivo de expertos y profesionales hasta una base de usuarios casi ubicua. Inicialmente, las computadoras eran bastante costosas, y se necesitaba cierto grado de ayuda humana para un uso eficiente, en parte de los operadores de computadoras profesionales. A medida que la adopción por computadora se generalizó y se hizo más accesible, se necesitó menos asistencia humana para el uso común.

Contribuciones


El ejército alemán utilizó la máquina Enigma (que se muestra aquí) durante la Segunda Guerra Mundial para las comunicaciones que querían mantener en secreto. El descifrado a gran escala del tráfico de Enigma en Bletchley Park fue un factor importante que contribuyó a la victoria de los Aliados en la Segunda Guerra Mundial.
A pesar de su corta historia como disciplina académica formal, la informática ha hecho una serie de contribuciones fundamentales a la ciencia y la sociedad; de hecho, junto con la electrónica, es una ciencia fundadora de la época actual de la historia humana llamada Information Age y un conductor de la revolución de la información, visto como el tercer gran salto en el progreso tecnológico humano después de la Revolución Industrial (1750-1850 CE) y la Revolución Agrícola (8000-5000 aC).
Estas contribuciones incluyen:
  • El inicio de la "revolución digital", que incluye la era de la información actual e Internet.
  • Una definición formal de cómputo y computabilidad, y una prueba de que hay problemas insolubles e intratables.
  • El concepto de un lenguaje de programación, una herramienta para la expresión precisa de información metodológica en varios niveles de abstracción.
  • En la criptografía, romper el código Enigma fue un factor importante que contribuyó a la victoria de los Aliados en la Segunda Guerra Mundial.
  • La computación científica permitió la evaluación práctica de procesos y situaciones de gran complejidad, así como la experimentación enteramente por software. También permitió el estudio avanzado de la mente, y el mapeo del genoma humano se hizo posible con el Proyecto del Genoma Humano. Los proyectos informáticos distribuidos como Folding @ home exploran el plegamiento de proteínas.
  • El comercio algorítmico ha aumentado la eficiencia y la liquidez de los mercados financieros mediante el uso de la inteligencia artificial, el aprendizaje automático y otras técnicas estadísticas y numéricas a gran escala. El comercio algorítmico de alta frecuencia también puede exacerbar la volatilidad.
  • Los gráficos por computadora y las imágenes generadas por computadora se han vuelto omnipresentes en el entretenimiento moderno, particularmente en televisión, cine, publicidad, animación y videojuegos. Incluso las películas que no tienen CGI explícito generalmente se "filman" ahora en cámaras digitales, o se editan o se procesan posteriormente utilizando un editor de video digital.
  • Simulación de varios procesos, incluyendo dinámica de fluidos computacional, sistemas y circuitos físicos, eléctricos y electrónicos, así como sociedades y situaciones sociales (especialmente juegos de guerra) junto con sus hábitats, entre muchos otros. Las computadoras modernas permiten la optimización de tales diseños como aviones completos. Notables en el diseño de circuitos eléctricos y electrónicos son SPICE, así como también software para la realización física de diseños nuevos (o modificados). Este último incluye software de diseño esencial para circuitos integrados.
  • La inteligencia artificial se está volviendo cada vez más importante a medida que se vuelve más eficiente y compleja. Hay muchas aplicaciones de AI, algunas de las cuales se pueden ver en casa, como las aspiradoras robóticas. También está presente en los videojuegos y en el moderno campo de batalla de drones, sistemas antimisiles y robots de apoyo de escuadrones.
  • La interacción humano-computadora combina nuevos algoritmos con estrategias de diseño que permiten un rápido desempeño humano, bajas tasas de error, facilidad de aprendizaje y alta satisfacción. Los investigadores utilizan la observación etnográfica y la recolección de datos automatizada para comprender las necesidades del usuario, luego realizan pruebas de usabilidad para refinar los diseños. Las innovaciones clave incluyen la manipulación directa, enlaces web seleccionables, diseños de pantalla táctil, aplicaciones móviles y realidad virtual.

Etimología

Aunque se propuso por primera vez en 1956, el término "ciencias de la computación" aparece en un artículo de 1959 en  Communications of the ACM , 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, justificando el nombre argumentando que, al igual que la ciencia de la gestión, el tema es aplicado y de naturaleza interdisciplinaria, al tiempo que tiene las características típicas de una disciplina académica. Sus esfuerzos, y los de otros como el analista numérico George Forsythe, fueron recompensados: las universidades continuaron creando tales programas, comenzando con Purdue en 1962. A pesar de su nombre, una cantidad significativa de ciencias de la computación no involucra el estudio de las computadoras mismas. Debido a esto, se han propuesto varios nombres alternativos. Ciertos departamentos de las principales universidades prefieren el término  ciencia de la computación , para enfatizar precisamente esa diferencia. El científico danés Peter Naur sugirió el término  datalogy, para reflejar el hecho de que la disciplina científica gira en torno al tratamiento de datos y datos, aunque no necesariamente involucra computadoras. La primera institución científica en utilizar el término fue el Departamento de Datalogy de la Universidad de Copenhague, fundado en 1969, siendo Peter Naur el primer profesor en datalogy. El término se usa principalmente en los países escandinavos. Un término alternativo, también propuesto por Naur, es ciencia de datos; esto ahora se usa para un campo distinto de análisis de datos, que incluye estadísticas y bases de datos.
Además, en los primeros días de la informática, se sugirieron una serie de términos para los profesionales del campo de la informática en las  Comunicaciones del ACM - turingineer ,  turologist ,  flow-charts-man ,  meta-matemático aplicado y  epistemólogo aplicado . Tres meses después, en la misma revista,   se sugirió el oficio de compticólogo , seguido el año siguiente por el  hipólogo . El término  computics  también ha sido sugerido. En Europa, los términos derivados de las traducciones contraídas de la expresión "información automática" (por ejemplo, "información automática" en italiano) o "información y matemática" se utilizan a menudo, por ejemplo,  informatique  (francés),  Informatik  (alemán),  informatica  (italiano, holandés) ),  informática (español, portugués),  informatika  (eslava languagesand húngaro) o  Pliroforiki  ( πληροφορική , lo que significa la informática) en griego. Palabras similares también han sido adoptadas en el Reino Unido (como en  la Escuela de Informática de la Universidad de Edimburgo)"En los Estados Unidos, sin embargo, la informática está relacionada con la computación aplicada o informática en el contexto de otro dominio".
Una cita folclórica, a menudo atribuida a, pero casi con certeza, no formulada primero por Edsger Dijkstra, afirma que "la informática no trata más sobre computadoras que la astronomía sobre telescopios". El diseño y la implementación de computadoras y sistemas informáticos generalmente se consideran como parte de disciplinas distintas a la informática. Por ejemplo, el estudio del hardware suele considerarse 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 informática también suele cruzarse con otras disciplinas, como la filosofía, la ciencia cognitiva, la lingüística, las matemáticas, la física, la biología, las estadísticas y la lógica.
Algunos consideran que la informática tiene una relación mucho más estrecha con las matemáticas que muchas disciplinas científicas, y algunos observadores dicen que la informática es una ciencia matemática. La informática primitiva estuvo fuertemente influenciada por el trabajo de matemáticos como Kurt Gödel, Alan Turing, Rózsa Péter y la Iglesia Alonzo, y continúa existiendo un útil intercambio de ideas entre los dos campos en áreas como lógica matemática, teoría de categorías, teoría de dominios y álgebra.
La relación entre la ciencia de la computación y la ingeniería de software es un tema polémico, que está aún más enredado por las disputas sobre lo que significa el término "ingeniería de software" y cómo se define la ciencia de la computación. David Parnas, tomando nota de la relación entre otras disciplinas de ingeniería y 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 prácticas objetivos, haciendo las dos disciplinas separadas pero complementarias.
Los aspectos académicos, políticos y financieros de la informática tienden a depender de si un departamento se formó con énfasis matemático o con énfasis en ingeniería. Los departamentos de informática con énfasis en matemáticas y con una orientación numérica consideran la alineación con la ciencia computacional. Ambos tipos de departamentos tienden a hacer esfuerzos para cerrar el campo educativo, si no en todas las investigaciones.

Filosofía

Varios científicos informáticos han argumentado a favor de la distinción de tres paradigmas separados en ciencias de la computación. Peter Wegner argumentó que esos paradigmas son ciencia, tecnología y matemáticas. El grupo de trabajo de Peter Denning argumentó que son teoría, abstracción (modelado) y diseño. 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 la ingeniería enfoques, 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 inteligencia artificial).

Áreas de informática

Como disciplina, las ciencias de la computación abarcan una amplia gama de temas, desde estudios teóricos de algoritmos y los límites de la computación hasta cuestiones prácticas relacionadas con la implementación de sistemas informáticos en hardware y software. CSAB, anteriormente llamado Computing Sciences Accreditation Board, compuesto por representantes de la Association for Computing Machinery (ACM) y la IEEE Computer Society (IEEE CS), identifica cuatro áreas que considera cruciales para la disciplina de la informática: la  teoría de cómputo ,  algoritmos y estructuras de datos ,  metodología de programación e idiomas , y  elementos de computadora y arquitecturaAdemás de estas cuatro áreas, CSAB también identifica campos como ingeniería de software, inteligencia artificial, redes de computadoras y comunicación, sistemas de bases de datos, computación paralela, computación distribuida, interacción hombre-computadora, gráficos por computadora, sistemas operativos y computación numérica y simbólica como siendo áreas importantes de la informática.

Computación teórica

La informática teórica  es matemática y abstracta en espíritu, pero deriva su motivación de la computación práctica y cotidiana. Su objetivo es comprender la naturaleza de la  computación y, como consecuencia de esta comprensión, proporcionar metodologías más eficientes. Todos los estudios relacionados con conceptos y métodos matemáticos, lógicos y formales podrían considerarse como ciencia teórica de la computación, siempre que la motivación provenga claramente del campo de la  informática .

Estructuras de datos y algoritmos

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

O ( n )Clasificando quicksort anim.gifSingly linked list.pngTSP Deutschland 3.pngSimplexRangeSearching.svg
Análisis de algoritmosAlgoritmosEstructuras de datosOptimización combinatoriaGeometría Computacional

Teoría de la computación

Según Peter Denning, la pregunta fundamental que subyace en la ciencia de la computación es "¿Qué se puede (eficientemente) automatizar?" La teoría de la computación se centra en responder preguntas fundamentales sobre qué se puede calcular y qué cantidad de recursos se requieren para realizar esos cálculos. En un esfuerzo por responder a la primera pregunta, las teoryexaminas de computación que los problemas computacionales se pueden resolver en varios modelos teóricos de computación. La segunda pregunta es abordada por la teoría de 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 del Milenio, es un problema abierto en la teoría de la computación.

DFAexample.svgWang tiles.svgP = NP?GNITIRW-TERCESBlochsphere.svg
Teoría de autómatasTeoría de computabilidadTeoría de la complejidad computacionalCriptografíaTeoría de la computación cuántica

Teoría de información y codificación

La teoría de la información 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. La teoría de codificación es el estudio de las propiedades de los códigos (sistemas para convertir información de una forma a otra) y su aptitud para una aplicación específica. Los códigos se usan para compresión de datos, criptografía, detección y corrección de errores, y más recientemente también para codificación de red. Los códigos se estudian con el propósito de diseñar métodos de transmisión de datos eficientes y confiables.

Teoría del lenguaje de programación

La teoría del lenguaje 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. Entra dentro de la disciplina de la informática, que depende y afecta a las matemáticas, la ingeniería de software y la lingüística. Es un área de investigación activa, con numerosas revistas académicas dedicadas.

Compiler.svgPython add5 syntax.svg
Teoría de tiposDiseño del compiladorLenguajes de programación

Métodos formales

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. El uso de métodos formales para el diseño de software y hardware está motivado por la expectativa de que, como en otras disciplinas de ingeniería, la realización de análisis matemáticos adecuados puede contribuir a la fiabilidad y solidez de un diseño. Constituyen 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 del uso de métodos formales significa que, por lo general, 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 variedad bastante amplia de fundamentos teóricos de la informática, en particular cálculos lógicos, lenguajes formales, teoría de autómatas y semántica de programas, pero también tipos de tipos de datos algebraicos a problemas en las especificaciones de software y hardware y verificación.

Sistemas informáticos

Arquitectura de computadora e ingeniería informática

La arquitectura de la computadora, o la organización de la computadora digital, es el diseño conceptual y la estructura operativa fundamental de un sistema informático. Se enfoca principalmente en la forma en que la unidad de procesamiento central realiza internamente y accede a direcciones en la memoria. El campo a menudo involucra disciplinas de ingeniería informática e ingeniería eléctrica, seleccionando e interconectando componentes de hardware para crear computadoras que cumplen objetivos funcionales, de rendimiento y de costos.

NI ANSI.svgFivestagespipeline.pngSIMD.svg
Lógica digitalMicroarquitecturaMultiprocesamiento
Roomba original.jpgFlowchart.pngSistema operativo placement.svg
Computación ubicuaArquitectura de sistemasSistemas operativos

Análisis de rendimiento informático

El análisis del rendimiento informático es el estudio del trabajo que fluye a través de las computadoras con los objetivos generales de mejorar el rendimiento, controlar el tiempo de respuesta, utilizar los recursos de manera eficiente, eliminar los cuellos de botella y predecir el rendimiento bajo las cargas máximas anticipadas.

Sistemas concurrentes, paralelos y distribuidos

La concurrencia es una propiedad de sistemas en los que varios cálculos se ejecutan simultáneamente y potencialmente interactúan entre sí. Se han desarrollado una serie de modelos matemáticos para el cómputo simultáneo general que incluye redes de Petri, cálculos de proceso y el modelo de máquina de acceso aleatorio paralelo. Un sistema distribuido extiende la idea de concurrencia a múltiples computadoras conectadas a través de una red. Las computadoras dentro del mismo sistema distribuido tienen su propia memoria privada, y la información a menudo se intercambia entre ellos para lograr un objetivo común.

Red de computadoras

Esta rama de la ciencia de la computación 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, cuyo objetivo incluye la protección de la información contra el acceso no autorizado, la interrupción o la modificación, al tiempo que mantiene la accesibilidad y la facilidad de uso del sistema para los usuarios previstos. La criptografía es la práctica y el estudio de la ocultación (encriptación) y, por lo tanto, la información de descifrado (descifrado). La criptografía moderna está relacionada en gran medida con la informática, ya que muchos algoritmos de cifrado y descifrado se basan en su complejidad computacional.

Bases de datos

Una base de datos está destinada a organizar, almacenar y recuperar grandes cantidades de datos fácilmente. Las bases de datos digitales se administran utilizando sistemas de administració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.

Aplicaciones computacionales

Gráficos por computadora y visualización

Los gráficos por computadora son el estudio de los contenidos visuales digitales e implican la síntesis y manipulación de datos de imágenes. El estudio está conectado a 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 el campo de los efectos especiales y los videojuegos.

La interacción persona-ordenador

Investigación que desarrolla teorías, principios y directrices para diseñadores de interfaces de usuario, para que puedan crear experiencias de usuario satisfactorias con computadoras de escritorio, portátiles y dispositivos móviles.

Computación científica

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. En el uso práctico, es típicamente la aplicación de simulación por computadora y otras formas de computación a problemas en diversas disciplinas científicas.

Lorenz attractor yb.svgQuark wiki.jpgNaphthalene-3D-balls.png1u04-argonaute.png
Análisis numéricoFísica computacionalQuímica computacionalBioinformática

Inteligencia artificial

La inteligencia artificial (IA) tiene como objetivo o se requiere que sintetice procesos orientados a objetivos tales 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 cibernética y en la Conferencia de Dartmouth (1956), la investigación de inteligencia artificial ha sido necesariamente interdisciplinaria, basándose en áreas de especialización como matemáticas aplicadas, lógica simbólica, semiótica, ingeniería eléctrica, filosofía de la mente, neurofisiología y sociales. inteligencia. AI se asocia en la mente popular con el desarrollo robótico, pero el campo principal de la aplicación práctica ha sido como un componente integrado en las áreas de desarrollo de software, que requieren una comprensión computacional. El punto de partida a fines de la década de 1940 fue la pregunta de Alan Turing "¿Pueden las computadoras pensar?", y la pregunta permanece efectivamente sin respuesta aunque la prueba de Turing aún se usa para evaluar la producción de la computadora en la escala de la inteligencia humana. Pero la automatización de las tareas de evaluación y predicción ha sido cada vez más exitosa como un sustituto para el monitoreo humano y la intervención en dominios de aplicaciones informáticas que involucran datos complejos del mundo real.

Representación de Nicolas P. Rougier del cerebro humano.pngOjo humano, prestado desde Eye.pngCorner.png
Aprendizaje automáticoVisión por computadorProcesamiento de imágenes
KnnClassification.svgJulia iteration data.pngSky.png
Reconocimiento de patronesMinería de datosComputación evolutiva
Neuron.svgEnglish.pngHONDA ASIMO.jpg
Representación del conocimiento y razonamientoProcesamiento natural del lenguajeRobótica

Ingeniería de software

La ingeniería de software es el estudio de diseño, implementación y modificación de software para garantizar que sea de alta calidad, asequible, fácil de mantener y de construcción rápida. Es un enfoque sistemático para el diseño de software, que implica la aplicación de prácticas de ingeniería al software. La ingeniería de software se ocupa de la organización y el análisis del software; no se trata solo de la creación o fabricación de un nuevo software, sino de su mantenimiento y organización internos. Se prevé que tanto los ingenieros de software de aplicaciones informáticas como los ingenieros de software de sistemas informáticos se encuentren entre las ocupaciones de mayor crecimiento entre 2008 y 2018.

Las grandes ideas de la informática

El filósofo de la computación Bill Rapaport señaló tres  Grandes conocimientos de informática :
  • La visión de Gottfried Wilhelm Leibniz, George Boole, Alan Turing, Claude Shannon y Samuel Morse: solo hay  dos objetos con los  que una computadora tiene que lidiar para representar "cualquier cosa".
Toda la información sobre cualquier problema computable puede representarse 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"). "voltaje / bajo voltaje", etc.).
  • La visión de Alan Turing: solo hay  cinco acciones  que una computadora tiene que realizar para hacer "cualquier cosa".
Cada algoritmo se puede expresar en un idioma para una computadora que consta de solo cinco instrucciones básicas:
  • mover a la izquierda una ubicación;
  • mover a la derecha una ubicación;
  • leer el símbolo en la ubicación actual;
  • imprimir 0 en la ubicación actual;
  • imprime 1 en la ubicación actual.
  • La percepción 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 pueda hacer "cualquier cosa".
Solo se necesitan tres reglas para combinar cualquier conjunto de instrucciones básicas en otras más complejas:
  • secuencia : primero haz esto, luego haz eso;
  • selección : SI tal y tal es el caso, ENTONCES haga esto, MÁS haga eso;
  • 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).

Academia

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

Educación

Dado que la informática es un campo relativamente nuevo, no se enseña tan ampliamente en las escuelas y universidades como en otras materias académicas. Por ejemplo, en 2014, Code.org estimó que solo el 10 por ciento de las escuelas secundarias de los Estados Unidos ofrecían educación en ciencias de la computación. Un informe de 2010 de la Association for Computing Machinery (ACM) y Computer Computer Teachers Association (CSTA) reveló que solo 14 de los 50 estados han adoptado estándares educativos significativos para la informática de la escuela secundaria. Sin embargo, la educación en informática está creciendo. Algunos países, como Israel, Nueva Zelanda y Corea del Sur, ya han incluido la informática en sus respectivos planes de estudio nacionales de educación secundaria. Varios países están siguiendo su ejemplo.
En la mayoría de los países, existe una gran brecha de género en la educación en ciencias de la computación. Por ejemplo, en los Estados Unidos, alrededor del 20% de los títulos de ciencias de la computación en 2012 se otorgaron a mujeres. Esta brecha de género también existe en otros países occidentales. Sin embargo, en algunas partes del mundo, la brecha es pequeña o inexistente. En 2011, aproximadamente la mitad de todos los títulos de ciencias de la computación en Malasia se otorgaron a mujeres. En 2001, las mujeres constituían el 54.5% de los graduados en informática en Guyana.

Obtenido de: https://en.wikipedia.org/wiki/Computer_science