Saltar a navegación Saltar a búsqueda
La informática (también llamada ciencia de la computación ) es el estudio de los fundamentos teóricos de la información y la computación y su implementación y aplicación ensistemas informáticos . Un sistema de clasificación de materias muy conocido para las ciencias de la computación es el Sistema de Clasificación de Computación ACM ideado por la Asociación de Maquinaria de Computación .
¿Qué es la informática? [ editar ]
La informática se puede describir como todo lo siguiente:
Subcampos [ editar ]
Fundamentos matemáticos [ editar ]
- Teoría de la codificación : útil en redes, programación y otras áreas donde las computadoras se comunican entre sí.
- Teoría de juegos : útil en inteligencia artificial y cibernética .
- Matemáticas discretas
- Teoría de grafos : fundamentos para estructuras de datos y algoritmos de búsqueda.
- Lógica Matemática - lógica booleana y otras formas de modelado de consultas lógicas; los usos y limitaciones de los métodos de prueba formales
- Teoría de los números - Teoría de los números enteros . Se utiliza en criptografía y también como dominio de prueba en inteligencia artificial .
Algoritmos y estructuras de datos [ editar ]
- Algoritmos : procedimientos computacionales secuenciales y paralelos para resolver una amplia gama de problemas.
- Estructuras de datos : organización y manipulación de datos.
Inteligencia artificial [ editar ]
Esquema de la inteligencia artificial
- Inteligencia artificial : la implementación y el estudio de sistemas que exhiben una inteligencia autónoma o un comportamiento propio.
- Razonamiento automatizado : motores de resolución, como los utilizados en Prolog , que producen pasos para un resultado dada una consulta en una base de datos de hechos y reglas, y probadores de teoremas automatizados que tienen como objetivo probar teoremas matemáticos con la ayuda de un programador.
- Visión por computadora : algoritmos para identificar objetos tridimensionales a partir de una imagen bidimensional.
- Computación blanda , el uso de soluciones inexactas para problemas que de otro modo serían extremadamente difíciles:
- Aprendizaje automático: creación automatizada de un conjunto de reglas y axiomas basados en la entrada.
- Computación evolutiva : algoritmos de inspiración biológica.
- Procesamiento del lenguaje natural : sistemas y algoritmos de construcción que analizan, comprenden y generan lenguajes naturales (humanos).
- Robótica : algoritmos para controlar el comportamiento de los robots.
Comunicación y seguridad [ editar ]
- Redes : algoritmos y protocolos para comunicar datos de manera confiable a través de diferentes medios compartidos o dedicados, que a menudo incluyen corrección de errores .
- Seguridad informática : aspectos prácticos de la protección de sistemas informáticos y redes informáticas.
- Criptografía : aplica resultados de complejidad, probabilidad, álgebra y teoría de números para inventar y descifrar códigos y analizar la seguridad de los protocolos criptográficos .
Arquitectura informática [ editar ]
- Arquitectura de la computadora : el diseño, la organización, la optimización y la verificación de un sistema informático, principalmente sobre las CPU y el subsistema de memoria (y el bus que los conecta).
- Sistemas operativos : sistemas para administrar programas informáticos y proporcionar la base de un sistema utilizable.
Gráficos por computadora [ editar ]
- Gráficos por computadora : algoritmos tanto para generar imágenes visuales sintéticamente como para integrar o alterar información visual y espacial muestreada del mundo real.
- Procesamiento de imágenes : determinación de información de una imagen mediante cálculo.
- Visualización de información : métodos para representar y mostrar datos abstractos para facilitar la interacción humana para la exploración y la comprensión.
Sistemas concurrentes, paralelos y distribuidos [ editar ]
- Computación paralela : teoría y práctica de la computación simultánea; seguridad de los datos en cualquier entorno multitarea o multiproceso.
- Concurrencia (ciencias de la computación) : Computación usando múltiples subprocesos de ejecución concurrentes, ideando algoritmos para resolver problemas en múltiples procesadores para lograr una máxima aceleración en comparación con la ejecución secuencial.
- Computación distribuida : Computación que utiliza múltiples dispositivos informáticos a través de una red para lograr un objetivo o tarea común y, por lo tanto, reducir la latencia involucrada en las contribuciones de un solo procesador para cualquier tarea.
Bases de datos [ editar ]
Esquema de bases de datos
- Bases de datos relacionales - la teoría de conjunto y la base algorítmica de bases de datos.
- Almacenamiento estructurado : bases de datos no relacionales como bases de datos NoSQL .
- Minería de datos - Estudio de algoritmos para buscar y procesar información en documentos y bases de datos; estrechamente relacionado con la recuperación de información .
Lenguajes de programación y compiladores [ editar ]
- Compilador de la teoría - Teoría del compilador de diseño, basado en la teoría de autómatas .
- Pragmática del lenguaje de programación: taxonomía de los lenguajes de programación, sus fortalezas y debilidades. Varios paradigmas de programación , como la programación orientada a objetos .
- Teoría del lenguaje de programación
- Semántica formal : estudio matemático riguroso del significado de los programas.
- Teoría de tipos: análisis formal de los tipos de datos y el uso de estos tipos para comprender las propiedades de los programas, especialmente la seguridad del programa.
Computación científica [ editar ]
- Ciencia computacional : construcción de modelos matemáticos y técnicas de análisis cuantitativo y uso de computadoras para analizar y resolver problemas científicos .
- Análisis numérico: solución numérica aproximada de problemas matemáticos tales como búsqueda de raíces , integración , solución de ecuaciones diferenciales ordinarias ; la aproximación de funciones especiales .
- Computación simbólica : manipulación y solución de expresiones en forma simbólica, también conocida como álgebra informática .
- Física computacional : simulaciones numéricas de grandes sistemas no analíticos
- Química computacional: modelado computacional de la química teórica para determinar estructuras y propiedades químicas.
- Bioinformática y biología computacional : el uso de la informática para mantener, analizar, almacenar datos biológicos y ayudar a resolver problemas biológicos como el plegamiento de proteínas , la predicción de funciones y la filogenia .
- Neurociencia computacional - Modelado computacional de neurofisiología .
Ingeniería de software [ editar ]
Esquema de la ingeniería de software
- Métodos formales : enfoques matemáticos para describir y razonar sobre el diseño de software.
- Ingeniería de software : los principios y la práctica de diseñar, desarrollar y probar programas, así como las prácticas de ingeniería adecuadas.
- Diseño de algoritmos : uso de ideas de la teoría de algoritmos para diseñar creativamente soluciones para tareas reales.
- Programación informática : práctica de utilizar un lenguaje de programación para implementar algoritmos.
- Interacción persona-computadora : estudio y diseño de interfaces de computadora que utilizan las personas.
- Ingeniería inversa : la aplicación del método científico a la comprensión de software existente arbitrario.
Teoría de la computación [ editar ]
- Teoría de los autómatas : diferentes estructuras lógicas para la resolución de problemas.
- Teoría de la computabilidad : lo que se puede calcular con los modelos actuales de computadoras. Las pruebas desarrolladas por Alan Turing y otros brindan información sobre las posibilidades de lo que se puede computar y lo que no.
- Lista de problemas no resueltos en informática
- Teoría de la complejidad computacional : límites fundamentales (especialmente tiempo y espacio de almacenamiento) en clases de cálculos.
- Teoría de la computación cuántica : explora modelos computacionales que involucran la superposición cuántica de bits.
Historia [ editar ]
- History of computer science
- List of pioneers in computer science
Professions[edit]
- Programmer(Software developer)
- Teacher/Professor
- Software engineer
- Software architect
- Software tester
- Hardware engineer
- Data analyst
- Interaction designer
- Network administrator
- Data scientist
Data and data structures[edit]
- Data structure
- Data type
- Associative array and Hash table
- Array
- List
- Tree
- String
- Matrix (computer science)
- Database
Programming paradigms[edit]
- Imperative programming/Procedural programming
- Functional programming
- Logic programming
- Object oriented programming
- Class
- Inheritance
- Object
See also[edit]
- Abstraction
- Big O notation
- Closure
- Compiler
- Cognitive science
External links[edit]
- Outline of computer science at Curlie
- ACM report on a recommended computer science curriculum (2008)
- Directory of free university lectures in Computer Science
- Collection of Computer Science Bibliographies
- Photographs of computer scientists (Bertrand Meyer's gallery)