Ingeniería en computadores
# Ingeniería en computadores

Ingeniería en computadores, ingeniería en computación o ingeniería eléctrica y ciencias de la computación es una rama de ingeniería que integra varios campos de ingeniería electrónica y ciencias de la computación requeridos para desarrollar hardware y software. Los ingenieros en computadores normalmente tienen formación en ingeniería electrónica (o ingeniería eléctrica), diseño de software, y la integración hardware-software en vez de ingeniería electrónica o ingeniería de software por separado. Los ingenieros en computadores participan en muchos aspectos de hardware y software de la informática, desde el diseño de microcontroladores individuales, microprocesadores, computadoras personales y supercomputadoras, hasta el diseño de circuitos.

La formación en ingeniería electrónica integra la teoría y el diseño de hardware electrónico con el conocimiento de circuitos y dispositivos electrónicos, lógica digital, sistemas digitales, microprocesadores, sistemas integrados, organización de hardware y arquitectura de sistemas informáticos.

Este campo de la ingeniería no solo se centra en cómo funcionan los sistemas informáticos en sí, sino también en cómo se integran en el panorama general.

Las tareas habituales que realizan los ingenieros en computadores incluyen escribir software y firmware para microcontroladores integrados, diseñar chips VLSI, diseñar sensores analógicos, diseñar tableros de circuitos y diseñar sistemas operativos. Los ingenieros en computadores también son adecuados para la investigación en robótica, que se basa en gran medida en el uso de sistemas digitales para controlar y monitorear sistemas eléctricos como motores, comunicaciones y sensores.

Tanto los programas de ingeniería en computadores como los de ingeniería electrónica incluyen el diseño de circuitos analógicos y digitales en su plan de estudios. Como ocurre con la mayoría de las disciplinas de la ingeniería, los ingenieros en computadores necesitan un conocimiento sólido de las matemáticas y las ciencias. En algunas instituciones pueden requerir que los estudiantes completen uno o dos años de ingeniería general antes de declarar la ingeniería en computadores como su enfoque principal.

## Historia

La ingeniería en computadores comenzó en 1939 cuando John Vincent Atanasoff y Clifford Berry comenzaron a desarrollar la primera computadora digital electrónica del mundo a través de la física, las matemáticas y la ingeniería eléctrica. John Vincent Atanasoff fue una vez profesor de física y matemáticas en la Universidad Estatal de Iowa y Clifford Berry un ex graduado en ingeniería eléctrica y física. Juntos, crearon la computadora Atanasoff-Berry, también conocida como ABC, que tardó 5 años en completarse. Mientras que el ABC original fue desmantelado y descartado en la década de 1940, se hizo un homenaje a los inventores tardíos, en 1997 se hizo una réplica del ABC, donde un equipo de investigadores e ingenieros tardó cuatro años y 350.000 dólares en construirlo.

La computadora personal moderna surgió en la década de 1970, después de varios avances en la tecnología de semiconductores. Estos incluyen el primer transistor en funcionamiento de William Shockley, John Bardeen y Walter Brattain en Bell Labs en 1947, el proceso de pasivación de la superficie del silicio (vía oxidación térmica ) por Mohamed Atalla en Bell Labs en 1957, el chip de circuito integrado monolítico de Robert Noyce en Fairchild Semiconductoren 1959, el transistor de efecto de campo semiconductor de óxido metálico (MOSFET, o transistor MOS) de Mohamed Atalla y Dawon Kahng en Bell Labs en 1959, y el microprocesador de un solo chip ( Intel 4004 ) por Federico Faggin, Marcian Hoff, Masatoshi Shima y Stanley Mazor en Intel en 1971.

El primer programa de licenciatura en ingeniería en computadores en los Estados Unidos se estableció en 1971 en la Universidad Case Western Reserve en Cleveland, Ohio. A partir de 2015, había 250 programas de ingeniería en computadores acreditados por ABET en los EE.UU. En Europa, la acreditación de las escuelas de ingeniería en computadores la realizan una variedad de agencias que forman parte de la red EQANIE. Debido a los crecientes requisitos laborales para los ingenieros que pueden diseñar simultáneamente hardware, software, firmware y administrar todas las formas de sistemas informáticos utilizados en la industria.

## Áreas de especialidad

### Diseño del procesador

El proceso de diseño del procesador implica elegir un conjunto de instrucciones y un determinado paradigma de ejecución (por ejemplo, VLIW o RISC) y da como resultado una microarquitectura, que podría describirse, por ejemplo, en VHDL o Verilog. El diseño de la CPU se divide en el diseño de los siguientes componentes: rutas de datos (como ALU y tuberías), unidad de control: lógica que controla las rutas de datos, componentes de memoria como archivos de registro, cachés, circuitos de reloj como controladores de reloj, PLL, redes de distribución de reloj, circuitería de transceptor de almohadilla, biblioteca de celdas de puerta lógica que se utiliza para implementar la lógica.

### Comunicaciones y redes inalámbricas

Aquellos que se enfocan en comunicaciones y redes inalámbricas, avances de trabajo en sistemas y redes de telecomunicaciones (especialmente redes inalámbricas), codificación de modulación y control de errores y teoría de la información. El diseño de redes de alta velocidad , la supresión y modulación de interferencias, el diseño y análisis de sistemas tolerantes a fallas y los esquemas de almacenamiento y transmisión son parte de esta especialidad.

### Compiladores y sistemas operativos

Esta especialidad se centra en el diseño y desarrollo de compiladores y sistemas operativos . Los ingenieros en este campo desarrollan una nueva arquitectura de sistema operativo, técnicas de análisis de programas y nuevas técnicas para asegurar la calidad. Entre los ejemplos de trabajo en este campo se incluyen el desarrollo de algoritmos de transformación de código en tiempo de enlace posterior y el desarrollo de nuevos sistemas operativos.

### Sistemas informáticos: arquitectura, procesamiento paralelo y confiabilidad

Los ingenieros que trabajan en sistemas informáticos trabajan en proyectos de investigación que permiten sistemas informáticos fiables, seguros y de alto rendimiento. En este campo se incluyen proyectos como el diseño de procesadores para múltiples subprocesos y procesamiento en paralelo. Otros ejemplos de trabajo en este campo incluyen el desarrollo de nuevas teorías, algoritmos y otras herramientas que agregan rendimiento a los sistemas informáticos.

La arquitectura de la computadora incluye el diseño de la CPU, el diseño de la jerarquía de la caché, la organización de la memoria y el equilibrio de carga.

### Circuitos integrados, diseño de VLSI, pruebas y CAD

Esta especialidad de la ingeniería en computadores requiere un conocimiento adecuado de la electrónica y los sistemas eléctricos. Los ingenieros que trabajan en esta área trabajan para mejorar la velocidad, la confiabilidad y la eficiencia energética de los circuitos y microsistemas integrados a muy gran escala ( VLSI ) de próxima generación. Un ejemplo de esta especialidad es el trabajo realizado para reducir el consumo de energía de los algoritmos y la arquitectura VLSI.

### Redes informáticas, informática móvil y sistemas distribuidos

En esta especialidad, los ingenieros crean entornos integrados para la informática, las comunicaciones y el acceso a la información . Los ejemplos incluyen redes inalámbricas de canal compartido, gestión adaptativa de recursos en varios sistemas y mejora de la calidad del servicio en entornos móviles y ATM. Algunos otros ejemplos incluyen el trabajo en sistemas de red inalámbrica y sistemas cableados de clúster Ethernet rápido.

### Codificación, criptografía y protección de la información

Los ingenieros en computadores trabajan en codificación, criptografía y protección de la información para desarrollar nuevos métodos para proteger información diversa, como imágenes digitales y música, fragmentación, infracción de derechos de autor y otras formas de manipulación. Los ejemplos incluyen el trabajo en comunicaciones inalámbricas, sistemas de múltiples antenas, transmisión óptica y marcas de agua digitales.

### Desarrollo de software embebido

Los ingenieros en computadores que trabajan en esta área tienen como misión desarrollar código optimizado para plataformas de hardware específicas además, tiene en cuenta las limitaciones adicionales relacionadas con el campo de uso del producto final (por ejemplo, el código para la industria aeroespacial no se desarrolla de la misma manera que para la industria multimedia). El software embebido es una clase específica de software de computadora que proporciona el control de bajo nivel para el hardware específico de un dispositivo, está presente en la electrónica de automóviles, teléfonos, módems, robots, electrodomésticos, juguetes, sistemas de seguridad, marcapasos, televisores, decodificadores, relojes digitales,etc. A diferencia de los ingenieros de software, los ingenieros de software embebido trabajan en gran medida con hardware y, a menudo, necesitan desarrollar o configurar un sistema operativo personalizado exclusivo para el hardware y el mapa de memoria del dispositivo. Los ingenieros de software embebido también deben considerar la seguridad. Por ejemplo, el sistema embebido a cargo del sistema de frenos del automóvil no puede fallar.

Los modelos de aprendizaje automático se pueden ejecutar en todo tipo de dispositivos embebidos, desde sistemas embebidos móviles y en red hasta microcontroladores a pequeña escala. La ejecución de modelos de aprendizaje automático en dispositivos embebidos se conoce comúnmente como aprendizaje automático embebido. Este último opera con base en el siguiente principio general: los modelos ML como las redes neuronales se entrenan en clústeres de computación o en la nube, mientras que las operaciones de inferencia y la ejecución de los modelos tienen lugar en los dispositivos embebidos. Contrariamente a la creencia popular, resulta que una vez que se entrena un modelo, las operaciones matriciales de los modelos de aprendizaje profundo se pueden ejecutar de manera efectiva en dispositivos restringidos de CPU (Unidad central de procesamiento) o incluso en microcontroladores pequeños (por ejemplo, de 16 o 32 bits).

### Visión por computadora

En esta especialidad, los ingenieros en computadores se centran en desarrollar tecnología de detección visual para detectar un entorno, representar un entorno y manipular el entorno. El concepto de visión por computadora se fundamenta en enseñar a las computadoras a procesar una imagen a nivel de píxel y comprenderla. La mayoría de los sistemas de visión por computadora se basan en sensores de imagen , que detectan la radiación electromagnética , que generalmente se presenta en forma de luz visible o infrarroja. La información tridimensional recopilada se implementa luego para realizar una variedad de tareas. Estos incluyen modelos humanos mejorados, comunicación de imágenes e interfaces persona-computadora, así como dispositivos como cámaras para propósitos especiales con sensores de visión versátiles. Se utiliza ampliamente en medicina, ejército, defensa y fabricación, etc.

### Procesamiento de señales, imágenes y voz

Los ingenieros en computadores en esta área desarrollan mejoras en la interacción humano-computadora, incluido el reconocimiento y la síntesis de voz , las imágenes médicas y científicas o los sistemas de comunicaciones. Otro trabajo en esta área incluye el desarrollo de la visión por computadora, como el reconocimiento de rasgos faciales humanos .

## Campo Ocupacional

Los ingenieros en computadores trabajan en el diseño de la industria aeroespacial, desarrollan sistemas de control y sistemas de gestión de datos para aeronaves, helicópteros y naves espaciales, los sistemas de navegación, detección y control contemporáneos están totalmente informatizados, los subsistemas como el piloto automático o el tren de aterrizaje hacen un uso extensivo de las computadoras para actuación, detección y conciencia de situación.

La bioingeniería y la ingeniería biomédica han surgido a través de la integración de la ingeniería y las ciencias de la vida, Ingeniería en computadores juega un papel importante en la ingeniería biomédica en las áreas tales como el diseño y control de los dispositivos de diagnóstico, terapéuticos, de monitoreo en línea de los pacientes, implantado dispositivos y mediciones automatizadas.

Los ingenieros en computadores de la industria aeroespacial militar contribuyen al diseño de radares, cohetes, misiles e integran computadoras con sistemas complejos que involucran electrónica, láseres y óptica. Los programas informáticos implementan todas las adquisiciones de imágenes importantes y la mejora de imágenes en imágenes biomédicas modernas utilizando X- rayos, ultrasonidos, tomografía computarizada (TAC) y resonancia magnética.

Los ingenieros en computadores pueden trabajar en los proyectos de investigación que permiten sistemas informáticos confiables, seguros y de alto rendimiento. Los proyectos como el diseño de procesadores para procesamiento en paralelo de múltiples subprocesos se incluyen en este campo. El desarrollo de nuevas teorías, algoritmos y otras herramientas que agregan rendimiento a los sistemas informáticos.

Los desarrollos en curso en los sistemas embebidos contienen vehículos automatizados y el equipo para realizar búsquedas y rescates, sistemas de transporte automatizados y la coordinación humano-robot para reparar el equipo en el espacio.

Los ingenieros en computadores utilizan circuitos integrados, diseño VLSI, pruebas y CAD que requieren un conocimiento adecuado de la electrónica y los sistemas eléctricos. Los ingenieros trabajan para mejorar la velocidad, la confiabilidad y la eficiencia energética del VLSI integrado de próxima generación a gran escala. circuitos y microsistemas, esta especialidad es el trabajo realizado para reducir el consumo de energía de los algoritmos y la arquitectura VLSI.

Los ingenieros en computadores desarrollan las mejoras en la interacción humano-computadora, como reconocimiento y síntesis de voz, imágenes médicas y científicas o sistemas de comunicación. El otro trabajo en esta área contiene el desarrollo de la visión por computadora, como el reconocimiento de las características faciales humanas.

Los ingenieros en computadores trabajan en los sistemas de telecomunicaciones y las redes (especialmente redes inalámbricas), la modulación, la codificación de control de errores y la teoría de la información, diseño de redes de alta velocidad, supresión y modulación de interferencias, diseño y análisis de sistemas tolerantes a fallas, almacenamiento y esquemas de transmisión.

Los ingenieros en computadores trabajan con redes de computadoras, computación móvil y sistemas distribuidos. Construyen entornos integrados para computación, comunicaciones y acceso a la información. Los ejemplos contienen redes inalámbricas de canal compartido, gestión de recursos adaptables en muchos sistemas y mejora de la calidad del servicio en entornos móviles y ATM. Funcionan en sistemas de redes inalámbricas y sistemas cableados de clúster Ethernet rápido.

Los ingenieros de hardware crean y prueban los componentes físicos de los sistemas informáticos, como los circuitos, los chips y las cajas, así omo los periféricos, como los enrutadores, los teclados y las impresoras. Sus desarrollos se utilizan en muchas industrias, incluidas las telecomunicaciones, el entretenimiento y la fabricación de computadoras.

Los ingenieros en computadores están capacitados para resolver los problemas en el hardware, el software, los sistemas y las redes para que los dispositivos, desde una computadora portátil hasta un avión, funcionen correctamente. Obtienen su experiencia única tanto de la ingeniería eléctrica como de las disciplinas informáticas.

Los ingenieros en computadores trabajan en componentes, dispositivos, programas, algoritmos y sistemas que se utilizan en computadoras y en técnicas de cálculo, análisis e implementación que son aplicables a computadoras individuales o sistemas de computadoras. Los ingenieros en computadores están bien versados tanto en hardware y software y proporcionamos soluciones híbridas de forma regular.

Existe un amplio uso de las computadoras en todas las industrias y aplicaciones. Los ingenieros en computadores diseñan circuitos integrados específicos de la aplicación (ASIC) para su uso en teléfonos celulares, diseñan y programan arreglos de puertas programables en campo (FPGA) para sistemas de control en plantas de fabricación y centrales eléctricas.

Los ingenieros en computadores desarrollan los microprocesadores para computadoras personales. Introducen los sistemas integrados en diversas aplicaciones, como los relojes digitales, los reproductores de música portátiles, los sistemas de control de tráfico y los sistemas que controlan las plantas de energía nuclear.

Diseñan grandes sistemas que integran muchos componentes y computadoras. Un ejemplo son las redes computacionales, que recolectan los recursos de cientos, incluso miles de computadoras para realizar cálculos intensivos que están más allá de la capacidad de una sola computadora.

Las cuadrículas de datos también permiten compartir y administrar grandes cantidades de datos distribuidos (como la información de salud de los pacientes en un país por los hospitales, o la información meteorológica y ambiental recopilada por miles de sensores en el océano).

Muchos ingenieros en computadores están involucrados con redes de comunicación que conectan múltiples computadoras, sensores, actuadores y dispositivos de propósito especial. La ingeniería en computadores está entrelazada con el diseño y operación de dispositivos y sensores, por lo que la línea entre la ingeniería en computadores y la ingeniería electrónica es a menudo difícil de definir.

La ingeniería en computadores brinda a la sociedad muchas utilidades críticas. Las computadoras y los ingenieros en computadores tienen un impacto en el bienestar y la seguridad públicos, así como en la salud y la atención médica, el medio ambiente, la calidad de vida, el transporte, el suministro de alimentos, la informática y el ocio.

Los ingenieros en computadores pueden diseñar nuevas arquitecturas y nuevos circuitos informáticos, pueden desarrollar grandes grupos de computadoras interconectadas, trabajar en el diseño de sistemas de comunicación y en todas las variedades principales de sistemas de comunicación, estos contienen radiodifusión, telefonía (teléfonos fijos y telefonía celular), terrestre y comunicación por satélite, redes y comunicación a través de Internet.

Pueden diseñar e implementar las redes de computadoras.

Pueden desarrollar dispositivos portátiles de comunicación y reproductores multimedia (por ejemplo, moras, iPods y iPhones). Los sistemas de comunicación grandes y pequeños están controlados por computadoras.

La mayoría de los desarrolladores de juegos de computadora contratan ingenieros en computadores para diseñar tanto hardware (por ejemplo, estaciones de juegos) como software. La industria bancaria y financiera ofrece muchas posiciones tanto en análisis y pronóstico como en áreas relacionadas con la computadora.

