¿Debe un ingeniero eléctrico saber acerca de las listas vinculadas?

Absolutamente. Esta es una habilidad moderna de ingeniería eléctrica para dominar la lista vinculada, los árboles y otras estructuras de datos avanzadas. Aquí hay algunos ejemplos de mi carrera donde aproveché este conocimiento:

1. Implementación de un algoritmo en software que se ejecuta en procesador ARM integrado en FPGA SoC. A medida que HW y SW se integran más, cada vez es más común que el ingeniero eléctrico desarrolle partes del software.

2. Implementación de algoritmos de procesamiento de video en Matlab. Cosas como administrar listas de enlaces es solo una parte fácil de esos algoritmos.

3. Analizando netlists de chips gigantes, multi-GByte, con Perl.

4. Escribir script de shell que procesa resultados de compilación de chips.

5. Escribir scripts de Python que controlan la simulación funcional de un diseño complejo, desde generar bancos de pruebas hasta procesar resultados

Cualquiera que planee escribir software debe tener una comprensión básica de las estructuras de datos y algoritmos.

Por ejemplo, supongamos que está escribiendo código para realizar un seguimiento de la lectura máxima de un sensor durante un intervalo de tamaño fijo. En un microcontrolador con un procesador débil, es especialmente importante no desperdiciar ciclos de reloj. Si bien la solución menos eficiente puede ser “lo suficientemente buena”, teniendo en cuenta el tiempo de ejecución de un algoritmo le permite escribir código más eficiente.

Solución:
Ventana corredera máxima

Estrictamente hablando: no, en realidad no.
Prácticamente: sí, absolutamente.

Algunas áreas de la ingeniería eléctrica no requieren conocimiento de listas vinculadas. Sin embargo, si realiza alguna programación en su trabajo o estudios cotidianos, sería una buena idea comprender las listas vinculadas. Según mi experiencia, en la actualidad, casi todos los ingenieros realizan cierta cantidad de programación, por lo que recomiendo encarecidamente tener fuertes habilidades de programación y comprensión de la informática, sin importar el tipo de ingeniero que sea.

Soy un ingeniero eléctrico con un gran interés en la informática y actualmente estoy haciendo una rotación de ingeniería de software en mi trabajo. Si bien ya entendí las listas vinculadas antes de esta rotación, hay muchos otros aspectos de la informática en los que busco una comprensión más profunda para mejorar el rendimiento y la productividad de mi trabajo.

Un programador debe hacer que la mayoría de los ingenieros eléctricos que trabajan en electrónica con microprocesadores realicen alguna programación en su carrera, por lo que deben conocer las listas vinculadas y otras estructuras de datos básicas. Ese fue un tema muy temprano en la clase de programación introductoria, si mal no recuerdo.